Torque2D Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
b2RevoluteJoint Class Reference

`#include <b2RevoluteJoint.h>`

Inheritance diagram for b2RevoluteJoint:

## Public Member Functions
b2Vec2 | GetAnchorA () const
| Get the anchor point on bodyA in world coordinates. More...
b2Vec2 | GetAnchorB () const
| Get the anchor point on bodyB in world coordinates. More...
const b2Vec2 & | GetLocalAnchorA () const
| The local anchor point relative to bodyA's origin. More...
const b2Vec2 & | GetLocalAnchorB () const
| The local anchor point relative to bodyB's origin. More...
float32 | GetReferenceAngle () const
| Get the reference angle. More...
float32 | GetJointAngle () const
| Get the current joint angle in radians. More...
float32 | GetJointSpeed () const
| Get the current joint angle speed in radians per second. More...
bool | IsLimitEnabled () const
| Is the joint limit enabled? More...
void | EnableLimit (bool flag)
| Enable/disable the joint limit. More...
float32 | GetLowerLimit () const
| Get the lower joint limit in radians. More...
float32 | GetUpperLimit () const
| Get the upper joint limit in radians. More...
void | SetLimits (float32 lower, float32 upper)
| Set the joint limits in radians. More...
bool | IsMotorEnabled () const
| Is the joint motor enabled? More...
void | EnableMotor (bool flag)
| Enable/disable the joint motor. More...
void | SetMotorSpeed (float32 speed)
| Set the motor speed in radians per second. More...
float32 | GetMotorSpeed () const
| Get the motor speed in radians per second. More...
void | SetMaxMotorTorque (float32 torque)
| Set the maximum motor torque, usually in N-m. More...
float32 | GetMaxMotorTorque () const
b2Vec2 | GetReactionForce (float32 inv_dt) const
float32 | GetReactionTorque (float32 inv_dt) const
float32 | GetMotorTorque (float32 inv_dt) const
void | Dump ()
| Dump to b2Log. More...
Public Member Functions inherited from b2Joint
b2JointType | GetType () const
| Get the type of the concrete joint. More...
b2Body * | GetBodyA ()
| Get the first body attached to this joint. More...
b2Body * | GetBodyB ()
| Get the second body attached to this joint. More...
b2Joint * | GetNext ()
| Get the next joint the world joint list. More...
const b2Joint * | GetNext () const
void * | GetUserData () const
| Get the user data pointer. More...
void | SetUserData (void *data)
| Set the user data pointer. More...
bool | IsActive () const
| Short-cut function to determine if either body is inactive. More...
bool | GetCollideConnected () const
virtual void | ShiftOrigin (const b2Vec2 &newOrigin)
| Shift the origin for any points stored in world coordinates. More...

## Protected Member Functions
| b2RevoluteJoint (const b2RevoluteJointDef *def)
void | InitVelocityConstraints (const b2SolverData &data)
void | SolveVelocityConstraints (const b2SolverData &data)
bool | SolvePositionConstraints (const b2SolverData &data)
Protected Member Functions inherited from b2Joint
| b2Joint (const b2JointDef *def)
virtual | ~b2Joint ()

## Protected Attributes
b2Vec2 | m_localAnchorA
b2Vec2 | m_localAnchorB
b2Vec3 | m_impulse
float32 | m_motorImpulse
bool | m_enableMotor
float32 | m_maxMotorTorque
float32 | m_motorSpeed
bool | m_enableLimit
float32 | m_referenceAngle
float32 | m_lowerAngle
float32 | m_upperAngle
int32 | m_indexA
int32 | m_indexB
b2Vec2 | m_rA
b2Vec2 | m_rB
b2Vec2 | m_localCenterA
b2Vec2 | m_localCenterB
float32 | m_invMassA
float32 | m_invMassB
float32 | m_invIA
float32 | m_invIB
b2Mat33 | m_mass
float32 | m_motorMass
b2LimitState | m_limitState
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
void * | m_userData

## Friends
class | b2Joint
class | b2GearJoint

## 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)

## 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 | ( | const b2RevoluteJointDef * | def | ) |
| protected

