|  | 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