Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
SpringPart Class Reference

Class used in other constraint parts to calculate the required bias factor in the lagrange multiplier for creating springs. More...

#include <SpringPart.h>

Public Member Functions

JPH_INLINE void CalculateSpringPropertiesWithBias (float inBias)
 
JPH_INLINE void CalculateSpringPropertiesWithStiffnessAndDamping (float inDeltaTime, float inInvEffectiveMass, float inBias, float inC, float inStiffness, float inDamping, float &outEffectiveMass)
 
JPH_INLINE void CalculateSpringPropertiesWithFrequencyAndDamping (float inDeltaTime, float inInvEffectiveMass, float inBias, float inC, float inFrequency, float inDamping, float &outEffectiveMass)
 
JPH_INLINE void CalculateSpringPropertiesWithMassNormalizedStiffnessAndDamping (float inDeltaTime, float inInvEffectiveMass, float inBias, float inC, float inStiffness, float inDamping, float &outEffectiveMass)
 
JPH_INLINE void CalculateSpringPropertiesWithSettings (float inDeltaTime, float inInvEffectiveMass, float inBias, float inC, const SpringSettings &inSpringSettings, float &outEffectiveMass)
 
JPH_INLINE bool IsActive () const
 Returns if this spring is active.
 
JPH_INLINE float GetBias (float inTotalLambda) const
 Get total bias b, including supplied bias and bias for spring: lambda = J v + b.
 

Detailed Description

Class used in other constraint parts to calculate the required bias factor in the lagrange multiplier for creating springs.

Member Function Documentation

◆ CalculateSpringPropertiesWithBias()

JPH_INLINE void SpringPart::CalculateSpringPropertiesWithBias ( float inBias)
inline

Turn off the spring and set a bias only

Parameters
inBiasBias term (b) for the constraint impulse: lambda = J v + b

◆ CalculateSpringPropertiesWithFrequencyAndDamping()

JPH_INLINE void SpringPart::CalculateSpringPropertiesWithFrequencyAndDamping ( float inDeltaTime,
float inInvEffectiveMass,
float inBias,
float inC,
float inFrequency,
float inDamping,
float & outEffectiveMass )
inline

Calculate spring properties based on frequency and damping ratio

Parameters
inDeltaTimeTime step
inInvEffectiveMassInverse effective mass K
inBiasBias term (b) for the constraint impulse: lambda = J v + b
inCValue of the constraint equation (C).
inFrequencyOscillation frequency (Hz).
inDampingDamping factor (0 = no damping, 1 = critical damping).
outEffectiveMassOn return, this contains the new effective mass K^-1

◆ CalculateSpringPropertiesWithMassNormalizedStiffnessAndDamping()

JPH_INLINE void SpringPart::CalculateSpringPropertiesWithMassNormalizedStiffnessAndDamping ( float inDeltaTime,
float inInvEffectiveMass,
float inBias,
float inC,
float inStiffness,
float inDamping,
float & outEffectiveMass )
inline

Calculate spring properties with spring stiffness (k) and damping (c) in acceleration mode, this is based on the spring equation: F = m_eff * (-k * x - c * v) where m_eff is the effective mass of the constraint

Parameters
inDeltaTimeTime step
inInvEffectiveMassInverse effective mass K
inBiasBias term (b) for the constraint impulse: lambda = J v + b
inCValue of the constraint equation (C).
inStiffnessSpring stiffness k.
inDampingSpring damping coefficient c.
outEffectiveMassOn return, this contains the new effective mass K^-1

◆ CalculateSpringPropertiesWithSettings()

JPH_INLINE void SpringPart::CalculateSpringPropertiesWithSettings ( float inDeltaTime,
float inInvEffectiveMass,
float inBias,
float inC,
const SpringSettings & inSpringSettings,
float & outEffectiveMass )
inline

Calculate spring properties based on SpringSettings object. Assumes the spring has either stiffness or damping.

◆ CalculateSpringPropertiesWithStiffnessAndDamping()

JPH_INLINE void SpringPart::CalculateSpringPropertiesWithStiffnessAndDamping ( float inDeltaTime,
float inInvEffectiveMass,
float inBias,
float inC,
float inStiffness,
float inDamping,
float & outEffectiveMass )
inline

Calculate spring properties with spring Stiffness (k) and damping (c), this is based on the spring equation: F = -k * x - c * v

Parameters
inDeltaTimeTime step
inInvEffectiveMassInverse effective mass K
inBiasBias term (b) for the constraint impulse: lambda = J v + b
inCValue of the constraint equation (C).
inStiffnessSpring stiffness k.
inDampingSpring damping coefficient c.
outEffectiveMassOn return, this contains the new effective mass K^-1

◆ GetBias()

JPH_INLINE float SpringPart::GetBias ( float inTotalLambda) const
inline

Get total bias b, including supplied bias and bias for spring: lambda = J v + b.

◆ IsActive()

JPH_INLINE bool SpringPart::IsActive ( ) const
inline

Returns if this spring is active.


The documentation for this class was generated from the following file: