| Box2D 2.2.1 A 2D Physics Engine for Games

- Main Page
- Classes
- Files

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

Public Member Functions | Protected Member Functions | Protected Attributes | Friends
b2GearJoint Class Reference

`#include <b2GearJoint.h>`

Inheritance diagram for b2GearJoint:

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 bodyB at the joint anchor in Newtons.
float32 | GetReactionTorque (float32 inv_dt) const
| Get the reaction torque on bodyB in N*m.
b2Joint * | GetJoint1 ()
| Get the first joint.
b2Joint * | GetJoint2 ()
| Get the second joint.
void | SetRatio (float32 ratio)
| Set/Get the gear ratio.
float32 | GetRatio () const
void | Dump ()
| Dump joint to dmLog.

## Protected Member Functions

| b2GearJoint (const b2GearJointDef *data)
void | InitVelocityConstraints (const b2SolverData &data)
void | SolveVelocityConstraints (const b2SolverData &data)
bool | SolvePositionConstraints (const b2SolverData &data)

## Protected Attributes

b2Joint * | m_joint1
b2Joint * | m_joint2
b2JointType | m_typeA
b2JointType | m_typeB
b2Body * | m_bodyC
b2Body * | m_bodyD
b2Vec2 | m_localAnchorA
b2Vec2 | m_localAnchorB
b2Vec2 | m_localAnchorC
b2Vec2 | m_localAnchorD
b2Vec2 | m_localAxisC
b2Vec2 | m_localAxisD
float32 | m_referenceAngleA
float32 | m_referenceAngleB
float32 | m_constant
float32 | m_ratio
float32 | m_impulse
int32 | m_indexA
int32 | m_indexB
int32 | m_indexC
int32 | m_indexD
b2Vec2 | m_lcA
b2Vec2 | m_lcB
b2Vec2 | m_lcC
b2Vec2 | m_lcD
float32 | m_mA
float32 | m_mB
float32 | m_mC
float32 | m_mD
float32 | m_iA
float32 | m_iB
float32 | m_iC
float32 | m_iD
b2Vec2 | m_JvAC
b2Vec2 | m_JvBD
float32 | m_JwA
float32 | m_JwB
float32 | m_JwC
float32 | m_JwD
float32 | m_mass

## Friends

class | b2Joint

## Detailed Description

A gear joint is used to connect two joints together. Either joint can be a revolute or prismatic joint. You specify a gear ratio to bind the motions together: coordinate1 + ratio * coordinate2 = constant The ratio can be negative or positive. If one joint is a revolute joint and the other joint is a prismatic joint, then the ratio will have units of length or units of 1/length.

Warning:
  You have to manually destroy the gear joint if joint1 or joint2 is destroyed.

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

- b2GearJoint.h
- b2GearJoint.cpp

All Classes Files Functions Variables Enumerations Enumerator Defines