13class CalculateSolverSteps
17 JPH_INLINE
explicit CalculateSolverSteps(
const PhysicsSettings &inSettings) : mSettings(inSettings) { }
21 JPH_INLINE
void operator () (
const Type *inObject)
23 uint num_velocity_steps = inObject->GetNumVelocityStepsOverride();
24 mNumVelocitySteps = max(mNumVelocitySteps, num_velocity_steps);
25 mApplyDefaultVelocity |= num_velocity_steps == 0;
27 uint num_position_steps = inObject->GetNumPositionStepsOverride();
28 mNumPositionSteps = max(mNumPositionSteps, num_position_steps);
29 mApplyDefaultPosition |= num_position_steps == 0;
33 JPH_INLINE
void Finalize()
36 if (mApplyDefaultVelocity)
37 mNumVelocitySteps = max(mNumVelocitySteps, mSettings.mNumVelocitySteps);
38 if (mApplyDefaultPosition)
39 mNumPositionSteps = max(mNumPositionSteps, mSettings.mNumPositionSteps);
43 JPH_INLINE
uint GetNumPositionSteps()
const {
return mNumPositionSteps; }
44 JPH_INLINE
uint GetNumVelocitySteps()
const {
return mNumVelocitySteps; }
49 uint mNumVelocitySteps = 0;
50 uint mNumPositionSteps = 0;
52 bool mApplyDefaultVelocity =
false;
53 bool mApplyDefaultPosition =
false;
59class DummyCalculateSolverSteps
63 JPH_INLINE
void operator () (
const Type *)
const
unsigned int uint
Definition Core.h:492
#define JPH_NAMESPACE_END
Definition Core.h:419
#define JPH_NAMESPACE_BEGIN
Definition Core.h:413
Definition PhysicsSettings.h:28