b2World Class Reference

#include <b2World.h>

List of all members.

Public Member Functions

 b2World (const b2Vec2 &gravity, bool doSleep)
 ~b2World ()
 Destruct the world. All physics entities are destroyed and all heap memory is released.
void SetDestructionListener (b2DestructionListener *listener)
void SetContactFilter (b2ContactFilter *filter)
void SetContactListener (b2ContactListener *listener)
void SetDebugDraw (b2DebugDraw *debugDraw)
b2BodyCreateBody (const b2BodyDef *def)
void DestroyBody (b2Body *body)
b2JointCreateJoint (const b2JointDef *def)
void DestroyJoint (b2Joint *joint)
void Step (float32 timeStep, int32 velocityIterations, int32 positionIterations)
void ClearForces ()
void DrawDebugData ()
 Call this to draw shapes and other debug draw data.
void QueryAABB (b2QueryCallback *callback, const b2AABB &aabb) const
void RayCast (b2RayCastCallback *callback, const b2Vec2 &point1, const b2Vec2 &point2) const
b2BodyGetBodyList ()
b2JointGetJointList ()
b2ContactGetContactList ()
void SetWarmStarting (bool flag)
 Enable/disable warm starting. For testing.
void SetContinuousPhysics (bool flag)
 Enable/disable continuous physics. For testing.
int32 GetProxyCount () const
 Get the number of broad-phase proxies.
int32 GetBodyCount () const
 Get the number of bodies.
int32 GetJointCount () const
 Get the number of joints.
int32 GetContactCount () const
 Get the number of contacts (each may have 0 or more contact points).
void SetGravity (const b2Vec2 &gravity)
 Change the global gravity vector.
b2Vec2 GetGravity () const
 Get the global gravity vector.
bool IsLocked () const
 Is the world locked (in the middle of a time step).
void SetAutoClearForces (bool flag)
 Set flag to control automatic clearing of forces after each time step.
bool GetAutoClearForces () const
 Get the flag that controls automatic clearing of forces after each time step.

Friends

class b2Body
class b2ContactManager
class b2Controller

Detailed Description

The world class manages all physics entities, dynamic simulation, and asynchronous queries. The world also contains efficient memory management facilities.


Constructor & Destructor Documentation

b2World::b2World ( const b2Vec2 gravity,
bool  doSleep 
)

Construct a world object.

Parameters:
gravity the world gravity vector.
doSleep improve performance by not simulating inactive bodies.
b2World::~b2World (  ) 

Destruct the world. All physics entities are destroyed and all heap memory is released.


Member Function Documentation

void b2World::ClearForces (  ) 

Call this after you are done with time steps to clear the forces. You normally call this after each call to Step, unless you are performing sub-steps. By default, forces will be automatically cleared, so you don't need to call this function.

See also:
SetAutoClearForces
b2Body * b2World::CreateBody ( const b2BodyDef def  ) 

Create a rigid body given a definition. No reference to the definition is retained.

Warning:
This function is locked during callbacks.
b2Joint * b2World::CreateJoint ( const b2JointDef def  ) 

Create a joint to constrain bodies together. No reference to the definition is retained. This may cause the connected bodies to cease colliding.

Warning:
This function is locked during callbacks.
void b2World::DestroyBody ( b2Body body  ) 

Destroy a rigid body given a definition. No reference to the definition is retained. This function is locked during callbacks.

Warning:
This automatically deletes all associated shapes and joints.
This function is locked during callbacks.
void b2World::DestroyJoint ( b2Joint joint  ) 

Destroy a joint. This may cause the connected bodies to begin colliding.

Warning:
This function is locked during callbacks.
void b2World::DrawDebugData (  ) 

Call this to draw shapes and other debug draw data.

bool b2World::GetAutoClearForces (  )  const [inline]

Get the flag that controls automatic clearing of forces after each time step.

int32 b2World::GetBodyCount (  )  const [inline]

Get the number of bodies.

b2Body * b2World::GetBodyList (  )  [inline]

Get the world body list. With the returned body, use b2Body::GetNext to get the next body in the world list. A NULL body indicates the end of the list.

Returns:
the head of the world body list.
int32 b2World::GetContactCount (  )  const [inline]

Get the number of contacts (each may have 0 or more contact points).

b2Contact * b2World::GetContactList (  )  [inline]

Get the world contact list. With the returned contact, use b2Contact::GetNext to get the next contact in the world list. A NULL contact indicates the end of the list.

Returns:
the head of the world contact list.
Warning:
contacts are
b2Vec2 b2World::GetGravity (  )  const [inline]

Get the global gravity vector.

int32 b2World::GetJointCount (  )  const [inline]

Get the number of joints.

b2Joint * b2World::GetJointList (  )  [inline]

Get the world joint list. With the returned joint, use b2Joint::GetNext to get the next joint in the world list. A NULL joint indicates the end of the list.

Returns:
the head of the world joint list.
int32 b2World::GetProxyCount (  )  const

Get the number of broad-phase proxies.

bool b2World::IsLocked (  )  const [inline]

Is the world locked (in the middle of a time step).

void b2World::QueryAABB ( b2QueryCallback callback,
const b2AABB aabb 
) const

Query the world for all fixtures that potentially overlap the provided AABB.

Parameters:
callback a user implemented callback class.
aabb the query box.
void b2World::RayCast ( b2RayCastCallback callback,
const b2Vec2 point1,
const b2Vec2 point2 
) const

Ray-cast the world for all fixtures in the path of the ray. Your callback controls whether you get the closest point, any point, or n-points. The ray-cast ignores shapes that contain the starting point.

Parameters:
callback a user implemented callback class.
point1 the ray starting point
point2 the ray ending point
void b2World::SetAutoClearForces ( bool  flag  )  [inline]

Set flag to control automatic clearing of forces after each time step.

void b2World::SetContactFilter ( b2ContactFilter filter  ) 

Register a contact filter to provide specific control over collision. Otherwise the default filter is used (b2_defaultFilter). The listener is owned by you and must remain in scope.

void b2World::SetContactListener ( b2ContactListener listener  ) 

Register a contact event listener. The listener is owned by you and must remain in scope.

void b2World::SetContinuousPhysics ( bool  flag  )  [inline]

Enable/disable continuous physics. For testing.

void b2World::SetDebugDraw ( b2DebugDraw debugDraw  ) 

Register a routine for debug drawing. The debug draw functions are called inside with b2World::DrawDebugData method. The debug draw object is owned by you and must remain in scope.

void b2World::SetDestructionListener ( b2DestructionListener listener  ) 

Register a destruction listener. The listener is owned by you and must remain in scope.

void b2World::SetGravity ( const b2Vec2 gravity  )  [inline]

Change the global gravity vector.

void b2World::SetWarmStarting ( bool  flag  )  [inline]

Enable/disable warm starting. For testing.

void b2World::Step ( float32  timeStep,
int32  velocityIterations,
int32  positionIterations 
)

Take a time step. This performs collision detection, integration, and constraint solution.

Parameters:
timeStep the amount of time to simulate, this should not vary.
velocityIterations for the velocity constraint solver.
positionIterations for the position constraint solver.

Friends And Related Function Documentation

friend class b2Body [friend]
friend class b2ContactManager [friend]
friend class b2Controller [friend]

The documentation for this class was generated from the following files:
Generated on Sat Apr 3 18:18:09 2010 for Box2D by  doxygen 1.6.3