Box2D 2.4.1
A 2D physics engine for games
|
#include <b2_pulley_joint.h>
Public Member Functions | |
b2Vec2 | GetAnchorA () const override |
Get the anchor point on bodyA in world coordinates. | |
b2Vec2 | GetAnchorB () const override |
Get the anchor point on bodyB in world coordinates. | |
b2Vec2 | GetReactionForce (float inv_dt) const override |
Get the reaction force on bodyB at the joint anchor in Newtons. | |
float | GetReactionTorque (float inv_dt) const override |
Get the reaction torque on bodyB in N*m. | |
b2Vec2 | GetGroundAnchorA () const |
Get the first ground anchor. | |
b2Vec2 | GetGroundAnchorB () const |
Get the second ground anchor. | |
float | GetLengthA () const |
Get the current length of the segment attached to bodyA. | |
float | GetLengthB () const |
Get the current length of the segment attached to bodyB. | |
float | GetRatio () const |
Get the pulley ratio. | |
float | GetCurrentLengthA () const |
Get the current length of the segment attached to bodyA. | |
float | GetCurrentLengthB () const |
Get the current length of the segment attached to bodyB. | |
void | Dump () override |
Dump joint to dmLog. | |
void | ShiftOrigin (const b2Vec2 &newOrigin) override |
Implement b2Joint::ShiftOrigin. | |
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 |
b2JointUserData & | GetUserData () |
Get the user data pointer. | |
const b2JointUserData & | GetUserData () const |
bool | IsEnabled () const |
Short-cut function to determine if either body is enabled. | |
bool | GetCollideConnected () const |
virtual void | Draw (b2Draw *draw) const |
Debug draw this joint. | |
Protected Member Functions | |
b2PulleyJoint (const b2PulleyJointDef *data) | |
void | InitVelocityConstraints (const b2SolverData &data) override |
void | SolveVelocityConstraints (const b2SolverData &data) override |
bool | SolvePositionConstraints (const b2SolverData &data) override |
Protected Member Functions inherited from b2Joint | |
b2Joint (const b2JointDef *def) | |
Protected Attributes | |
b2Vec2 | m_groundAnchorA |
b2Vec2 | m_groundAnchorB |
float | m_lengthA |
float | m_lengthB |
b2Vec2 | m_localAnchorA |
b2Vec2 | m_localAnchorB |
float | m_constant |
float | m_ratio |
float | m_impulse |
int32 | m_indexA |
int32 | m_indexB |
b2Vec2 | m_uA |
b2Vec2 | m_uB |
b2Vec2 | m_rA |
b2Vec2 | m_rB |
b2Vec2 | m_localCenterA |
b2Vec2 | m_localCenterB |
float | m_invMassA |
float | m_invMassB |
float | m_invIA |
float | m_invIB |
float | 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 |
b2JointUserData | 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.
|
overridevirtual |
Dump joint to dmLog.
Reimplemented from b2Joint.
|
overridevirtual |
Get the anchor point on bodyA in world coordinates.
Implements b2Joint.
|
overridevirtual |
Get the anchor point on bodyB in world coordinates.
Implements b2Joint.
|
overridevirtual |
Get the reaction force on bodyB at the joint anchor in Newtons.
Implements b2Joint.
|
overridevirtual |
Get the reaction torque on bodyB in N*m.
Implements b2Joint.
|
overrideprotectedvirtual |
Implements b2Joint.
|
overridevirtual |
Implement b2Joint::ShiftOrigin.
Reimplemented from b2Joint.
|
overrideprotectedvirtual |
Implements b2Joint.
|
overrideprotectedvirtual |
Implements b2Joint.