Box2D
3.0.0
A Real-Time-Oriented 2-D Physics Engine
|
#include <RevoluteJoint.hpp>
Public Member Functions | |
RevoluteJoint (const RevoluteJointDef &def) | |
Length2D | GetAnchorA () const override |
Get the anchor point on bodyA in world coordinates. More... | |
Length2D | GetAnchorB () const override |
Get the anchor point on bodyB in world coordinates. More... | |
Length2D | GetLocalAnchorA () const noexcept |
The local anchor point relative to bodyA's origin. More... | |
Length2D | GetLocalAnchorB () const noexcept |
The local anchor point relative to bodyB's origin. More... | |
Angle | GetReferenceAngle () const noexcept |
Get the reference angle. More... | |
bool | IsLimitEnabled () const noexcept |
Is the joint limit enabled? More... | |
void | EnableLimit (bool flag) |
Enable/disable the joint limit. More... | |
Angle | GetLowerLimit () const noexcept |
Get the lower joint limit in radians. More... | |
Angle | GetUpperLimit () const noexcept |
Get the upper joint limit in radians. More... | |
void | SetLimits (Angle lower, Angle upper) |
Set the joint limits in radians. More... | |
bool | IsMotorEnabled () const noexcept |
Is the joint motor enabled? More... | |
void | EnableMotor (bool flag) |
Enable/disable the joint motor. More... | |
void | SetMotorSpeed (AngularVelocity speed) |
Set the motor speed in radians per second. More... | |
AngularVelocity | GetMotorSpeed () const noexcept |
Get the motor speed in radians per second. More... | |
void | SetMaxMotorTorque (Torque torque) |
Set the maximum motor torque, usually in N-m. More... | |
Torque | GetMaxMotorTorque () const noexcept |
Force2D | GetReactionForce (Frequency inv_dt) const override |
Get the reaction force given the inverse time step. Unit is N. More... | |
Torque | GetReactionTorque (Frequency inv_dt) const override |
Get the reaction torque due to the joint limit given the inverse time step. Unit is N*m. More... | |
Torque | GetMotorTorque (Frequency inv_dt) const |
Get the current motor torque given the inverse time step. Unit is N*m. More... | |
![]() | |
JointType | GetType () const noexcept |
Get the type of the concrete joint. More... | |
Body * | GetBodyA () noexcept |
Get the first body attached to this joint. More... | |
Body * | GetBodyB () noexcept |
Get the second body attached to this joint. More... | |
const Body * | GetBodyA () const noexcept |
Get the first body attached to this joint. More... | |
const Body * | GetBodyB () const noexcept |
Get the second body attached to this joint. More... | |
void * | GetUserData () const noexcept |
Get the user data pointer. More... | |
void | SetUserData (void *data) noexcept |
Set the user data pointer. More... | |
bool | GetCollideConnected () const noexcept |
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. More... | |
virtual void | ShiftOrigin (const Length2D newOrigin) |
Shift the origin for any points stored in world coordinates. More... | |
Additional Inherited Members | |
![]() | |
enum | LimitState { e_inactiveLimit, e_atLowerLimit, e_atUpperLimit, e_equalLimits } |
using | index_t = size_t |
![]() | |
static bool | IsOkay (const JointDef &def) noexcept |
![]() | |
Joint (const JointDef &def) | |
virtual | ~Joint () noexcept |
void | SetBodyA (Body *value) noexcept |
void | SetBodyB (Body *value) noexcept |
Revolute Joint.
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.
RevoluteJoint::RevoluteJoint | ( | const RevoluteJointDef & | def | ) |
void RevoluteJoint::EnableLimit | ( | bool | flag | ) |
Enable/disable the joint limit.
void RevoluteJoint::EnableMotor | ( | bool | flag | ) |
Enable/disable the joint motor.
|
overridevirtual |
Get the anchor point on bodyA in world coordinates.
Implements box2d::Joint.
|
overridevirtual |
Get the anchor point on bodyB in world coordinates.
Implements box2d::Joint.
|
inlinenoexcept |
The local anchor point relative to bodyA's origin.
|
inlinenoexcept |
The local anchor point relative to bodyB's origin.
|
inlinenoexcept |
Get the lower joint limit in radians.
|
inlinenoexcept |
|
inlinenoexcept |
Get the motor speed in radians per second.
Get the current motor torque given the inverse time step. Unit is N*m.
Get the reaction force given the inverse time step. Unit is N.
Implements box2d::Joint.
Get the reaction torque due to the joint limit given the inverse time step. Unit is N*m.
Implements box2d::Joint.
|
inlinenoexcept |
Get the reference angle.
|
inlinenoexcept |
Get the upper joint limit in radians.
|
inlinenoexcept |
Is the joint limit enabled?
|
inlinenoexcept |
Is the joint motor enabled?
void RevoluteJoint::SetMaxMotorTorque | ( | Torque | torque | ) |
Set the maximum motor torque, usually in N-m.
void RevoluteJoint::SetMotorSpeed | ( | AngularVelocity | speed | ) |
Set the motor speed in radians per second.