Box2D 2.4.1
A 2D physics engine for games
b2RevoluteJointDef Struct Reference

#include <b2_revolute_joint.h>

Inheritance diagram for b2RevoluteJointDef:
b2JointDef

Public Member Functions

void Initialize (b2Body *bodyA, b2Body *bodyB, const b2Vec2 &anchor)
 

Public Attributes

b2Vec2 localAnchorA
 The local anchor point relative to bodyA's origin.
 
b2Vec2 localAnchorB
 The local anchor point relative to bodyB's origin.
 
float referenceAngle
 The bodyB angle minus bodyA angle in the reference state (radians).
 
bool enableLimit
 A flag to enable joint limits.
 
float lowerAngle
 The lower angle for the joint limit (radians).
 
float upperAngle
 The upper angle for the joint limit (radians).
 
bool enableMotor
 A flag to enable the joint motor.
 
float motorSpeed
 The desired motor speed. Usually in radians per second.
 
float maxMotorTorque
 
- Public Attributes inherited from b2JointDef
b2JointType type
 The joint type is set automatically for concrete joint types.
 
b2JointUserData userData
 Use this to attach application specific data to your joints.
 
b2BodybodyA
 The first attached body.
 
b2BodybodyB
 The second attached body.
 
bool collideConnected
 Set this flag to true if the attached bodies should collide.
 

Detailed Description

Revolute joint definition. This requires defining an anchor point where the bodies are joined. The definition uses local anchor points so that the initial configuration can violate the constraint slightly. You also need to specify the initial relative angle for joint limits. This helps when saving and loading a game. The local anchor points are measured from the body's origin rather than the center of mass because:

  1. you might not know where the center of mass will be.
  2. if you add/remove shapes from a body and recompute the mass, the joints will be broken.

Member Function Documentation

◆ Initialize()

void b2RevoluteJointDef::Initialize ( b2Body bodyA,
b2Body bodyB,
const b2Vec2 anchor 
)

Initialize the bodies, anchors, and reference angle using a world anchor point.

Member Data Documentation

◆ maxMotorTorque

float b2RevoluteJointDef::maxMotorTorque

The maximum motor torque used to achieve the desired motor speed. Usually in N-m.


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