Use Box2D's callbacks for destruction of physics objects and wait until the end of the timestep before destroying them.

Merge of box2d-id2 from love-experiments
This commit is contained in:
Bart van Strien
2012-01-08 13:16:50 +01:00
parent 9629e5b233
commit c1f68e058d
34 changed files with 340 additions and 118 deletions
+15 -7
View File
@@ -78,6 +78,12 @@ namespace box2d
virtual ~Joint();
/**
* Returns true if the joint is active in a Box2D world.
**/
bool isValid() const;
/**
* Gets the type of joint.
**/
@@ -103,25 +109,27 @@ namespace box2d
bool getCollideConnected() const;
protected:
/**
* Joints require pointers to a Box2D joint objects at
* different polymorphic levels, which is why these function
* were created.
**/
/**
* Destroys the joint. This function was created just to
* get some cinsistency.
**/
void destroyJoint(bool implicit = false);
protected:
/**
* Creates a Joint, and ensures that the parent class
* gets a copy of the pointer.
**/
b2Joint * createJoint(b2JointDef * def);
/**
* Destroys the joint. This function was created just to
* get some cinsistency.
**/
void destroyJoint(b2Joint * joint);
};
} // box2d