|
Box2D
2.4.1
A 2D physics engine for games
|
23 #ifndef B2_DISTANCE_JOINT_H
24 #define B2_DISTANCE_JOINT_H
37 type = e_distanceJoint;
38 localAnchorA.Set(0.0f, 0.0f);
39 localAnchorB.Set(0.0f, 0.0f);
102 float SetLength(
float length);
109 float SetMinLength(
float minLength);
116 float SetMaxLength(
float maxLength);
119 float GetCurrentLength()
const;
123 float GetStiffness()
const {
return m_stiffness; }
127 float GetDamping()
const {
return m_damping; }
130 void Dump()
override;
140 void InitVelocityConstraints(
const b2SolverData& data)
override;
141 void SolveVelocityConstraints(
const b2SolverData& data)
override;
142 bool SolvePositionConstraints(
const b2SolverData& data)
override;
156 float m_lowerImpulse;
157 float m_upperImpulse;
167 float m_currentLength;
A 2D column vector.
Definition: b2_math.h:41
A rigid body. These are created via b2World::CreateBody.
Definition: b2_body.h:128
float GetMaxLength() const
Get the maximum length.
Definition: b2_distance_joint.h:112
float minLength
Minimum length. Clamped to a stable minimum value.
Definition: b2_distance_joint.h:62
Definition: b2_distance_joint.h:76
virtual b2Vec2 GetReactionForce(float inv_dt) const =0
Get the reaction force on bodyB at the joint anchor in Newtons.
virtual b2Vec2 GetAnchorA() const =0
Get the anchor point on bodyA in world coordinates.
const b2Vec2 & GetLocalAnchorA() const
The local anchor point relative to bodyA's origin.
Definition: b2_distance_joint.h:92
void SetDamping(float damping)
Set/get linear damping in N*s/m.
Definition: b2_distance_joint.h:126
Joint definitions are used to construct joints.
Definition: b2_joint.h:72
const b2Vec2 & GetLocalAnchorB() const
The local anchor point relative to bodyB's origin.
Definition: b2_distance_joint.h:95
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition: b2_distance_joint.h:53
float damping
The linear damping in N*s/m.
Definition: b2_distance_joint.h:71
virtual void Draw(b2Draw *draw) const
Debug draw this joint.
float length
The rest length of this joint. Clamped to a stable minimum value.
Definition: b2_distance_joint.h:59
virtual void Dump()
Dump this joint to the log file.
Definition: b2_joint.h:151
float stiffness
The linear stiffness in N/m.
Definition: b2_distance_joint.h:68
float GetLength() const
Get the rest length.
Definition: b2_distance_joint.h:98
Solver Data.
Definition: b2_time_step.h:67
float GetMinLength() const
Get the minimum length.
Definition: b2_distance_joint.h:105
virtual b2Vec2 GetAnchorB() const =0
Get the anchor point on bodyB in world coordinates.
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition: b2_distance_joint.h:56
void SetStiffness(float stiffness)
Set/get the linear stiffness in N/m.
Definition: b2_distance_joint.h:122
Definition: b2_joint.h:110
virtual float GetReactionTorque(float inv_dt) const =0
Get the reaction torque on bodyB in N*m.
float maxLength
Maximum length. Must be greater than or equal to the minimum length.
Definition: b2_distance_joint.h:65
Definition: b2_distance_joint.h:33