Box2D  2.2.1
Box2D API Reference for Kobold2D developers
b2Joint Class Reference

#include <b2Joint.h>

Inheritance diagram for b2Joint:
Collaboration diagram for b2Joint:

List of all members.

Public Member Functions

b2JointType GetType () const
 Get the type of the concrete joint.
b2BodyGetBodyA ()
 Get the first body attached to this joint.
b2BodyGetBodyB ()
 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 (float32 inv_dt) const =0
 Get the reaction force on bodyB at the joint anchor in Newtons.
virtual float32 GetReactionTorque (float32 inv_dt) const =0
 Get the reaction torque on bodyB in N*m.
b2JointGetNext ()
 Get the next joint the world joint list.
const b2JointGetNext () const
void * GetUserData () const
 Get the user data pointer.
void SetUserData (void *data)
 Set the user data pointer.
bool IsActive () const
 Short-cut function to determine if either body is inactive.
bool GetCollideConnected () const
virtual void Dump ()
 Dump this joint to the log file.

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 b2JointCreate (const b2JointDef *def, b2BlockAllocator *allocator)
static void Destroy (b2Joint *joint, b2BlockAllocator *allocator)

Protected Attributes

b2JointType m_type
b2Jointm_prev
b2Jointm_next
b2JointEdge m_edgeA
b2JointEdge m_edgeB
b2Bodym_bodyA
b2Bodym_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.


Member Function Documentation

virtual void b2Joint::Dump ( ) [inline, virtual]
virtual b2Vec2 b2Joint::GetAnchorA ( ) const [pure virtual]

Get the anchor point on bodyA in world coordinates.

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

virtual b2Vec2 b2Joint::GetAnchorB ( ) const [pure virtual]

Get the anchor point on bodyB in world coordinates.

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

b2Body * b2Joint::GetBodyA ( ) [inline]

Get the first body attached to this joint.

b2Body * b2Joint::GetBodyB ( ) [inline]

Get the second body attached to this joint.

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.

b2Joint * b2Joint::GetNext ( ) [inline]

Get the next joint the world joint list.

virtual b2Vec2 b2Joint::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, b2RopeJoint, b2GearJoint, and b2FrictionJoint.

virtual float32 b2Joint::GetReactionTorque ( float32  inv_dt) const [pure virtual]
b2JointType b2Joint::GetType ( ) const [inline]

Get the type of the concrete joint.

void * b2Joint::GetUserData ( ) const [inline]

Get the user data pointer.

bool b2Joint::IsActive ( ) const

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

void b2Joint::SetUserData ( void *  data) [inline]

Set the user data pointer.


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