## Member Function Documentation

void Dump | ( |  | ) |
| virtual

Dump to b2Log.

Reimplemented from b2Joint.

void EnableLimit | ( | bool | flag | ) |

Enable/disable the joint limit.

void EnableMotor | ( | bool | flag | ) |

Enable/disable the joint motor.

b2Vec2 GetAnchorA | ( |  | ) | const
| virtual

Get the anchor point on bodyA in world coordinates.

Implements b2Joint.

b2Vec2 GetAnchorB | ( |  | ) | const
| virtual

Get the anchor point on bodyB in world coordinates.

Implements b2Joint.

float32 GetJointAngle | ( |  | ) | const

Get the current joint angle in radians.

float32 GetJointSpeed | ( |  | ) | const

Get the current joint angle speed in radians per second.

const b2Vec2& GetLocalAnchorA | ( |  | ) | const
| inline

The local anchor point relative to bodyA's origin.

const b2Vec2& GetLocalAnchorB | ( |  | ) | const
| inline

The local anchor point relative to bodyB's origin.

float32 GetLowerLimit | ( |  | ) | const

Get the lower joint limit in radians.

float32 GetMaxMotorTorque | ( |  | ) | const
| inline

float32 GetMotorSpeed | ( |  | ) | const
| inline

Get the motor speed in radians per second.

float32 GetMotorTorque | ( | float32 | inv_dt | ) | const

Get the current motor torque given the inverse time step. Unit is N*m.

b2Vec2 GetReactionForce | ( | float32 | inv_dt | ) | const
| virtual

Get the reaction force given the inverse time step. Unit is N.

Implements b2Joint.

float32 GetReactionTorque | ( | float32 | inv_dt | ) | const
| virtual

Get the reaction torque due to the joint limit given the inverse time step. Unit is N*m.

Implements b2Joint.

float32 GetReferenceAngle | ( |  | ) | const
| inline

Get the reference angle.

float32 GetUpperLimit | ( |  | ) | const

Get the upper joint limit in radians.

void InitVelocityConstraints | ( | const b2SolverData & | data | ) |
| protected virtual

Implements b2Joint.

bool IsLimitEnabled | ( |  | ) | const

Is the joint limit enabled?

bool IsMotorEnabled | ( |  | ) | const

Is the joint motor enabled?

void SetLimits | ( | float32 | lower,
|  | float32 | upper
| ) |  |

Set the joint limits in radians.

void SetMaxMotorTorque | ( | float32 | torque | ) |

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

void SetMotorSpeed | ( | float32 | speed | ) |

Set the motor speed in radians per second.

bool SolvePositionConstraints | ( | const b2SolverData & | data | ) |
| protected virtual

Implements b2Joint.

void SolveVelocityConstraints | ( | const b2SolverData & | data | ) |
| protected virtual

Implements b2Joint.

## Friends And Related Function Documentation

friend class b2GearJoint
| friend

friend class b2Joint
| friend

## Member Data Documentation

bool m_enableLimit
| protected

bool m_enableMotor
| protected

b2Vec3 m_impulse
| protected

int32 m_indexA
| protected

int32 m_indexB
| protected

float32 m_invIA
| protected

float32 m_invIB
| protected

float32 m_invMassA
| protected

float32 m_invMassB
| protected

b2LimitState m_limitState
| protected

b2Vec2 m_localAnchorA
| protected

b2Vec2 m_localAnchorB
| protected

b2Vec2 m_localCenterA
| protected

b2Vec2 m_localCenterB
| protected

float32 m_lowerAngle
| protected

b2Mat33 m_mass
| protected

float32 m_maxMotorTorque
| protected

float32 m_motorImpulse
| protected

float32 m_motorMass
| protected

float32 m_motorSpeed
| protected

b2Vec2 m_rA
| protected

b2Vec2 m_rB
| protected

float32 m_referenceAngle
| protected

float32 m_upperAngle
| protected

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

- Box2D/Dynamics/Joints/b2RevoluteJoint.h
- Box2D/Dynamics/Joints/b2RevoluteJoint.cpp