8#ifndef JPH_PLATFORM_DOXYGEN
25 inline void CalculateSpringProperties(
float inDeltaTime,
float inInvEffectiveMass,
float inBias,
float inC,
float inFrequency,
float inDamping,
float &outEffectiveMass)
27 outEffectiveMass = 1.0f / inInvEffectiveMass;
30 if (inFrequency > 0.0f)
33 float omega = 2.0f * JPH_PI * inFrequency;
36 float k = outEffectiveMass *
Square(omega);
37 float c = 2.0f * outEffectiveMass * inDamping * omega;
46 mSoftness = 1.0f / (inDeltaTime * (c + inDeltaTime * k));
51 mBias = inBias + inDeltaTime * k * mSoftness * inC;
82 outEffectiveMass = 1.0f / (inInvEffectiveMass + mSoftness);
25 inline void CalculateSpringProperties(
float inDeltaTime,
float inInvEffectiveMass,
float inBias,
float inC,
float inFrequency,
float inDamping,
float &outEffectiveMass) {
…}
94 return mSoftness != 0.0f;
98 inline float GetBias(
float inTotalLambda)
const
122 return mSoftness * inTotalLambda + mBias;
98 inline float GetBias(
float inTotalLambda)
const {
…}
127 float mSoftness = 0.0f;
#define JPH_NAMESPACE_END
Definition Core.h:240
#define JPH_MSVC_SUPPRESS_WARNING(w)
Definition Core.h:154
#define JPH_NAMESPACE_BEGIN
Definition Core.h:234
constexpr T Square(T inV)
Square a value.
Definition Math.h:52
Class used in other constraint parts to calculate the required bias factor in the lagrange multiplier...
Definition SpringPart.h:14
void CalculateSpringProperties(float inDeltaTime, float inInvEffectiveMass, float inBias, float inC, float inFrequency, float inDamping, float &outEffectiveMass)
Definition SpringPart.h:25
float GetBias(float inTotalLambda) const
Get total bias b, including supplied bias and bias for spring: lambda = J v + b.
Definition SpringPart.h:98
bool IsActive() const
Returns if this spring is active.
Definition SpringPart.h:92