#include <b2PulleyJoint.h>
Public Member Functions | |
void | Dump () |
Dump joint to dmLog. | |
b2Vec2 | GetAnchorA () const |
Get the anchor point on bodyA in world coordinates. | |
b2Vec2 | GetAnchorB () const |
Get the anchor point on bodyB in world coordinates. | |
float32 | GetCurrentLengthA () const |
Get the current length of the segment attached to bodyA. | |
float32 | GetCurrentLengthB () const |
Get the current length of the segment attached to bodyB. | |
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. | |
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. | |
void | ShiftOrigin (const b2Vec2 &newOrigin) |
Implement b2Joint::ShiftOrigin. | |
Protected Member Functions | |
b2PulleyJoint (const b2PulleyJointDef *data) | |
void | InitVelocityConstraints (const b2SolverData &data) |
bool | SolvePositionConstraints (const b2SolverData &data) |
void | SolveVelocityConstraints (const b2SolverData &data) |
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 |
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.
Definition at line 79 of file b2PulleyJoint.h.
b2PulleyJoint::b2PulleyJoint | ( | const b2PulleyJointDef * | data | ) | [protected] |
Definition at line 54 of file b2PulleyJoint.cpp.
void b2PulleyJoint::Dump | ( | ) | [virtual] |
b2Vec2 b2PulleyJoint::GetAnchorA | ( | ) | const [virtual] |
Get the anchor point on bodyA in world coordinates.
Implements b2Joint.
Definition at line 262 of file b2PulleyJoint.cpp.
b2Vec2 b2PulleyJoint::GetAnchorB | ( | ) | const [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.
b2Vec2 b2PulleyJoint::GetReactionForce | ( | float32 | inv_dt | ) | const [virtual] |
Get the reaction force on bodyB at the joint anchor in Newtons.
Implements b2Joint.
Definition at line 272 of file b2PulleyJoint.cpp.
float32 b2PulleyJoint::GetReactionTorque | ( | float32 | inv_dt | ) | const [virtual] |
Get the reaction torque on bodyB in N*m.
Implements b2Joint.
Definition at line 278 of file b2PulleyJoint.cpp.
void b2PulleyJoint::InitVelocityConstraints | ( | const b2SolverData & | data | ) | [protected, virtual] |
Implements b2Joint.
Definition at line 73 of file b2PulleyJoint.cpp.
void b2PulleyJoint::ShiftOrigin | ( | const b2Vec2 & | newOrigin | ) | [virtual] |
Implement b2Joint::ShiftOrigin.
Reimplemented from b2Joint.
Definition at line 344 of file b2PulleyJoint.cpp.
bool b2PulleyJoint::SolvePositionConstraints | ( | const b2SolverData & | data | ) | [protected, virtual] |
Implements b2Joint.
Definition at line 190 of file b2PulleyJoint.cpp.
void b2PulleyJoint::SolveVelocityConstraints | ( | const b2SolverData & | data | ) | [protected, virtual] |
Implements b2Joint.
Definition at line 163 of file b2PulleyJoint.cpp.
friend class b2Joint [friend] |
Definition at line 117 of file b2PulleyJoint.h.
float32 b2PulleyJoint::m_constant [protected] |
Definition at line 132 of file b2PulleyJoint.h.
b2Vec2 b2PulleyJoint::m_groundAnchorA [protected] |
Definition at line 124 of file b2PulleyJoint.h.
b2Vec2 b2PulleyJoint::m_groundAnchorB [protected] |
Definition at line 125 of file b2PulleyJoint.h.
float32 b2PulleyJoint::m_impulse [protected] |
Definition at line 134 of file b2PulleyJoint.h.
int32 b2PulleyJoint::m_indexA [protected] |
Definition at line 137 of file b2PulleyJoint.h.
int32 b2PulleyJoint::m_indexB [protected] |
Definition at line 138 of file b2PulleyJoint.h.
float32 b2PulleyJoint::m_invIA [protected] |
Definition at line 147 of file b2PulleyJoint.h.
float32 b2PulleyJoint::m_invIB [protected] |
Definition at line 148 of file b2PulleyJoint.h.
float32 b2PulleyJoint::m_invMassA [protected] |
Definition at line 145 of file b2PulleyJoint.h.
float32 b2PulleyJoint::m_invMassB [protected] |
Definition at line 146 of file b2PulleyJoint.h.
float32 b2PulleyJoint::m_lengthA [protected] |
Definition at line 126 of file b2PulleyJoint.h.
float32 b2PulleyJoint::m_lengthB [protected] |
Definition at line 127 of file b2PulleyJoint.h.
b2Vec2 b2PulleyJoint::m_localAnchorA [protected] |
Definition at line 130 of file b2PulleyJoint.h.
b2Vec2 b2PulleyJoint::m_localAnchorB [protected] |
Definition at line 131 of file b2PulleyJoint.h.
b2Vec2 b2PulleyJoint::m_localCenterA [protected] |
Definition at line 143 of file b2PulleyJoint.h.
b2Vec2 b2PulleyJoint::m_localCenterB [protected] |
Definition at line 144 of file b2PulleyJoint.h.
float32 b2PulleyJoint::m_mass [protected] |
Definition at line 149 of file b2PulleyJoint.h.
b2Vec2 b2PulleyJoint::m_rA [protected] |
Definition at line 141 of file b2PulleyJoint.h.
float32 b2PulleyJoint::m_ratio [protected] |
Definition at line 133 of file b2PulleyJoint.h.
b2Vec2 b2PulleyJoint::m_rB [protected] |
Definition at line 142 of file b2PulleyJoint.h.
b2Vec2 b2PulleyJoint::m_uA [protected] |
Definition at line 139 of file b2PulleyJoint.h.
b2Vec2 b2PulleyJoint::m_uB [protected] |
Definition at line 140 of file b2PulleyJoint.h.