Torque2D Reference

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

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

Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Friends | List of all members
b2Joint Class Referenceabstract

`#include <b2Joint.h>`

Inheritance diagram for b2Joint:

## Public Member Functions
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...
virtual b2Vec2 | GetAnchorA () const =0
| Get the anchor point on bodyA in world coordinates. More...
virtual b2Vec2 | GetAnchorB () const =0
| Get the anchor point on bodyB in world coordinates. More...
virtual b2Vec2 | GetReactionForce (float32 inv_dt) const =0
| Get the reaction force on bodyB at the joint anchor in Newtons. More...
virtual float32 | GetReactionTorque (float32 inv_dt) const =0
| Get the reaction torque on bodyB in N*m. 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 | Dump ()
| Dump this joint to the log file. More...
virtual void | ShiftOrigin (const b2Vec2 &newOrigin)
| Shift the origin for any points stored in world coordinates. More...

## Protected Member Functions
| b2Joint (const b2JointDef *def)
virtual | ~b2Joint ()
virtual void | InitVelocityConstraints (const b2SolverData &data)=0
virtual void | SolveVelocityConstraints (const b2SolverData &data)=0
virtual bool | SolvePositionConstraints (const b2SolverData &data)=0

## Static Protected Member Functions
static b2Joint * | Create (const b2JointDef *def, b2BlockAllocator *allocator)
static void | Destroy (b2Joint *joint, b2BlockAllocator *allocator)

## Protected Attributes
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 | b2World
class | b2Body
class | b2Island
class | b2GearJoint

## Detailed Description

The base joint class. Joints are used to constraint two bodies together in various fashions. Some joints also feature limits and motors.

## Constructor & Destructor Documentation

b2Joint | ( | const b2JointDef * | def | ) |
| protected

virtual ~b2Joint | ( |  | ) |
| inline protected virtual

## Member Function Documentation

b2Joint * Create | ( | const b2JointDef * | def,
|  | b2BlockAllocator * | allocator
| ) |  |
| static protected

void Destroy | ( | b2Joint * | joint,
|  | b2BlockAllocator * | allocator
| ) |  |
| static protected

virtual void Dump | ( |  | ) |
| inline virtual

Dump this joint to the log file.

Reimplemented in b2RevoluteJoint, b2PrismaticJoint, b2WheelJoint, b2PulleyJoint, b2DistanceJoint, b2MouseJoint, b2MotorJoint, b2WeldJoint, b2FrictionJoint, b2RopeJoint, and b2GearJoint.

virtual b2Vec2 GetAnchorA | ( |  | ) | const
| pure virtual

Get the anchor point on bodyA in world coordinates.

Implemented in b2RevoluteJoint, b2PrismaticJoint, b2WheelJoint, b2PulleyJoint, b2DistanceJoint, b2MouseJoint, b2WeldJoint, b2MotorJoint, b2RopeJoint, b2GearJoint, and b2FrictionJoint.

virtual b2Vec2 GetAnchorB | ( |  | ) | const
| pure virtual

Get the anchor point on bodyB in world coordinates.

Implemented in b2RevoluteJoint, b2PrismaticJoint, b2WheelJoint, b2PulleyJoint, b2DistanceJoint, b2MouseJoint, b2WeldJoint, b2MotorJoint, b2RopeJoint, b2GearJoint, and b2FrictionJoint.

b2Body * GetBodyA | ( |  | ) |
| inline

Get the first body attached to this joint.

b2Body * GetBodyB | ( |  | ) |
| inline

Get the second body attached to this joint.

bool GetCollideConnected | ( |  | ) | const
| inline

Get collide connected. Note: modifying the collide connect flag won't work correctly because the flag is only checked when fixture AABBs begin to overlap.

b2Joint * GetNext | ( |  | ) |
| inline

Get the next joint the world joint list.

const b2Joint * GetNext | ( |  | ) | const
| inline

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

Get the reaction force on bodyB at the joint anchor in Newtons.

Implemented in b2RevoluteJoint, b2PrismaticJoint, b2WheelJoint, b2PulleyJoint, b2DistanceJoint, b2MouseJoint, b2WeldJoint, b2MotorJoint, b2RopeJoint, b2GearJoint, and b2FrictionJoint.

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

Get the reaction torque on bodyB in N*m.

Implemented in b2RevoluteJoint, b2PrismaticJoint, b2WheelJoint, b2PulleyJoint, b2DistanceJoint, b2MouseJoint, b2WeldJoint, b2MotorJoint, b2RopeJoint, b2GearJoint, and b2FrictionJoint.

b2JointType GetType | ( |  | ) | const
| inline

Get the type of the concrete joint.

void * GetUserData | ( |  | ) | const
| inline

Get the user data pointer.

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

Implemented in b2RevoluteJoint, b2PrismaticJoint, b2WheelJoint, b2PulleyJoint, b2DistanceJoint, b2MouseJoint, b2MotorJoint, b2WeldJoint, b2FrictionJoint, b2RopeJoint, and b2GearJoint.

bool IsActive | ( |  | ) | const

Short-cut function to determine if either body is inactive.

void SetUserData | ( | void * | data | ) |
| inline

Set the user data pointer.

virtual void ShiftOrigin | ( | const b2Vec2 & | newOrigin | ) |
| inline virtual

Shift the origin for any points stored in world coordinates.

Reimplemented in b2PulleyJoint, and b2MouseJoint.

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

Implemented in b2RevoluteJoint, b2PrismaticJoint, b2WheelJoint, b2PulleyJoint, b2DistanceJoint, b2MouseJoint, b2MotorJoint, b2WeldJoint, b2FrictionJoint, b2RopeJoint, and b2GearJoint.

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

Implemented in b2RevoluteJoint, b2PrismaticJoint, b2WheelJoint, b2PulleyJoint, b2DistanceJoint, b2MouseJoint, b2MotorJoint, b2WeldJoint, b2FrictionJoint, b2RopeJoint, and b2GearJoint.

## Friends And Related Function Documentation

friend class b2Body
| friend

friend class b2GearJoint
| friend

friend class b2Island
| friend

friend class b2World
| friend

## Member Data Documentation

b2Body* m_bodyA
| protected

b2Body* m_bodyB
| protected

bool m_collideConnected
| protected

b2JointEdge m_edgeA
| protected

b2JointEdge m_edgeB
| protected

int32 m_index
| protected

bool m_islandFlag
| protected

b2Joint* m_next
| protected

b2Joint* m_prev
| protected

b2JointType m_type
| protected

void* m_userData
| protected

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

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