b2RevoluteJoint Class Reference

#include <b2RevoluteJoint.h>

Inheritance diagram for b2RevoluteJoint:
b2Joint

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 body2 at the joint anchor in Newtons.
float32 GetReactionTorque (float32 inv_dt) const
 Get the reaction torque on body2 in N*m.
float32 GetJointAngle () const
 Get the current joint angle in radians.
float32 GetJointSpeed () const
 Get the current joint angle speed in radians per second.
bool IsLimitEnabled () const
 Is the joint limit enabled?
void EnableLimit (bool flag)
 Enable/disable the joint limit.
float32 GetLowerLimit () const
 Get the lower joint limit in radians.
float32 GetUpperLimit () const
 Get the upper joint limit in radians.
void SetLimits (float32 lower, float32 upper)
 Set the joint limits in radians.
bool IsMotorEnabled () const
 Is the joint motor enabled?
void EnableMotor (bool flag)
 Enable/disable the joint motor.
void SetMotorSpeed (float32 speed)
 Set the motor speed in radians per second.
float32 GetMotorSpeed () const
 Get the motor speed in radians per second.
void SetMaxMotorTorque (float32 torque)
 Set the maximum motor torque, usually in N-m.
float32 GetMotorTorque () const
 Get the current motor torque, usually in N-m.

Protected Member Functions

 b2RevoluteJoint (const b2RevoluteJointDef *def)
void InitVelocityConstraints (const b2TimeStep &step)
void SolveVelocityConstraints (const b2TimeStep &step)
bool SolvePositionConstraints (float32 baumgarte)

Protected Attributes

b2Vec2 m_localAnchor1
b2Vec2 m_localAnchor2
b2Vec3 m_impulse
float32 m_motorImpulse
b2Mat33 m_mass
float32 m_motorMass
bool m_enableMotor
float32 m_maxMotorTorque
float32 m_motorSpeed
bool m_enableLimit
float32 m_referenceAngle
float32 m_lowerAngle
float32 m_upperAngle
b2LimitState m_limitState

Friends

class b2Joint
class b2GearJoint

Detailed Description

A revolute joint constrains two bodies to share a common point while they are free to rotate about the point. The relative rotation about the shared point is the joint angle. You can limit the relative rotation with a joint limit that specifies a lower and upper angle. You can use a motor to drive the relative rotation about the shared point. A maximum motor torque is provided so that infinite forces are not generated.


Constructor & Destructor Documentation

b2RevoluteJoint::b2RevoluteJoint ( const b2RevoluteJointDef def  )  [protected]

Member Function Documentation

void b2RevoluteJoint::EnableLimit ( bool  flag  ) 

Enable/disable the joint limit.

void b2RevoluteJoint::EnableMotor ( bool  flag  ) 

Enable/disable the joint motor.

b2Vec2 b2RevoluteJoint::GetAnchorA (  )  const [virtual]

Get the anchor point on bodyA in world coordinates.

Implements b2Joint.

b2Vec2 b2RevoluteJoint::GetAnchorB (  )  const [virtual]

Get the anchor point on bodyB in world coordinates.

Implements b2Joint.

float32 b2RevoluteJoint::GetJointAngle (  )  const

Get the current joint angle in radians.

float32 b2RevoluteJoint::GetJointSpeed (  )  const

Get the current joint angle speed in radians per second.

float32 b2RevoluteJoint::GetLowerLimit (  )  const

Get the lower joint limit in radians.

float32 b2RevoluteJoint::GetMotorSpeed (  )  const [inline]

Get the motor speed in radians per second.

float32 b2RevoluteJoint::GetMotorTorque (  )  const

Get the current motor torque, usually in N-m.

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

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

Implements b2Joint.

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

Get the reaction torque on body2 in N*m.

Implements b2Joint.

float32 b2RevoluteJoint::GetUpperLimit (  )  const

Get the upper joint limit in radians.

void b2RevoluteJoint::InitVelocityConstraints ( const b2TimeStep step  )  [protected, virtual]

Implements b2Joint.

bool b2RevoluteJoint::IsLimitEnabled (  )  const

Is the joint limit enabled?

bool b2RevoluteJoint::IsMotorEnabled (  )  const

Is the joint motor enabled?

void b2RevoluteJoint::SetLimits ( float32  lower,
float32  upper 
)

Set the joint limits in radians.

void b2RevoluteJoint::SetMaxMotorTorque ( float32  torque  ) 

Set the maximum motor torque, usually in N-m.

void b2RevoluteJoint::SetMotorSpeed ( float32  speed  ) 

Set the motor speed in radians per second.

bool b2RevoluteJoint::SolvePositionConstraints ( float32  baumgarte  )  [protected, virtual]

Implements b2Joint.

void b2RevoluteJoint::SolveVelocityConstraints ( const b2TimeStep step  )  [protected, virtual]

Implements b2Joint.


Friends And Related Function Documentation

friend class b2GearJoint [friend]
friend class b2Joint [friend]

Member Data Documentation


The documentation for this class was generated from the following files:
Generated on Sat Apr 3 18:18:09 2010 for Box2D by  doxygen 1.6.3