Box2D: b2RevoluteJoint Class Reference

| Box2D 2.4.1 A 2D physics engine for games

Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
b2RevoluteJoint Class Reference

`#include <b2_revolute_joint.h>`

Inheritance diagram for b2RevoluteJoint:

## Public Member Functions
b2Vec2 | GetAnchorA () const override
| Get the anchor point on bodyA in world coordinates.
b2Vec2 | GetAnchorB () const override
| Get the anchor point on bodyB in world coordinates.
const b2Vec2 & | GetLocalAnchorA () const
| The local anchor point relative to bodyA's origin.
const b2Vec2 & | GetLocalAnchorB () const
| The local anchor point relative to bodyB's origin.
float | GetReferenceAngle () const
| Get the reference angle.
float | GetJointAngle () const
| Get the current joint angle in radians.
float | 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.
float | GetLowerLimit () const
| Get the lower joint limit in radians.
float | GetUpperLimit () const
| Get the upper joint limit in radians.
void | SetLimits (float lower, float 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 (float speed)
| Set the motor speed in radians per second.
float | GetMotorSpeed () const
| Get the motor speed in radians per second.
void | SetMaxMotorTorque (float torque)
| Set the maximum motor torque, usually in N-m.
float | GetMaxMotorTorque () const
b2Vec2 | GetReactionForce (float inv_dt) const override
float | GetReactionTorque (float inv_dt) const override
float | GetMotorTorque (float inv_dt) const
void | Dump () override
| Dump to b2Log.
void | Draw (b2Draw *draw) const override
| Debug draw this joint.
Public Member Functions inherited from b2Joint
b2JointType | GetType () const
| Get the type of the concrete joint.
b2Body * | GetBodyA ()
| Get the first body attached to this joint.
b2Body * | GetBodyB ()
| Get the second body attached to this joint.
b2Joint * | GetNext ()
| Get the next joint the world joint list.
const b2Joint * | GetNext () const
b2JointUserData & | GetUserData ()
| Get the user data pointer.
bool | IsEnabled () const
| Short-cut function to determine if either body is enabled.
bool | GetCollideConnected () const
virtual void | ShiftOrigin (const b2Vec2 &newOrigin)
| Shift the origin for any points stored in world coordinates.

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

## Protected Attributes
b2Vec2 | m_localAnchorA
b2Vec2 | m_localAnchorB
b2Vec2 | m_impulse
float | m_motorImpulse
float | m_lowerImpulse
float | m_upperImpulse
bool | m_enableMotor
float | m_maxMotorTorque
float | m_motorSpeed
bool | m_enableLimit
float | m_referenceAngle
float | m_lowerAngle
float | m_upperAngle
int32 | m_indexA
int32 | m_indexB
b2Vec2 | m_rA
b2Vec2 | m_rB
b2Vec2 | m_localCenterA
b2Vec2 | m_localCenterB
float | m_invMassA
float | m_invMassB
float | m_invIA
float | m_invIB
b2Mat22 | m_K
float | m_angle
float | m_axialMass
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
b2JointUserData | 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.

## Member Function Documentation

## ◆ Draw()

void b2RevoluteJoint::Draw | ( | b2Draw * | draw | ) | const
| overridevirtual

Debug draw this joint.

Reimplemented from b2Joint.

## ◆ Dump()

void b2RevoluteJoint::Dump | ( |  | ) |
| overridevirtual

Dump to b2Log.

Reimplemented from b2Joint.

## ◆ GetAnchorA()

b2Vec2 b2RevoluteJoint::GetAnchorA | ( |  | ) | const
| overridevirtual

Get the anchor point on bodyA in world coordinates.

Implements b2Joint.

## ◆ GetAnchorB()

b2Vec2 b2RevoluteJoint::GetAnchorB | ( |  | ) | const
| overridevirtual

Get the anchor point on bodyB in world coordinates.

Implements b2Joint.

## ◆ GetMotorTorque()

float b2RevoluteJoint::GetMotorTorque | ( | float | inv_dt | ) | const

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

## ◆ GetReactionForce()

b2Vec2 b2RevoluteJoint::GetReactionForce | ( | float | inv_dt | ) | const
| overridevirtual

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

Implements b2Joint.

## ◆ GetReactionTorque()

float b2RevoluteJoint::GetReactionTorque | ( | float | inv_dt | ) | const
| overridevirtual

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

Implements b2Joint.

## ◆ InitVelocityConstraints()

void b2RevoluteJoint::InitVelocityConstraints | ( | const b2SolverData & | data | ) |
| overrideprotectedvirtual

Implements b2Joint.

## ◆ SolvePositionConstraints()

bool b2RevoluteJoint::SolvePositionConstraints | ( | const b2SolverData & | data | ) |
| overrideprotectedvirtual

Implements b2Joint.

## ◆ SolveVelocityConstraints()

void b2RevoluteJoint::SolveVelocityConstraints | ( | const b2SolverData & | data | ) |
| overrideprotectedvirtual

Implements b2Joint.

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

- /build/box2d/src/box2d-2.4.1/include/box2d/b2_revolute_joint.h