30    void                        SetRatio(
int inNumTeethRack, 
float inRackLength, 
int inNumTeethPinion)
 
   32        mRatio = 2.0f * JPH_PI * inNumTeethRack / (inRackLength * inNumTeethPinion);
 
   65    virtual void                SetupVelocityConstraint(
float inDeltaTime) 
override;
 
   66    virtual void                ResetWarmStart() 
override;
 
   67    virtual void                WarmStartVelocityConstraint(
float inWarmStartImpulseRatio) 
override;
 
   68    virtual bool                SolveVelocityConstraint(
float inDeltaTime) 
override;
 
   69    virtual bool                SolvePositionConstraint(
float inDeltaTime, 
float inBaumgarte) 
override;
 
   70#ifdef JPH_DEBUG_RENDERER 
   71    virtual void                DrawConstraint(
DebugRenderer *inRenderer) 
const override;
 
   73    virtual void                SaveState(
StateRecorder &inStream) 
const override;
 
   78    virtual Mat44               GetConstraintToBody1Matrix() 
const override;
 
   79    virtual Mat44               GetConstraintToBody2Matrix() 
const override;
 
   85    inline float                GetTotalLambda()
 const                                                  { 
return mRackAndPinionConstraintPart.GetTotalLambda(); }
 
   89    void                        CalculateConstraintProperties(
Mat44Arg inRotation1, 
Mat44Arg inRotation2);
 
   94    Vec3                        mLocalSpaceHingeAxis;
 
   97    Vec3                        mLocalSpaceSliderAxis;
 
  109    Vec3                        mWorldSpaceHingeAxis;
 
  112    Vec3                        mWorldSpaceSliderAxis;
 
EConstraintSpace
Certain constraints support setting them up in local or world space. This governs what is used.
Definition: Constraint.h:58
 
EConstraintSubType
Enum to identify constraint sub type.
Definition: Constraint.h:34
 
#define JPH_EXPORT
Definition: Core.h:236
 
#define JPH_NAMESPACE_END
Definition: Core.h:378
 
#define JPH_NAMESPACE_BEGIN
Definition: Core.h:372
 
#define JPH_OVERRIDE_NEW_DELETE
Macro to override the new and delete functions.
Definition: Memory.h:31
 
#define JPH_DECLARE_SERIALIZABLE_VIRTUAL(linkage, class_name)
Definition: SerializableObject.h:109
 
ID of a body. This is a way of reasoning about bodies in a multithreaded simulation while avoiding ra...
Definition: BodyID.h:13
 
Base class for all physics constraints. A constraint removes one or more degrees of freedom for a rig...
Definition: Constraint.h:103
 
virtual void SaveBinaryState(StreamOut &inStream) const
Saves the contents of the constraint settings in binary form to inStream.
Definition: Constraint.cpp:26
 
virtual void RestoreBinaryState(StreamIn &inStream)
This function should not be called directly, it is used by sRestoreFromBinaryState.
Definition: Constraint.cpp:36
 
Definition: DebugRenderer.h:47
 
Holds a 4x4 matrix of floats, but supports also operations on the 3x3 upper left part of the matrix.
Definition: Mat44.h:13
 
Definition: RackAndPinionConstraint.h:55
 
float GetTotalLambda() const
Definition: RackAndPinionConstraint.h:85
 
void SetConstraints(const Constraint *inPinion, const Constraint *inRack)
The constraints that constrain the rack and pinion (a slider and a hinge), optional and used to calcu...
Definition: RackAndPinionConstraint.h:82
 
virtual void NotifyShapeChanged(const BodyID &inBodyID, Vec3Arg inDeltaCOM) override
Definition: RackAndPinionConstraint.h:64
 
virtual EConstraintSubType GetSubType() const override
Get the sub type of a constraint.
Definition: RackAndPinionConstraint.h:63
 
Definition: RackAndPinionConstraintPart.h:40
 
Rack and pinion constraint (slider & gear) settings.
Definition: RackAndPinionConstraint.h:14
 
void SetRatio(int inNumTeethRack, float inRackLength, int inNumTeethPinion)
Definition: RackAndPinionConstraint.h:30
 
Definition: Reference.h:157
 
Definition: Reference.h:107
 
Definition: StateRecorder.h:105
 
Simple binary input stream.
Definition: StreamIn.h:13
 
Simple binary output stream.
Definition: StreamOut.h:13
 
Base class for all constraints that involve 2 bodies. Body1 is usually considered the parent,...
Definition: TwoBodyConstraint.h:27
 
Base class for settings for all constraints that involve 2 bodies.
Definition: TwoBodyConstraint.h:16
 
virtual TwoBodyConstraint * Create(Body &inBody1, Body &inBody2) const =0
 
static JPH_INLINE Vec3 sAxisX()
Vectors with the principal axis.
Definition: Vec3.h:53