Box2D
2.3.0
A 2D Physics Engine for Games
|
#include <b2DistanceJoint.h>
Public Member Functions | |
b2Vec2 | GetAnchorA () const |
Get the anchor point on bodyA in world coordinates. | |
b2Vec2 | GetAnchorB () const |
Get the anchor point on bodyB in world coordinates. | |
b2Vec2 | GetReactionForce (float32 inv_dt) const |
float32 | GetReactionTorque (float32 inv_dt) const |
const b2Vec2 & | GetLocalAnchorA () const |
The local anchor point relative to bodyA's origin. | |
const b2Vec2 & | GetLocalAnchorB () const |
The local anchor point relative to bodyB's origin. | |
void | SetLength (float32 length) |
float32 | GetLength () const |
void | SetFrequency (float32 hz) |
Set/get frequency in Hz. | |
float32 | GetFrequency () const |
void | SetDampingRatio (float32 ratio) |
Set/get damping ratio. | |
float32 | GetDampingRatio () const |
void | Dump () |
Dump joint to dmLog. | |
Public Member Functions inherited from b2Joint | |
b2JointType | GetType () const |
Get the type of the concrete joint. | |
b2Body * | GetBodyA () |
Get the first body attached to this joint. | |
b2Body * | GetBodyB () |
Get the second body attached to this joint. | |
b2Joint * | GetNext () |
Get the next joint the world joint list. | |
const b2Joint * | GetNext () const |
void * | GetUserData () const |
Get the user data pointer. | |
void | SetUserData (void *data) |
Set the user data pointer. | |
bool | IsActive () const |
Short-cut function to determine if either body is inactive. | |
bool | GetCollideConnected () const |
virtual void | ShiftOrigin (const b2Vec2 &newOrigin) |
Shift the origin for any points stored in world coordinates. | |
Protected Member Functions | |
b2DistanceJoint (const b2DistanceJointDef *data) | |
void | InitVelocityConstraints (const b2SolverData &data) |
void | SolveVelocityConstraints (const b2SolverData &data) |
bool | SolvePositionConstraints (const b2SolverData &data) |
Protected Member Functions inherited from b2Joint | |
b2Joint (const b2JointDef *def) | |
Protected Attributes | |
float32 | m_frequencyHz |
float32 | m_dampingRatio |
float32 | m_bias |
b2Vec2 | m_localAnchorA |
b2Vec2 | m_localAnchorB |
float32 | m_gamma |
float32 | m_impulse |
float32 | m_length |
int32 | m_indexA |
int32 | m_indexB |
b2Vec2 | m_u |
b2Vec2 | m_rA |
b2Vec2 | m_rB |
b2Vec2 | m_localCenterA |
b2Vec2 | m_localCenterB |
float32 | m_invMassA |
float32 | m_invMassB |
float32 | m_invIA |
float32 | m_invIB |
float32 | m_mass |
Protected Attributes inherited from b2Joint | |
b2JointType | m_type |
b2Joint * | m_prev |
b2Joint * | m_next |
b2JointEdge | m_edgeA |
b2JointEdge | m_edgeB |
b2Body * | m_bodyA |
b2Body * | m_bodyB |
int32 | m_index |
bool | m_islandFlag |
bool | m_collideConnected |
void * | m_userData |
Friends | |
class | b2Joint |
Additional Inherited Members | |
Static Protected Member Functions inherited from b2Joint | |
static b2Joint * | Create (const b2JointDef *def, b2BlockAllocator *allocator) |
static void | Destroy (b2Joint *joint, b2BlockAllocator *allocator) |
A distance joint constrains two points on two bodies to remain at a fixed distance from each other. You can view this as a massless, rigid rod.
|
virtual |
Get the reaction force given the inverse time step. Unit is N.
Implements b2Joint.
|
virtual |
Get the reaction torque given the inverse time step. Unit is N*m. This is always zero for a distance joint.
Implements b2Joint.
|
inline |
Set/get the natural length. Manipulating the length can lead to non-physical behavior when the frequency is zero.