17 #ifndef __CU_OBSTACLE_H__
18 #define __CU_OBSTACLE_H__
20 #include <Box2D/Dynamics/b2Body.h>
21 #include <Box2D/Dynamics/b2Fixture.h>
24 #include "CUWireNode.h"
49 CC_DISALLOW_COPY_AND_ASSIGN(
Obstacle);
72 #pragma mark Scene Graph Internals
89 virtual void positionSceneNode();
116 virtual void positionDebugNode();
128 #pragma mark BodyDef Methods
150 virtual void setBodyType(b2BodyType value) { _bodyinfo.type = value; }
161 virtual Vec2
getPosition()
const {
return Vec2(_bodyinfo.position.x,_bodyinfo.position.y); }
179 virtual void setPosition(
float x,
float y) { _bodyinfo.position.Set(x,y); }
186 virtual float getX()
const {
return _bodyinfo.position.x; }
193 virtual void setX(
float value) { _bodyinfo.position.x = value; }
200 virtual float getY()
const {
return _bodyinfo.position.y; }
207 virtual void setY(
float value) { _bodyinfo.position.y = value; }
216 virtual float getAngle()
const {
return _bodyinfo.angle; }
223 virtual void setAngle(
float value) { _bodyinfo.angle = value; }
235 return Vec2(_bodyinfo.linearVelocity.x,_bodyinfo.linearVelocity.y);
261 virtual float getVX()
const {
return _bodyinfo.linearVelocity.x; }
268 virtual void setVX(
float value) { _bodyinfo.linearVelocity.x = value; }
275 virtual float getVY()
const {
return _bodyinfo.linearVelocity.y; }
282 virtual void setVY(
float value) { _bodyinfo.linearVelocity.y = value; }
310 virtual bool isActive()
const {
return _bodyinfo.active; }
322 virtual void setActive(
bool value) { _bodyinfo.active = value; }
334 virtual bool isAwake()
const {
return _bodyinfo.awake; }
346 virtual void setAwake(
bool value) { _bodyinfo.awake = value; }
388 virtual bool isBullet()
const {
return _bodyinfo.bullet; }
406 virtual void setBullet(
bool value) { _bodyinfo.bullet = value; }
512 void setBodyState(
const b2Body& body);
515 #pragma mark FixtureDef Methods
536 virtual void setDensity(
float value) { _fixture.density = value; }
562 virtual void setFriction(
float value) { _fixture.friction = value; }
599 bool isSensor()
const {
return _fixture.isSensor; }
610 virtual void setSensor(
bool value) { _fixture.isSensor = value; }
642 #pragma mark MassData Methods
652 virtual Vec2
getCentroid()
const {
return Vec2(_massdata.center.x,_massdata.center.y); }
670 virtual void setCentroid(
float x,
float y);
690 virtual void setInertia(
float value);
699 virtual float getMass()
const {
return _massdata.mass; }
708 virtual void setMass(
float value);
717 #pragma mark Garbage Collection
762 #pragma mark Scene Graph Methods
804 virtual void setDrawScale(
float x,
float y);
829 void setSceneNode(Node* node);
866 #pragma mark Physics Methods
875 virtual b2Body*
getBody()
const {
return nullptr; }
914 #pragma mark Debugging Methods
942 string toString()
const;
955 friend ostream& operator<<(ostream& os,
const Obstacle& obj);
959 #pragma mark Initializers
960 CC_CONSTRUCTOR_ACCESS:
991 virtual bool init(
const Vec2& vec);
virtual void setBodyType(b2BodyType value)
Definition: CUObstacle.h:150
virtual float getAngularDamping() const
Definition: CUObstacle.h:489
b2Filter getFilterData() const
Definition: CUObstacle.h:623
virtual float getY() const
Definition: CUObstacle.h:200
virtual b2Body * getBody() const
Definition: CUObstacle.h:875
virtual bool isBullet() const
Definition: CUObstacle.h:388
virtual float getAngularVelocity() const
Definition: CUObstacle.h:291
virtual void setPosition(float x, float y)
Definition: CUObstacle.h:179
virtual void setPosition(const Vec2 &value)
Definition: CUObstacle.h:171
virtual void setAwake(bool value)
Definition: CUObstacle.h:346
virtual void setFriction(float value)
Definition: CUObstacle.h:562
virtual void resetSceneNode()
Definition: CUObstacle.h:79
virtual void setLinearDamping(float value)
Definition: CUObstacle.h:474
virtual void setX(float value)
Definition: CUObstacle.h:193
virtual void setVX(float value)
Definition: CUObstacle.h:268
virtual void setFilterData(b2Filter value)
Definition: CUObstacle.h:638
virtual bool isAwake() const
Definition: CUObstacle.h:334
string _tag
Definition: CUObstacle.h:68
virtual float getGravityScale() const
Definition: CUObstacle.h:434
bool isDirty() const
Definition: CUObstacle.h:747
b2FixtureDef _fixture
Definition: CUObstacle.h:55
virtual void resetMass()
Definition: CUObstacle.h:713
virtual bool isActive() const
Definition: CUObstacle.h:310
virtual void setLinearVelocity(float x, float y)
Definition: CUObstacle.h:254
virtual void setSensor(bool value)
Definition: CUObstacle.h:610
virtual void setGravityScale(float value)
Definition: CUObstacle.h:444
virtual Vec2 getCentroid() const
Definition: CUObstacle.h:652
virtual void setCentroid(const Vec2 &value)
Definition: CUObstacle.h:662
virtual float getAngle() const
Definition: CUObstacle.h:216
Node * getSceneNode() const
Definition: CUObstacle.h:815
WireNode * getDebugNode() const
Definition: CUObstacle.h:844
Vec2 _drawScale
Definition: CUObstacle.h:59
virtual float getX() const
Definition: CUObstacle.h:186
virtual void setLinearVelocity(const Vec2 &value)
Definition: CUObstacle.h:246
virtual float getInertia() const
Definition: CUObstacle.h:680
Definition: CUWireNode.h:75
virtual float getMass() const
Definition: CUObstacle.h:699
virtual bool isFixedRotation() const
Definition: CUObstacle.h:415
void markRemoved(bool value)
Definition: CUObstacle.h:736
virtual void resetDebugNode()
Definition: CUObstacle.h:106
virtual bool init()
Definition: CUObstacle.h:982
virtual void setAngularDamping(float value)
Definition: CUObstacle.h:504
virtual b2BodyType getBodyType() const
Definition: CUObstacle.h:139
void markDirty(bool value)
Definition: CUObstacle.h:758
bool isRemoved() const
Definition: CUObstacle.h:726
virtual void deactivatePhysics(b2World &world)
Definition: CUObstacle.h:895
virtual bool isSleepingAllowed() const
Definition: CUObstacle.h:358
virtual bool activatePhysics(b2World &world)
Definition: CUObstacle.h:887
virtual void setDensity(float value)
Definition: CUObstacle.h:536
void setName(string value)
Definition: CUObstacle.h:931
float getFriction() const
Definition: CUObstacle.h:549
virtual void setFixedRotation(bool value)
Definition: CUObstacle.h:424
float getRestitution() const
Definition: CUObstacle.h:575
virtual float getVX() const
Definition: CUObstacle.h:261
virtual Vec2 getLinearVelocity() const
Definition: CUObstacle.h:234
virtual float getLinearDamping() const
Definition: CUObstacle.h:459
Definition: CUObstacle.h:46
virtual void update(float delta)
Definition: CUObstacle.h:910
string getName() const
Definition: CUObstacle.h:922
virtual Vec2 getPosition() const
Definition: CUObstacle.h:161
virtual void setVY(float value)
Definition: CUObstacle.h:282
virtual void setDrawScale(const Vec2 &value)
Definition: CUObstacle.h:789
Node * _node
Definition: CUObstacle.h:64
const Vec2 & getDrawScale() const
Definition: CUObstacle.h:775
float getDensity() const
Definition: CUObstacle.h:525
virtual float getVY() const
Definition: CUObstacle.h:275
virtual void setRestitution(float value)
Definition: CUObstacle.h:588
WireNode * _debug
Definition: CUObstacle.h:66
virtual void setAngle(float value)
Definition: CUObstacle.h:223
b2MassData _massdata
Definition: CUObstacle.h:57
virtual void setActive(bool value)
Definition: CUObstacle.h:322
virtual void setY(float value)
Definition: CUObstacle.h:207
bool _masseffect
Definition: CUObstacle.h:61
b2BodyDef _bodyinfo
Definition: CUObstacle.h:53
virtual void setSleepingAllowed(bool value)
Definition: CUObstacle.h:370
bool isSensor() const
Definition: CUObstacle.h:599
virtual void setBullet(bool value)
Definition: CUObstacle.h:406
virtual void setAngularVelocity(float value)
Definition: CUObstacle.h:298