Box2D: b2RevoluteJoint Class Reference

# b2RevoluteJoint Class Reference

`#include <b2RevoluteJoint.h>`

Inheritance diagram for b2RevoluteJoint:

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

bool b2RevoluteJoint::m_enableLimit`[protected]`

bool b2RevoluteJoint::m_enableMotor`[protected]`

b2Vec3 b2RevoluteJoint::m_impulse`[protected]`

b2LimitState b2RevoluteJoint::m_limitState`[protected]`

b2Vec2 b2RevoluteJoint::m_localAnchor1`[protected]`

b2Vec2 b2RevoluteJoint::m_localAnchor2`[protected]`

float32 b2RevoluteJoint::m_lowerAngle`[protected]`

b2Mat33 b2RevoluteJoint::m_mass`[protected]`

float32 b2RevoluteJoint::m_maxMotorTorque`[protected]`

float32 b2RevoluteJoint::m_motorImpulse`[protected]`

float32 b2RevoluteJoint::m_motorMass`[protected]`

float32 b2RevoluteJoint::m_motorSpeed`[protected]`

float32 b2RevoluteJoint::m_referenceAngle`[protected]`

float32 b2RevoluteJoint::m_upperAngle`[protected]`

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

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