48    float                       mNormalHalfConeAngle = 0.0f;                                
 
   49    float                       mPlaneHalfConeAngle = 0.0f;                                 
 
   52    float                       mTwistMinAngle = 0.0f;                                      
 
   53    float                       mTwistMaxAngle = 0.0f;                                      
 
   56    float                       mMaxFrictionTorque = 0.0f;                                  
 
   80    virtual void                NotifyShapeChanged(
const BodyID &inBodyID, 
Vec3Arg inDeltaCOM) 
override;
 
   81    virtual void                SetupVelocityConstraint(
float inDeltaTime) 
override;
 
   82    virtual void                ResetWarmStart() 
override;
 
   83    virtual void                WarmStartVelocityConstraint(
float inWarmStartImpulseRatio) 
override;
 
   84    virtual bool                SolveVelocityConstraint(
float inDeltaTime) 
override;
 
   85    virtual bool                SolvePositionConstraint(
float inDeltaTime, 
float inBaumgarte) 
override;
 
   86#ifdef JPH_DEBUG_RENDERER 
   87    virtual void                DrawConstraint(
DebugRenderer *inRenderer) 
const override;
 
   88    virtual void                DrawConstraintLimits(
DebugRenderer *inRenderer) 
const override;
 
   90    virtual void                SaveState(
StateRecorder &inStream) 
const override;
 
  137    void                        SetTargetOrientationCS(
QuatArg inOrientation);
 
  146    Quat                        GetRotationInConstraintSpace() 
const;
 
  153    inline Vec3                 GetTotalLambdaMotor()
 const                                 { 
return Vec3(mMotorConstraintPart[0].GetTotalLambda(), mMotorConstraintPart[1].GetTotalLambda(), mMotorConstraintPart[2].GetTotalLambda()); }
 
  162    Vec3                        mLocalSpacePosition1;
 
  163    Vec3                        mLocalSpacePosition2;
 
  166    Quat                        mConstraintToBody1;
 
  167    Quat                        mConstraintToBody2;
 
  170    float                       mNormalHalfConeAngle;
 
  171    float                       mPlaneHalfConeAngle;
 
  172    float                       mTwistMinAngle;
 
  173    float                       mTwistMaxAngle;
 
  176    float                       mMaxFrictionTorque;
 
  189    Vec3                        mWorldSpaceMotorAxis[3];
 
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
 
EMotorState
Definition: MotorSettings.h:17
 
#define JPH_DECLARE_SERIALIZABLE_VIRTUAL(linkage, class_name)
Definition: SerializableObject.h:109
 
ESwingType
How the swing limit behaves.
Definition: SwingTwistConstraintPart.h:15
 
Definition: AngleConstraintPart.h:37
 
ID of a body. This is a way of reasoning about bodies in a multithreaded simulation while avoiding ra...
Definition: BodyID.h:13
 
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
 
static JPH_INLINE Mat44 sRotationTranslation(QuatArg inR, Vec3Arg inT)
Get matrix that rotates and translates.
Definition: Mat44.inl:149
 
Definition: MotorSettings.h:26
 
Definition: PointConstraintPart.h:41
 
static JPH_INLINE Quat sIdentity()
Definition: Quat.h:103
 
Definition: Reference.h:107
 
Definition: StateRecorder.h:105
 
Simple binary input stream.
Definition: StreamIn.h:13
 
Simple binary output stream.
Definition: StreamOut.h:13
 
Definition: SwingTwistConstraint.h:71
 
void SetPlaneHalfConeAngle(float inAngle)
Definition: SwingTwistConstraint.h:108
 
float GetNormalHalfConeAngle() const
Definition: SwingTwistConstraint.h:105
 
void SetTwistMinAngle(float inAngle)
Definition: SwingTwistConstraint.h:110
 
float GetTotalLambdaSwingY() const
Definition: SwingTwistConstraint.h:151
 
float GetTwistMaxAngle() const
Definition: SwingTwistConstraint.h:111
 
virtual EConstraintSubType GetSubType() const override
Get the sub type of a constraint.
Definition: SwingTwistConstraint.h:79
 
virtual Mat44 GetConstraintToBody2Matrix() const override
Calculates the transform that transforms from constraint space to body 2 space. The first column of t...
Definition: SwingTwistConstraint.h:96
 
float GetTotalLambdaSwingZ() const
Definition: SwingTwistConstraint.h:152
 
void SetTargetAngularVelocityCS(Vec3Arg inAngularVelocity)
Set the target angular velocity of body 2 in constraint space of body 2.
Definition: SwingTwistConstraint.h:133
 
Vec3 GetTotalLambdaMotor() const
Definition: SwingTwistConstraint.h:153
 
EMotorState GetTwistMotorState() const
Definition: SwingTwistConstraint.h:130
 
Quat GetConstraintToBody1() const
Definition: SwingTwistConstraint.h:101
 
void SetTwistMaxAngle(float inAngle)
Definition: SwingTwistConstraint.h:112
 
void SetNormalHalfConeAngle(float inAngle)
Definition: SwingTwistConstraint.h:106
 
Vec3 GetLocalSpacePosition1() const
Definition: SwingTwistConstraint.h:99
 
const MotorSettings & GetSwingMotorSettings() const
Definition: SwingTwistConstraint.h:115
 
float GetPlaneHalfConeAngle() const
Definition: SwingTwistConstraint.h:107
 
float GetMaxFrictionTorque() const
Definition: SwingTwistConstraint.h:122
 
Quat GetConstraintToBody2() const
Definition: SwingTwistConstraint.h:102
 
Vec3 GetTargetAngularVelocityCS() const
Definition: SwingTwistConstraint.h:134
 
Vec3 GetTotalLambdaPosition() const
Definition: SwingTwistConstraint.h:149
 
void SetTargetOrientationBS(QuatArg inOrientation)
Definition: SwingTwistConstraint.h:142
 
Vec3 GetLocalSpacePosition2() const
Definition: SwingTwistConstraint.h:100
 
Quat GetTargetOrientationCS() const
Definition: SwingTwistConstraint.h:138
 
virtual Mat44 GetConstraintToBody1Matrix() const override
Calculates the transform that transforms from constraint space to body 1 space. The first column of t...
Definition: SwingTwistConstraint.h:95
 
void SetMaxFrictionTorque(float inFrictionTorque)
Definition: SwingTwistConstraint.h:121
 
MotorSettings & GetSwingMotorSettings()
Definition: SwingTwistConstraint.h:116
 
float GetTwistMinAngle() const
Definition: SwingTwistConstraint.h:109
 
const MotorSettings & GetTwistMotorSettings() const
Definition: SwingTwistConstraint.h:117
 
MotorSettings & GetTwistMotorSettings()
Definition: SwingTwistConstraint.h:118
 
float GetTotalLambdaTwist() const
Definition: SwingTwistConstraint.h:150
 
EMotorState GetSwingMotorState() const
Definition: SwingTwistConstraint.h:128
 
Definition: SwingTwistConstraintPart.h:33
 
Definition: SwingTwistConstraint.h:21
 
MotorSettings mSwingMotorSettings
Definition: SwingTwistConstraint.h:59
 
MotorSettings mTwistMotorSettings
Definition: SwingTwistConstraint.h:60
 
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
 
static JPH_INLINE Vec3 sAxisY()
Definition: Vec3.h:54
 
static JPH_INLINE Vec3 sZero()
Vector with all zeros.
Definition: Vec3.inl:107