Box2D  2.2.1
Box2D API Reference for Kobold2D developers
b2RopeJoint Class Reference

#include <b2RopeJoint.h>

+ Inheritance diagram for b2RopeJoint:
+ Collaboration diagram for b2RopeJoint:

List of all members.

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.
const b2Vec2GetLocalAnchorA () const
 The local anchor point relative to bodyA's origin.
const b2Vec2GetLocalAnchorB () const
 The local anchor point relative to bodyB's origin.
void SetMaxLength (float32 length)
 Set/Get the maximum length of the rope.
float32 GetMaxLength () const
b2LimitState GetLimitState () const
void Dump ()
 Dump joint to dmLog.

Protected Member Functions

 b2RopeJoint (const b2RopeJointDef *data)
void InitVelocityConstraints (const b2SolverData &data)
void SolveVelocityConstraints (const b2SolverData &data)
bool SolvePositionConstraints (const b2SolverData &data)

Protected Attributes

b2Vec2 m_localAnchorA
b2Vec2 m_localAnchorB
float32 m_maxLength
float32 m_length
float32 m_impulse
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
b2LimitState m_state

Friends

class b2Joint

Detailed Description

A rope joint enforces a maximum distance between two points on two bodies. It has no other effect. Warning: if you attempt to change the maximum length during the simulation you will get some non-physical behavior. A model that would allow you to dynamically modify the length would have some sponginess, so I chose not to implement it that way. See b2DistanceJoint if you want to dynamically control length.


Member Function Documentation

void b2RopeJoint::Dump ( ) [virtual]

Dump joint to dmLog.

Reimplemented from b2Joint.

b2Vec2 b2RopeJoint::GetAnchorA ( ) const [virtual]

Get the anchor point on bodyA in world coordinates.

Implements b2Joint.

b2Vec2 b2RopeJoint::GetAnchorB ( ) const [virtual]

Get the anchor point on bodyB in world coordinates.

Implements b2Joint.

const b2Vec2& b2RopeJoint::GetLocalAnchorA ( ) const [inline]

The local anchor point relative to bodyA's origin.

const b2Vec2& b2RopeJoint::GetLocalAnchorB ( ) const [inline]

The local anchor point relative to bodyB's origin.

b2Vec2 b2RopeJoint::GetReactionForce ( float32  inv_dt) const [virtual]

Get the reaction force on bodyB at the joint anchor in Newtons.

Implements b2Joint.

float32 b2RopeJoint::GetReactionTorque ( float32  inv_dt) const [virtual]

Get the reaction torque on bodyB in N*m.

Implements b2Joint.

void b2RopeJoint::SetMaxLength ( float32  length) [inline]

Set/Get the maximum length of the rope.


The documentation for this class was generated from the following file: