Box2D
2.2.1
Box2D API Reference for Kobold2D developers
|
#include <b2PulleyJoint.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 |
Get the reaction force on bodyB at the joint anchor in Newtons. | |
float32 | GetReactionTorque (float32 inv_dt) const |
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. | |
float32 | GetLengthA () const |
Get the current length of the segment attached to bodyA. | |
float32 | GetLengthB () const |
Get the current length of the segment attached to bodyB. | |
float32 | GetRatio () const |
Get the pulley ratio. | |
void | Dump () |
Dump joint to dmLog. | |
Protected Member Functions | |
b2PulleyJoint (const b2PulleyJointDef *data) | |
void | InitVelocityConstraints (const b2SolverData &data) |
void | SolveVelocityConstraints (const b2SolverData &data) |
bool | SolvePositionConstraints (const b2SolverData &data) |
Protected Attributes | |
b2Vec2 | m_groundAnchorA |
b2Vec2 | m_groundAnchorB |
float32 | m_lengthA |
float32 | m_lengthB |
b2Vec2 | m_localAnchorA |
b2Vec2 | m_localAnchorB |
float32 | m_constant |
float32 | m_ratio |
float32 | 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 |
float32 | m_invMassA |
float32 | m_invMassB |
float32 | m_invIA |
float32 | m_invIB |
float32 | m_mass |
Friends | |
class | b2Joint |
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.
void b2PulleyJoint::Dump | ( | ) | [virtual] |
Dump joint to dmLog.
Reimplemented from b2Joint.
b2Vec2 b2PulleyJoint::GetAnchorA | ( | ) | const [virtual] |
Get the anchor point on bodyA in world coordinates.
Implements b2Joint.
b2Vec2 b2PulleyJoint::GetAnchorB | ( | ) | const [virtual] |
Get the anchor point on bodyB in world coordinates.
Implements b2Joint.
b2Vec2 b2PulleyJoint::GetGroundAnchorA | ( | ) | const |
Get the first ground anchor.
b2Vec2 b2PulleyJoint::GetGroundAnchorB | ( | ) | const |
Get the second ground anchor.
float32 b2PulleyJoint::GetLengthA | ( | ) | const |
Get the current length of the segment attached to bodyA.
float32 b2PulleyJoint::GetLengthB | ( | ) | const |
Get the current length of the segment attached to bodyB.
float32 b2PulleyJoint::GetRatio | ( | ) | const |
Get the pulley ratio.
b2Vec2 b2PulleyJoint::GetReactionForce | ( | float32 | inv_dt | ) | const [virtual] |
Get the reaction force on bodyB at the joint anchor in Newtons.
Implements b2Joint.
float32 b2PulleyJoint::GetReactionTorque | ( | float32 | inv_dt | ) | const [virtual] |
Get the reaction torque on bodyB in N*m.
Implements b2Joint.