Box2D
3.0.0
A Real-Time-Oriented 2-D Physics Engine
|
A wheel joint. This joint provides two degrees of freedom: translation along an axis fixed in bodyA and rotation in the plane. In other words, it is a point to line constraint with a rotational motor and a linear spring/damper. This joint is designed for vehicle suspensions. More...
#include <WheelJoint.hpp>
Public Member Functions | |
WheelJoint (const WheelJointDef &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... | |
Force2D | GetReactionForce (Frequency inv_dt) const override |
Get the reaction force on bodyB at the joint anchor in Newtons. More... | |
Torque | GetReactionTorque (Frequency inv_dt) const override |
Get the reaction torque on bodyB in N*m. More... | |
Length2D | GetLocalAnchorA () const |
The local anchor point relative to bodyA's origin. More... | |
Length2D | GetLocalAnchorB () const |
The local anchor point relative to bodyB's origin. More... | |
UnitVec2 | GetLocalAxisA () const |
The local joint axis relative to bodyA. More... | |
Length | GetJointTranslation () const |
Get the current joint translation, usually in meters. More... | |
AngularVelocity | GetJointSpeed () const |
Get the current joint translation speed, in Angle per second. 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, usually in radians per second. More... | |
AngularVelocity | GetMotorSpeed () const |
Get the motor speed, usually in radians per second. More... | |
void | SetMaxMotorTorque (Torque torque) |
Set/Get the maximum motor force, usually in N-m. More... | |
Torque | GetMaxMotorTorque () const |
Torque | GetMotorTorque (Frequency inv_dt) const |
Get the current motor torque given the inverse time step, usually in N-m. More... | |
void | SetSpringFrequencyHz (Frequency hz) |
Set/Get the spring frequency in Hertz. Setting the frequency to zero disables the spring. More... | |
Frequency | GetSpringFrequencyHz () const |
void | SetSpringDampingRatio (RealNum ratio) |
Set/Get the spring damping ratio. More... | |
RealNum | GetSpringDampingRatio () const |
![]() | |
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 |
A wheel joint. This joint provides two degrees of freedom: translation along an axis fixed in bodyA and rotation in the plane. In other words, it is a point to line constraint with a rotational motor and a linear spring/damper. This joint is designed for vehicle suspensions.
WheelJoint::WheelJoint | ( | const WheelJointDef & | def | ) |
void WheelJoint::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.
AngularVelocity WheelJoint::GetJointSpeed | ( | ) | const |
Get the current joint translation speed, in Angle per second.
Length WheelJoint::GetJointTranslation | ( | ) | const |
Get the current joint translation, usually in meters.
|
inline |
The local anchor point relative to bodyA's origin.
|
inline |
The local anchor point relative to bodyB's origin.
|
inline |
The local joint axis relative to bodyA.
|
inline |
|
inline |
Get the motor speed, usually in radians per second.
Get the current motor torque given the inverse time step, usually in N-m.
Get the reaction force on bodyB at the joint anchor in Newtons.
Implements box2d::Joint.
Get the reaction torque on bodyB in N*m.
Implements box2d::Joint.
|
inline |
|
inline |
|
inlinenoexcept |
Is the joint motor enabled?
void WheelJoint::SetMaxMotorTorque | ( | Torque | torque | ) |
Set/Get the maximum motor force, usually in N-m.
void WheelJoint::SetMotorSpeed | ( | AngularVelocity | speed | ) |
Set the motor speed, usually in radians per second.
|
inline |
Set/Get the spring damping ratio.
|
inline |
Set/Get the spring frequency in Hertz. Setting the frequency to zero disables the spring.