|
Box2D
2.2.1
Box2D API Reference for Kobold2D developers
|
#include <b2RevoluteJoint.h>
Inheritance diagram for b2RevoluteJoint:
Collaboration diagram for b2RevoluteJoint: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. | |
| const b2Vec2 & | GetLocalAnchorA () const |
| The local anchor point relative to bodyA's origin. | |
| const b2Vec2 & | GetLocalAnchorB () const |
| The local anchor point relative to bodyB's origin. | |
| float32 | GetReferenceAngle () const |
| Get the reference angle. | |
| float32 | GetJointAngle () const |
| Get the current joint angle in radians. | |
| float32 | GetJointSpeed () const |
| Get the current joint angle speed in radians per second. | |
| bool | IsLimitEnabled () const |
| Is the joint limit enabled? | |
| void | EnableLimit (bool flag) |
| Enable/disable the joint limit. | |
| float32 | GetLowerLimit () const |
| Get the lower joint limit in radians. | |
| float32 | GetUpperLimit () const |
| Get the upper joint limit in radians. | |
| void | SetLimits (float32 lower, float32 upper) |
| Set the joint limits in radians. | |
| bool | IsMotorEnabled () const |
| Is the joint motor enabled? | |
| void | EnableMotor (bool flag) |
| Enable/disable the joint motor. | |
| void | SetMotorSpeed (float32 speed) |
| Set the motor speed in radians per second. | |
| float32 | GetMotorSpeed () const |
| Get the motor speed in radians per second. | |
| void | SetMaxMotorTorque (float32 torque) |
| Set the maximum motor torque, usually in N-m. | |
| float32 | GetMaxMotorTorque () const |
| b2Vec2 | GetReactionForce (float32 inv_dt) const |
| float32 | GetReactionTorque (float32 inv_dt) const |
| float32 | GetMotorTorque (float32 inv_dt) const |
| void | Dump () |
| Dump to b2Log. | |
Protected Member Functions | |
| b2RevoluteJoint (const b2RevoluteJointDef *def) | |
| void | InitVelocityConstraints (const b2SolverData &data) |
| void | SolveVelocityConstraints (const b2SolverData &data) |
| bool | SolvePositionConstraints (const b2SolverData &data) |
Protected Attributes | |
| b2Vec2 | m_localAnchorA |
| b2Vec2 | m_localAnchorB |
| b2Vec3 | m_impulse |
| float32 | m_motorImpulse |
| bool | m_enableMotor |
| float32 | m_maxMotorTorque |
| float32 | m_motorSpeed |
| bool | m_enableLimit |
| float32 | m_referenceAngle |
| float32 | m_lowerAngle |
| float32 | m_upperAngle |
| int32 | m_indexA |
| int32 | m_indexB |
| b2Vec2 | m_rA |
| b2Vec2 | m_rB |
| b2Vec2 | m_localCenterA |
| b2Vec2 | m_localCenterB |
| float32 | m_invMassA |
| float32 | m_invMassB |
| float32 | m_invIA |
| float32 | m_invIB |
| b2Mat33 | m_mass |
| float32 | m_motorMass |
| b2LimitState | m_limitState |
Friends | |
| class | b2Joint |
| class | b2GearJoint |
A revolute joint constrains two bodies to share a common point while they are free to rotate about the point. The relative rotation about the shared point is the joint angle. You can limit the relative rotation with a joint limit that specifies a lower and upper angle. You can use a motor to drive the relative rotation about the shared point. A maximum motor torque is provided so that infinite forces are not generated.
| void b2RevoluteJoint::Dump | ( | ) | [virtual] |
Dump to b2Log.
Reimplemented from b2Joint.
| void b2RevoluteJoint::EnableLimit | ( | bool | flag | ) |
Enable/disable the joint limit.
| void b2RevoluteJoint::EnableMotor | ( | bool | flag | ) |
Enable/disable the joint motor.
| b2Vec2 b2RevoluteJoint::GetAnchorA | ( | ) | const [virtual] |
Get the anchor point on bodyA in world coordinates.
Implements b2Joint.
| b2Vec2 b2RevoluteJoint::GetAnchorB | ( | ) | const [virtual] |
Get the anchor point on bodyB in world coordinates.
Implements b2Joint.
| float32 b2RevoluteJoint::GetJointAngle | ( | ) | const |
Get the current joint angle in radians.
| float32 b2RevoluteJoint::GetJointSpeed | ( | ) | const |
Get the current joint angle speed in radians per second.
| const b2Vec2& b2RevoluteJoint::GetLocalAnchorA | ( | ) | const [inline] |
The local anchor point relative to bodyA's origin.
| const b2Vec2& b2RevoluteJoint::GetLocalAnchorB | ( | ) | const [inline] |
The local anchor point relative to bodyB's origin.
| float32 b2RevoluteJoint::GetLowerLimit | ( | ) | const |
Get the lower joint limit in radians.
| float32 b2RevoluteJoint::GetMotorSpeed | ( | ) | const [inline] |
Get the motor speed in radians per second.
| float32 b2RevoluteJoint::GetMotorTorque | ( | float32 | inv_dt | ) | const |
Get the current motor torque given the inverse time step. Unit is N*m.
| b2Vec2 b2RevoluteJoint::GetReactionForce | ( | float32 | inv_dt | ) | const [virtual] |
Get the reaction force given the inverse time step. Unit is N.
Implements b2Joint.
| float32 b2RevoluteJoint::GetReactionTorque | ( | float32 | inv_dt | ) | const [virtual] |
Get the reaction torque due to the joint limit given the inverse time step. Unit is N*m.
Implements b2Joint.
| float32 b2RevoluteJoint::GetReferenceAngle | ( | ) | const [inline] |
Get the reference angle.
| float32 b2RevoluteJoint::GetUpperLimit | ( | ) | const |
Get the upper joint limit in radians.
| bool b2RevoluteJoint::IsLimitEnabled | ( | ) | const |
Is the joint limit enabled?
| bool b2RevoluteJoint::IsMotorEnabled | ( | ) | const |
Is the joint motor enabled?
| void b2RevoluteJoint::SetLimits | ( | float32 | lower, |
| float32 | upper | ||
| ) |
Set the joint limits in radians.
| void b2RevoluteJoint::SetMaxMotorTorque | ( | float32 | torque | ) |
Set the maximum motor torque, usually in N-m.
| void b2RevoluteJoint::SetMotorSpeed | ( | float32 | speed | ) |
Set the motor speed in radians per second.