An PhysicsWorld object simulates collisions and other physical properties. More...
Public Member Functions | |
virtual void | addJoint (PhysicsJoint *joint) |
Adds a joint to this physics world. More... | |
var | addJoint ( var joint) |
Adds a joint to this physics world. More... | |
local | addJoint ( local joint) |
Adds a joint to this physics world. More... | |
virtual void | removeJoint (PhysicsJoint *joint, bool destroy=true) |
Remove a joint from this physics world. More... | |
local | removeJoint ( local joint, local true) |
Remove a joint from this physics world. More... | |
virtual void | removeAllJoints (bool destroy=true) |
Remove all joints from this physics world. More... | |
virtual void | removeBody (PhysicsBody *body) |
Remove a body from this physics world. More... | |
var | removeBody ( var body) |
Remove a body from this physics world. More... | |
local | removeBody ( local body) |
Remove a body from this physics world. More... | |
virtual void | removeBody (int tag) |
Remove body by tag. More... | |
virtual void | removeAllBodies () |
Remove all bodies from physics world. More... | |
void | rayCast (PhysicsRayCastCallbackFunc func, const Vec2 &start, const Vec2 &end, void *data) |
Searches for physics shapes that intersects the ray. More... | |
void | queryRect (PhysicsQueryRectCallbackFunc func, const Rect &rect, void *data) |
Searches for physics shapes that contains in the rect. More... | |
void | queryPoint (PhysicsQueryPointCallbackFunc func, const Vec2 &point, void *data) |
Searches for physics shapes that contains the point. More... | |
Vector< PhysicsShape * > | getShapes (const Vec2 &point) const |
Get phsyics shapes that contains the point. More... | |
PhysicsShape * | getShape (const Vec2 &point) const |
Get the nearest phsyics shape that contains the point. More... | |
const Vector< PhysicsBody * > & | getAllBodies () const |
Get all the bodys that in this physics world. More... | |
PhysicsBody * | getBody (int tag) const |
Get a body by tag. More... | |
local | getBody ( local tag) |
Get a body by tag. More... | |
Scene & | getScene () const |
Get a scene contain this physics world. More... | |
Vec2 | getGravity () const |
Get the gravity value of this physics world. More... | |
void | setGravity (const Vec2 &gravity) |
set the gravity value of this physics world. More... | |
void | setSpeed (float speed) |
Set the speed of this physics world. More... | |
float | getSpeed () |
Get the speed of this physics world. More... | |
void | setUpdateRate (int rate) |
Set the update rate of this physics world. More... | |
int | getUpdateRate () |
Get the update rate of this physics world. More... | |
void | setSubsteps (int steps) |
set the number of substeps in an update of the physics world. More... | |
int | getSubsteps () const |
Get the number of substeps of this physics world. More... | |
void | setDebugDrawMask (int mask) |
Set the debug draw mask of this physics world. More... | |
int | getDebugDrawMask () |
Get the bebug draw mask. More... | |
void | setAutoStep (bool autoStep) |
To control the step of physics. More... | |
bool | isAutoStep () |
Get the auto step of this physics world. More... | |
void | step (float delta) |
The step for physics world. More... | |
Static Public Attributes | |
static const int | DEBUGDRAW_NONE |
draw nothing | |
static const int | DEBUGDRAW_SHAPE |
draw shapes | |
var | DEBUGDRAW_SHAPE |
draw shapes | |
local | DEBUGDRAW_SHAPE |
draw shapes | |
static const int | DEBUGDRAW_JOINT |
draw joints | |
var | DEBUGDRAW_JOINT |
draw joints | |
local | DEBUGDRAW_JOINT |
draw joints | |
static const int | DEBUGDRAW_CONTACT |
draw contact | |
var | DEBUGDRAW_CONTACT |
draw contact | |
local | DEBUGDRAW_CONTACT |
draw contact | |
static const int | DEBUGDRAW_ALL |
draw all | |
An PhysicsWorld object simulates collisions and other physical properties.
You do not create PhysicsWorld objects directly; instead, you can get it from an Scene object.
|
virtual |
Adds a joint to this physics world.
This joint will be added to this physics world at next frame. If this joint is already added to another physics world, it will be removed from that world first and then add to this world. A pointer to an existing PhysicsJoint object.
|
virtual |
Adds a joint to this physics world.
This joint will be added to this physics world at next frame. If this joint is already added to another physics world, it will be removed from that world first and then add to this world. A pointer to an existing PhysicsJoint object.
|
virtual |
Adds a joint to this physics world.
This joint will be added to this physics world at next frame. If this joint is already added to another physics world, it will be removed from that world first and then add to this world. A pointer to an existing PhysicsJoint object.
|
virtual |
Remove a joint from this physics world.
If this world is not locked, the joint is removed immediately, otherwise at next frame. If this joint is connected with a body, it will be removed from the body also. A pointer to an existing PhysicsJoint object. true this joint will be destroyed after remove from this world, false otherwise.
|
virtual |
Remove a joint from this physics world.
If this world is not locked, the joint is removed immediately, otherwise at next frame. If this joint is connected with a body, it will be removed from the body also. A pointer to an existing PhysicsJoint object. true this joint will be destroyed after remove from this world, false otherwise.
|
virtual |
Remove a joint from this physics world.
If this world is not locked, the joint is removed immediately, otherwise at next frame. If this joint is connected with a body, it will be removed from the body also. A pointer to an existing PhysicsJoint object. true this joint will be destroyed after remove from this world, false otherwise.
|
virtual |
Remove all joints from this physics world.
This function is invoked in the destructor of this physics world, you do not use this api in common. true all joints will be destroyed after remove from this world, false otherwise.
|
virtual |
Remove all joints from this physics world.
This function is invoked in the destructor of this physics world, you do not use this api in common. true all joints will be destroyed after remove from this world, false otherwise.
|
virtual |
Remove all joints from this physics world.
This function is invoked in the destructor of this physics world, you do not use this api in common. true all joints will be destroyed after remove from this world, false otherwise.
|
virtual |
Remove a body from this physics world.
If this world is not locked, the body is removed immediately, otherwise at next frame. If this body has joints, those joints will be removed also. A pointer to an existing PhysicsBody object.
|
virtual |
Remove a body from this physics world.
If this world is not locked, the body is removed immediately, otherwise at next frame. If this body has joints, those joints will be removed also. A pointer to an existing PhysicsBody object.
|
virtual |
Remove a body from this physics world.
If this world is not locked, the body is removed immediately, otherwise at next frame. If this body has joints, those joints will be removed also. A pointer to an existing PhysicsBody object.
|
virtual |
Remove body by tag.
If this world is not locked, the object is removed immediately, otherwise at next frame. If this body has joints, those joints will be removed also. An interger number that identifies a PhysicsBody object.
|
virtual |
Remove body by tag.
If this world is not locked, the object is removed immediately, otherwise at next frame. If this body has joints, those joints will be removed also. An interger number that identifies a PhysicsBody object.
|
virtual |
Remove body by tag.
If this world is not locked, the object is removed immediately, otherwise at next frame. If this body has joints, those joints will be removed also. An interger number that identifies a PhysicsBody object.
|
virtual |
Remove all bodies from physics world.
If this world is not locked, those body are removed immediately, otherwise at next frame.
|
virtual |
Remove all bodies from physics world.
If this world is not locked, those body are removed immediately, otherwise at next frame.
|
virtual |
Remove all bodies from physics world.
If this world is not locked, those body are removed immediately, otherwise at next frame.
Searches for physics shapes that intersects the ray.
Query this physics world along the line segment from start to end. Func is called for each shape found. A Vec2 object contains the begin position of the ray. A Vec2 object contains the end position of the ray. User defined data, it is passed to func.
var rayCast | ( | var | func, |
var | start, | ||
var | end, | ||
var | data | ||
) |
Searches for physics shapes that intersects the ray.
Query this physics world along the line segment from start to end. Func is called for each shape found. A Vec2 object contains the begin position of the ray. A Vec2 object contains the end position of the ray. User defined data, it is passed to func.
local rayCast | ( | local | func, |
local | start, | ||
local | end, | ||
local | data | ||
) |
Searches for physics shapes that intersects the ray.
Query this physics world along the line segment from start to end. Func is called for each shape found. A Vec2 object contains the begin position of the ray. A Vec2 object contains the end position of the ray. User defined data, it is passed to func.
void queryRect | ( | PhysicsQueryRectCallbackFunc | func, |
const Rect & | rect, | ||
void * | data | ||
) |
Searches for physics shapes that contains in the rect.
Query this physics world to find all shapes overlap rect. Func is called for each shape whose bounding box overlaps rect. A Rect object contains a rectangle's x, y, width and height. User defined data, it is passed to func.
var queryRect | ( | var | func, |
var | rect, | ||
var | data | ||
) |
Searches for physics shapes that contains in the rect.
Query this physics world to find all shapes overlap rect. Func is called for each shape whose bounding box overlaps rect. A Rect object contains a rectangle's x, y, width and height. User defined data, it is passed to func.
local queryRect | ( | local | func, |
local | rect, | ||
local | data | ||
) |
Searches for physics shapes that contains in the rect.
Query this physics world to find all shapes overlap rect. Func is called for each shape whose bounding box overlaps rect. A Rect object contains a rectangle's x, y, width and height. User defined data, it is passed to func.
void queryPoint | ( | PhysicsQueryPointCallbackFunc | func, |
const Vec2 & | point, | ||
void * | data | ||
) |
Searches for physics shapes that contains the point.
The point must lie inside a shape. Func is called for each shape contains the point. A Vec2 object contains the position of the point. User defined data, it is passed to func.
var queryPoint | ( | var | func, |
var | point, | ||
var | data | ||
) |
Searches for physics shapes that contains the point.
The point must lie inside a shape. Func is called for each shape contains the point. A Vec2 object contains the position of the point. User defined data, it is passed to func.
local queryPoint | ( | local | func, |
local | point, | ||
local | data | ||
) |
Searches for physics shapes that contains the point.
The point must lie inside a shape. Func is called for each shape contains the point. A Vec2 object contains the position of the point. User defined data, it is passed to func.
Vector<PhysicsShape*> getShapes | ( | const Vec2 & | point | ) | const |
Get phsyics shapes that contains the point.
All shapes contains the point will be pushed in a Vector<PhysicsShape*> object. The point must lie inside a shape. A Vec2 object contains the position of the point. A Vector<PhysicsShape*> object contains all found PhysicsShape pointer.
var getShapes | ( | var | point | ) |
Get phsyics shapes that contains the point.
All shapes contains the point will be pushed in a Vector<PhysicsShape*> object. The point must lie inside a shape. A Vec2 object contains the position of the point. A Vector<PhysicsShape*> object contains all found PhysicsShape pointer.
local getShapes | ( | local | point | ) |
Get phsyics shapes that contains the point.
All shapes contains the point will be pushed in a Vector<PhysicsShape*> object. The point must lie inside a shape. A Vec2 object contains the position of the point. A Vector<PhysicsShape*> object contains all found PhysicsShape pointer.
PhysicsShape* getShape | ( | const Vec2 & | point | ) | const |
Get the nearest phsyics shape that contains the point.
Query this physics world at point and return the closest shape. A Vec2 object contains the position of the point. A PhysicsShape object pointer or nullptr if no shapes were found
var getShape | ( | var | point | ) |
Get the nearest phsyics shape that contains the point.
Query this physics world at point and return the closest shape. A Vec2 object contains the position of the point. A PhysicsShape object pointer or nullptr if no shapes were found
local getShape | ( | local | point | ) |
Get the nearest phsyics shape that contains the point.
Query this physics world at point and return the closest shape. A Vec2 object contains the position of the point. A PhysicsShape object pointer or nullptr if no shapes were found
const Vector<PhysicsBody*> & getAllBodies |
( | ) | const |
Get all the bodys that in this physics world.
A Vector<PhysicsBody*>& object contains all bodies in this physics world.
var getAllBodies | ( | ) |
Get all the bodys that in this physics world.
A Vector<PhysicsBody*>& object contains all bodies in this physics world.
local getAllBodies | ( | ) |
Get all the bodys that in this physics world.
A Vector<PhysicsBody*>& object contains all bodies in this physics world.
PhysicsBody* getBody | ( | int | tag | ) | const |
Get a body by tag.
An interger number that identifies a PhysicsBody object. A PhysicsBody object pointer or nullptr if no shapes were found.
var getBody | ( | var | tag | ) |
Get a body by tag.
An interger number that identifies a PhysicsBody object. A PhysicsBody object pointer or nullptr if no shapes were found.
local getBody | ( | local | tag | ) |
Get a body by tag.
An interger number that identifies a PhysicsBody object. A PhysicsBody object pointer or nullptr if no shapes were found.
|
inline |
Get a scene contain this physics world.
This value is initialized in constructor A Scene object reference.
|
inline |
Get a scene contain this physics world.
This value is initialized in constructor A Scene object reference.
|
inline |
Get a scene contain this physics world.
This value is initialized in constructor A Scene object reference.
|
inline |
Get the gravity value of this physics world.
A Vect object.
|
inline |
Get the gravity value of this physics world.
A Vect object.
|
inline |
Get the gravity value of this physics world.
A Vect object.
void setGravity | ( | const Vec2 & | gravity | ) |
set the gravity value of this physics world.
A gravity value of this physics world.
var setGravity | ( | var | gravity | ) |
set the gravity value of this physics world.
A gravity value of this physics world.
local setGravity | ( | local | gravity | ) |
set the gravity value of this physics world.
A gravity value of this physics world.
|
inline |
Set the speed of this physics world.
if you setAutoStep(false), this won't work. A float number. Speed is the rate at which the simulation executes. default value is 1.0.
|
inline |
Set the speed of this physics world.
if you setAutoStep(false), this won't work. A float number. Speed is the rate at which the simulation executes. default value is 1.0.
|
inline |
Set the speed of this physics world.
if you setAutoStep(false), this won't work. A float number. Speed is the rate at which the simulation executes. default value is 1.0.
|
inline |
Get the speed of this physics world.
A float number.
|
inline |
Get the speed of this physics world.
A float number.
|
inline |
Get the speed of this physics world.
A float number.
|
inline |
Set the update rate of this physics world.
Update rate is the value of EngineUpdateTimes/PhysicsWorldUpdateTimes. Set it higher can improve performance, set it lower can improve accuracy of physics world simulation. if you setAutoStep(false), this won't work. An interger number, default value is 1.0.
|
inline |
Set the update rate of this physics world.
Update rate is the value of EngineUpdateTimes/PhysicsWorldUpdateTimes. Set it higher can improve performance, set it lower can improve accuracy of physics world simulation. if you setAutoStep(false), this won't work. An interger number, default value is 1.0.
|
inline |
Set the update rate of this physics world.
Update rate is the value of EngineUpdateTimes/PhysicsWorldUpdateTimes. Set it higher can improve performance, set it lower can improve accuracy of physics world simulation. if you setAutoStep(false), this won't work. An interger number, default value is 1.0.
|
inline |
Get the update rate of this physics world.
An interger number.
|
inline |
Get the update rate of this physics world.
An interger number.
|
inline |
Get the update rate of this physics world.
An interger number.
void setSubsteps | ( | int | steps | ) |
set the number of substeps in an update of the physics world.
One physics update will be divided into several substeps to increase its accuracy. An interger number, default value is 1.
var setSubsteps | ( | var | steps | ) |
set the number of substeps in an update of the physics world.
One physics update will be divided into several substeps to increase its accuracy. An interger number, default value is 1.
local setSubsteps | ( | local | steps | ) |
set the number of substeps in an update of the physics world.
One physics update will be divided into several substeps to increase its accuracy. An interger number, default value is 1.
|
inline |
Get the number of substeps of this physics world.
An interger number.
|
inline |
Get the number of substeps of this physics world.
An interger number.
|
inline |
Get the number of substeps of this physics world.
An interger number.
void setDebugDrawMask | ( | int | mask | ) |
Set the debug draw mask of this physics world.
This physics world will draw shapes and joints by DrawNode acoording to mask. Mask has four value:DEBUGDRAW_NONE, DEBUGDRAW_SHAPE, DEBUGDRAW_JOINT, DEBUGDRAW_CONTACT and DEBUGDRAW_ALL, default is DEBUGDRAW_NONE
var setDebugDrawMask | ( | var | mask | ) |
Set the debug draw mask of this physics world.
This physics world will draw shapes and joints by DrawNode acoording to mask. Mask has four value:DEBUGDRAW_NONE, DEBUGDRAW_SHAPE, DEBUGDRAW_JOINT, DEBUGDRAW_CONTACT and DEBUGDRAW_ALL, default is DEBUGDRAW_NONE
local setDebugDrawMask | ( | local | mask | ) |
Set the debug draw mask of this physics world.
This physics world will draw shapes and joints by DrawNode acoording to mask. Mask has four value:DEBUGDRAW_NONE, DEBUGDRAW_SHAPE, DEBUGDRAW_JOINT, DEBUGDRAW_CONTACT and DEBUGDRAW_ALL, default is DEBUGDRAW_NONE
|
inline |
Get the bebug draw mask.
An interger number.
|
inline |
Get the bebug draw mask.
An interger number.
|
inline |
Get the bebug draw mask.
An interger number.
|
inline |
To control the step of physics.
If you want control it by yourself( fixed-timestep for example ), you can set this to false and call step by yourself. If you set auto step to false, setSpeed setSubsteps and setUpdateRate won't work, you need to control the time step by yourself. A bool object, defaut value is true.
|
inline |
To control the step of physics.
If you want control it by yourself( fixed-timestep for example ), you can set this to false and call step by yourself. If you set auto step to false, setSpeed setSubsteps and setUpdateRate won't work, you need to control the time step by yourself. A bool object, defaut value is true.
|
inline |
To control the step of physics.
If you want control it by yourself( fixed-timestep for example ), you can set this to false and call step by yourself. If you set auto step to false, setSpeed setSubsteps and setUpdateRate won't work, you need to control the time step by yourself. A bool object, defaut value is true.
|
inline |
Get the auto step of this physics world.
A bool object.
|
inline |
Get the auto step of this physics world.
A bool object.
|
inline |
Get the auto step of this physics world.
A bool object.
void step | ( | float | delta | ) |
The step for physics world.
The times passing for simulate the physics. You need to setAutoStep(false) first before it can work. A float number.
var step | ( | var | delta | ) |
The step for physics world.
The times passing for simulate the physics. You need to setAutoStep(false) first before it can work. A float number.
local step | ( | local | delta | ) |
The step for physics world.
The times passing for simulate the physics. You need to setAutoStep(false) first before it can work. A float number.