#include <b2PulleyJoint.h>
Public Member Functions | |
void | Dump () |
Dump joint to dmLog. More... | |
b2Vec2 | GetAnchorA () const |
Get the anchor point on bodyA in world coordinates. More... | |
b2Vec2 | GetAnchorB () const |
Get the anchor point on bodyB in world coordinates. More... | |
float32 | GetCurrentLengthA () const |
Get the current length of the segment attached to bodyA. More... | |
float32 | GetCurrentLengthB () const |
Get the current length of the segment attached to bodyB. More... | |
b2Vec2 | GetGroundAnchorA () const |
Get the first ground anchor. More... | |
b2Vec2 | GetGroundAnchorB () const |
Get the second ground anchor. More... | |
float32 | GetLengthA () const |
Get the current length of the segment attached to bodyA. More... | |
float32 | GetLengthB () const |
Get the current length of the segment attached to bodyB. More... | |
float32 | GetRatio () const |
Get the pulley ratio. More... | |
b2Vec2 | GetReactionForce (float32 inv_dt) const |
Get the reaction force on bodyB at the joint anchor in Newtons. More... | |
float32 | GetReactionTorque (float32 inv_dt) const |
Get the reaction torque on bodyB in N*m. More... | |
void | ShiftOrigin (const b2Vec2 &newOrigin) |
Implement b2Joint::ShiftOrigin. More... | |
Public Member Functions inherited from b2Joint | |
b2Body * | GetBodyA () |
Get the first body attached to this joint. More... | |
b2Body * | GetBodyB () |
Get the second body attached to this joint. More... | |
bool | GetCollideConnected () const |
b2Joint * | GetNext () |
Get the next joint the world joint list. More... | |
const b2Joint * | GetNext () const |
b2JointType | GetType () const |
Get the type of the concrete joint. More... | |
void * | GetUserData () const |
Get the user data pointer. More... | |
bool | IsActive () const |
Short-cut function to determine if either body is inactive. More... | |
void | SetUserData (void *data) |
Set the user data pointer. More... | |
Protected Member Functions | |
b2PulleyJoint (const b2PulleyJointDef *data) | |
void | InitVelocityConstraints (const b2SolverData &data) |
bool | SolvePositionConstraints (const b2SolverData &data) |
void | SolveVelocityConstraints (const b2SolverData &data) |
Protected Member Functions inherited from b2Joint | |
b2Joint (const b2JointDef *def) | |
virtual | ~b2Joint () |
Protected Attributes | |
float32 | m_constant |
b2Vec2 | m_groundAnchorA |
b2Vec2 | m_groundAnchorB |
float32 | m_impulse |
int32 | m_indexA |
int32 | m_indexB |
float32 | m_invIA |
float32 | m_invIB |
float32 | m_invMassA |
float32 | m_invMassB |
float32 | m_lengthA |
float32 | m_lengthB |
b2Vec2 | m_localAnchorA |
b2Vec2 | m_localAnchorB |
b2Vec2 | m_localCenterA |
b2Vec2 | m_localCenterB |
float32 | m_mass |
b2Vec2 | m_rA |
float32 | m_ratio |
b2Vec2 | m_rB |
b2Vec2 | m_uA |
b2Vec2 | m_uB |
Protected Attributes inherited from b2Joint | |
b2Body * | m_bodyA |
b2Body * | m_bodyB |
bool | m_collideConnected |
b2JointEdge | m_edgeA |
b2JointEdge | m_edgeB |
int32 | m_index |
bool | m_islandFlag |
b2Joint * | m_next |
b2Joint * | m_prev |
b2JointType | m_type |
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) |
The pulley joint is connected to two bodies and two fixed ground points. The pulley supports a ratio such that: length1 + ratio * length2 <= constant Yes, the force transmitted is scaled by the ratio. Warning: the pulley joint can get a bit squirrelly by itself. They often work better when combined with prismatic joints. You should also cover the the anchor points with static shapes to prevent one side from going to zero length.
Definition at line 79 of file b2PulleyJoint.h.
|
protected |
Definition at line 54 of file b2PulleyJoint.cpp.
|
virtual |
|
virtual |
Get the anchor point on bodyA in world coordinates.
Implements b2Joint.
Definition at line 262 of file b2PulleyJoint.cpp.
|
virtual |
Get the anchor point on bodyB in world coordinates.
Implements b2Joint.
Definition at line 267 of file b2PulleyJoint.cpp.
float32 b2PulleyJoint::GetCurrentLengthA | ( | ) | const |
Get the current length of the segment attached to bodyA.
Definition at line 309 of file b2PulleyJoint.cpp.
float32 b2PulleyJoint::GetCurrentLengthB | ( | ) | const |
Get the current length of the segment attached to bodyB.
Definition at line 317 of file b2PulleyJoint.cpp.
b2Vec2 b2PulleyJoint::GetGroundAnchorA | ( | ) | const |
Get the first ground anchor.
Definition at line 284 of file b2PulleyJoint.cpp.
b2Vec2 b2PulleyJoint::GetGroundAnchorB | ( | ) | const |
Get the second ground anchor.
Definition at line 289 of file b2PulleyJoint.cpp.
float32 b2PulleyJoint::GetLengthA | ( | ) | const |
Get the current length of the segment attached to bodyA.
Definition at line 294 of file b2PulleyJoint.cpp.
float32 b2PulleyJoint::GetLengthB | ( | ) | const |
Get the current length of the segment attached to bodyB.
Definition at line 299 of file b2PulleyJoint.cpp.
float32 b2PulleyJoint::GetRatio | ( | ) | const |
Get the pulley ratio.
Definition at line 304 of file b2PulleyJoint.cpp.
Get the reaction force on bodyB at the joint anchor in Newtons.
Implements b2Joint.
Definition at line 272 of file b2PulleyJoint.cpp.
Get the reaction torque on bodyB in N*m.
Implements b2Joint.
Definition at line 278 of file b2PulleyJoint.cpp.
|
protectedvirtual |
Implements b2Joint.
Definition at line 73 of file b2PulleyJoint.cpp.
Implement b2Joint::ShiftOrigin.
Reimplemented from b2Joint.
Definition at line 344 of file b2PulleyJoint.cpp.
|
protectedvirtual |
Implements b2Joint.
Definition at line 190 of file b2PulleyJoint.cpp.
|
protectedvirtual |
Implements b2Joint.
Definition at line 163 of file b2PulleyJoint.cpp.
|
friend |
Definition at line 117 of file b2PulleyJoint.h.
|
protected |
Definition at line 132 of file b2PulleyJoint.h.
|
protected |
Definition at line 124 of file b2PulleyJoint.h.
|
protected |
Definition at line 125 of file b2PulleyJoint.h.
|
protected |
Definition at line 134 of file b2PulleyJoint.h.
|
protected |
Definition at line 137 of file b2PulleyJoint.h.
|
protected |
Definition at line 138 of file b2PulleyJoint.h.
|
protected |
Definition at line 147 of file b2PulleyJoint.h.
|
protected |
Definition at line 148 of file b2PulleyJoint.h.
|
protected |
Definition at line 145 of file b2PulleyJoint.h.
|
protected |
Definition at line 146 of file b2PulleyJoint.h.
|
protected |
Definition at line 126 of file b2PulleyJoint.h.
|
protected |
Definition at line 127 of file b2PulleyJoint.h.
|
protected |
Definition at line 130 of file b2PulleyJoint.h.
|
protected |
Definition at line 131 of file b2PulleyJoint.h.
|
protected |
Definition at line 143 of file b2PulleyJoint.h.
|
protected |
Definition at line 144 of file b2PulleyJoint.h.
|
protected |
Definition at line 149 of file b2PulleyJoint.h.
|
protected |
Definition at line 141 of file b2PulleyJoint.h.
|
protected |
Definition at line 133 of file b2PulleyJoint.h.
|
protected |
Definition at line 142 of file b2PulleyJoint.h.
|
protected |
Definition at line 139 of file b2PulleyJoint.h.
|
protected |
Definition at line 140 of file b2PulleyJoint.h.