Box2D: b2Joint Class Reference

| Box2D 2.4.1 A 2D physics engine for games

Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Friends | List of all members
b2Joint Class Referenceabstract

`#include <b2_joint.h>`

Inheritance diagram for b2Joint:

## Public Member Functions
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.
virtual b2Vec2 | GetAnchorA () const =0
| Get the anchor point on bodyA in world coordinates.
virtual b2Vec2 | GetAnchorB () const =0
| Get the anchor point on bodyB in world coordinates.
virtual b2Vec2 | GetReactionForce (float inv_dt) const =0
| Get the reaction force on bodyB at the joint anchor in Newtons.
virtual float | GetReactionTorque (float inv_dt) const =0
| Get the reaction torque on bodyB in N*m.
b2Joint * | GetNext ()
| Get the next joint the world joint list.
const b2Joint * | GetNext () const
b2JointUserData & | GetUserData ()
| Get the user data pointer.
const b2JointUserData & | GetUserData () const
bool | IsEnabled () const
| Short-cut function to determine if either body is enabled.
bool | GetCollideConnected () const
virtual void | Dump ()
| Dump this joint to the log file.
virtual void | ShiftOrigin (const b2Vec2 &newOrigin)
| Shift the origin for any points stored in world coordinates.
virtual void | Draw (b2Draw *draw) const
| Debug draw this joint.

## Protected Member Functions
| b2Joint (const b2JointDef *def)
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
b2JointUserData | 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.

## Member Function Documentation

## ◆ Draw()

virtual void b2Joint::Draw | ( | b2Draw * | draw | ) | const
| virtual

Debug draw this joint.

Reimplemented in b2DistanceJoint, b2PrismaticJoint, b2RevoluteJoint, and b2WheelJoint.

## ◆ Dump()

virtual void b2Joint::Dump | ( |  | ) |
| inlinevirtual

Dump this joint to the log file.

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

## ◆ GetAnchorA()

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

Get the anchor point on bodyA in world coordinates.

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

## ◆ GetAnchorB()

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

Get the anchor point on bodyB in world coordinates.

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

## ◆ GetCollideConnected()

bool b2Joint::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.

## ◆ GetReactionForce()

virtual b2Vec2 b2Joint::GetReactionForce | ( | float | inv_dt | ) | const
| pure virtual

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

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

## ◆ GetReactionTorque()

virtual float b2Joint::GetReactionTorque | ( | float | inv_dt | ) | const
| pure virtual

Get the reaction torque on bodyB in N*m.

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

## ◆ ShiftOrigin()

virtual void b2Joint::ShiftOrigin | ( | const b2Vec2 & | newOrigin | ) |
| inlinevirtual

Shift the origin for any points stored in world coordinates.

Reimplemented in b2MouseJoint, and b2PulleyJoint.

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

- /build/box2d/src/box2d-2.4.2/include/box2d/b2_joint.h