 |
CUGL 1.3
Cornell University Game Library
|
48 #ifndef __CC_COMPLEX_OBSTACLE_H__
49 #define __CC_COMPLEX_OBSTACLE_H__
51 #include <Box2D/Dynamics/Joints/b2Joint.h>
52 #include "CUObstacle.h"
58 #pragma mark Complex Obstacle
90 std::vector<std::shared_ptr<Obstacle>>
_bodies;
95 #pragma mark Scene Graph Internals
115 #pragma mark Constructors
139 #pragma mark BodyDef Methods
168 if (
_body !=
nullptr) {
169 _body->SetType(value);
187 if (
_body !=
nullptr) {
216 if (
_body !=
nullptr) {
217 _body->SetTransform(b2Vec2(x,y),
_body->GetAngle());
230 virtual float getX()
const override {
244 virtual void setX(
float value)
override {
245 if (
_body !=
nullptr) {
246 _body->SetTransform(b2Vec2(value,
_body->GetPosition().y),
_body->GetAngle());
259 virtual float getY()
const override {
273 virtual void setY(
float value)
override {
274 if (
_body !=
nullptr) {
275 _body->SetTransform(b2Vec2(
_body->GetPosition().x,value),
_body->GetAngle());
304 if (
_body !=
nullptr) {
305 _body->SetTransform(
_body->GetPosition(),value);
323 if (
_body !=
nullptr) {
324 return Vec2(
_body->GetLinearVelocity().x,
_body->GetLinearVelocity().y);
352 if (
_body !=
nullptr) {
353 _body->SetLinearVelocity(b2Vec2(x,y));
366 virtual float getVX()
const override {
367 if (
_body !=
nullptr) {
368 return _body->GetLinearVelocity().x;
384 virtual void setVX(
float value)
override {
385 if (
_body !=
nullptr) {
386 _body->SetLinearVelocity(b2Vec2(value,
_body->GetLinearVelocity().y));
397 virtual float getVY()
const override {
398 if (
_body !=
nullptr) {
399 return _body->GetLinearVelocity().y;
415 virtual void setVY(
float value)
override {
416 if (
_body !=
nullptr) {
417 _body->SetLinearVelocity(b2Vec2(value,
_body->GetLinearVelocity().y));
446 if (
_body !=
nullptr) {
447 _body->SetAngularVelocity(value);
485 if (
_body !=
nullptr) {
486 _body->SetActive(value);
524 if (
_body !=
nullptr) {
525 _body->SetAwake(value);
563 if (
_body !=
nullptr) {
564 _body->SetSleepingAllowed(value);
615 if (
_body !=
nullptr) {
616 _body->SetBullet(value);
646 if (
_body !=
nullptr) {
647 _body->SetFixedRotation(value);
681 if (
_body !=
nullptr) {
682 _body->SetGravityScale(value);
726 if (
_body !=
nullptr) {
727 _body->SetLinearDamping(value);
771 if (
_body !=
nullptr) {
772 _body->SetAngularDamping(value);
780 #pragma mark FixtureDef Methods
793 virtual void setDensity(
float value)
override;
839 virtual void setSensor(
bool value)
override;
860 #pragma mark MassData Methods
875 if (
_body !=
nullptr) {
905 if (
_body !=
nullptr) {
940 if (
_body !=
nullptr) {
969 if (
_body !=
nullptr) {
983 if (
_body !=
nullptr) {
984 _body->ResetMassData();
989 #pragma mark Physics Methods
1082 virtual void update(
float delta)
override;
1086 #pragma mark Scene Graph Methods
1124 virtual void setDebugScene(
const std::shared_ptr<Node>& node)
override;
virtual void setRestitution(float value) override
virtual void setInertia(float value) override
Definition: CUComplexObstacle.h:938
b2Body * _body
Definition: CUComplexObstacle.h:88
virtual void setDensity(float value) override
virtual void resetMass()
Definition: CUObstacle.h:766
virtual void setSensor(bool value) override
virtual bool isAwake() const override
Definition: CUComplexObstacle.h:506
virtual void setDebugColor(Color4 color) override
virtual void setVX(float value) override
Definition: CUComplexObstacle.h:384
virtual bool activatePhysics(b2World &world) override
virtual void setFilterData(b2Filter value) override
virtual b2BodyType getBodyType() const override
Definition: CUComplexObstacle.h:151
ComplexObstacle()
Definition: CUComplexObstacle.h:124
virtual void setDebugScene(const std::shared_ptr< Node > &node) override
virtual void setCentroid(float x, float y) override
Definition: CUComplexObstacle.h:903
virtual void setSleepingAllowed(bool value) override
Definition: CUComplexObstacle.h:562
virtual void setMass(float value) override
Definition: CUComplexObstacle.h:967
virtual void setLinearVelocity(const Vec2 &value) override
Definition: CUComplexObstacle.h:338
Definition: CUColor4.h:1084
virtual bool isFixedRotation() const override
Definition: CUComplexObstacle.h:631
Definition: CUComplexObstacle.h:85
virtual void setActive(bool value) override
Definition: CUComplexObstacle.h:484
virtual void setBullet(bool value) override
Definition: CUComplexObstacle.h:614
virtual Vec2 getCentroid() const override
Definition: CUComplexObstacle.h:874
float x
Definition: CUVec2.h:66
virtual b2Body * getBody() override
Definition: CUComplexObstacle.h:998
virtual float getVY() const override
Definition: CUComplexObstacle.h:397
virtual float getAngularVelocity() const override
Definition: CUComplexObstacle.h:431
virtual void setLinearVelocity(float x, float y) override
Definition: CUComplexObstacle.h:351
const std::vector< b2Joint * > & getJoints()
Definition: CUComplexObstacle.h:1018
virtual Vec2 getLinearVelocity() const override
Definition: CUComplexObstacle.h:322
virtual float getMass() const override
Definition: CUComplexObstacle.h:954
virtual void setAwake(bool value) override
Definition: CUComplexObstacle.h:523
virtual void setAngularVelocity(float value) override
Definition: CUComplexObstacle.h:445
virtual void setX(float value) override
Definition: CUComplexObstacle.h:244
virtual void updateDebug() override
virtual float getAngularDamping() const override
Definition: CUComplexObstacle.h:750
virtual float getLinearDamping() const override
Definition: CUComplexObstacle.h:705
virtual void setGravityScale(float value) override
Definition: CUComplexObstacle.h:680
std::vector< std::shared_ptr< Obstacle > > _bodies
Definition: CUComplexObstacle.h:90
virtual void setPosition(float x, float y) override
Definition: CUComplexObstacle.h:215
virtual void setPosition(const Vec2 &value) override
Definition: CUComplexObstacle.h:202
const std::vector< std::shared_ptr< Obstacle > > & getBodies()
Definition: CUComplexObstacle.h:1008
virtual void setFriction(float value) override
float y
Definition: CUVec2.h:68
virtual void resetMass() override
Definition: CUComplexObstacle.h:981
virtual float getAngle() const override
Definition: CUComplexObstacle.h:289
virtual void setCentroid(const Vec2 &value)
Definition: CUObstacle.h:715
virtual void setLinearDamping(float value) override
Definition: CUComplexObstacle.h:725
virtual float getInertia() const override
Definition: CUComplexObstacle.h:922
virtual float getY() const override
Definition: CUComplexObstacle.h:259
virtual float getGravityScale() const override
Definition: CUComplexObstacle.h:665
virtual void setY(float value) override
Definition: CUComplexObstacle.h:273
Definition: CUObstacle.h:76
virtual void setVY(float value) override
Definition: CUComplexObstacle.h:415
virtual bool isActive() const override
Definition: CUComplexObstacle.h:467
b2BodyDef _bodyinfo
Definition: CUObstacle.h:79
virtual void setAngularDamping(float value) override
Definition: CUComplexObstacle.h:770
virtual void setBodyType(b2BodyType value) override
Definition: CUComplexObstacle.h:167
std::vector< b2Joint * > _joints
Definition: CUComplexObstacle.h:92
virtual void setCentroid(const Vec2 &value) override
Definition: CUComplexObstacle.h:890
virtual void setFixedRotation(bool value) override
Definition: CUComplexObstacle.h:645
virtual void update(float delta) override
virtual void setMass(float value)
virtual bool createJoints(b2World &world)
Definition: CUComplexObstacle.h:1070
virtual void deactivatePhysics(b2World &world) override
virtual void resetDebug() override
virtual float getVX() const override
Definition: CUComplexObstacle.h:366
virtual void createFixtures()
Definition: CUComplexObstacle.h:1049
virtual bool isBullet() const override
Definition: CUComplexObstacle.h:591
virtual void setInertia(float value)
b2MassData _massdata
Definition: CUObstacle.h:83
virtual bool isSleepingAllowed() const override
Definition: CUComplexObstacle.h:545
virtual ~ComplexObstacle()
virtual void releaseFixtures()
Definition: CUComplexObstacle.h:1058
virtual void setAngle(float value) override
Definition: CUComplexObstacle.h:303
virtual Vec2 getPosition() const override
Definition: CUComplexObstacle.h:186
virtual float getX() const override
Definition: CUComplexObstacle.h:230