Open 3D Engine EMotionFX Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
EMotionFX::SpringSolver Class Reference

Classes

class  CollisionObject
 
struct  InitSettings
 
struct  Particle
 
struct  Spring
 

Public Types

using ParticleAdjustFunction = AZStd::function< void(Particle &)>
 

Public Member Functions

bool Init (const InitSettings &initSettings)
 
void Update (const Pose &inputPose, Pose &pose, float timePassedInSeconds)
 
void DebugRender (const Pose &pose, bool renderColliders, bool renderLimits, const AZ::Color &color) const
 
void Stabilize ()
 
void Log ()
 
void AdjustParticles (const ParticleAdjustFunction &func)
 
AZ_INLINE ParticleGetParticle (size_t index)
 
AZ_INLINE size_t GetNumParticles () const
 
AZ_INLINE SpringGetSpring (size_t index)
 
AZ_INLINE size_t GetNumSprings () const
 
void SetParentParticle (size_t parentParticleIndex)
 
void SetGravity (const AZ::Vector3 &gravity)
 
const AZ::Vector3 & GetGravity () const
 
void SetNumIterations (size_t numIterations)
 
size_t GetNumIterations () const
 
ParticleAddJoint (const SimulatedJoint *joint)
 
bool AddSupportSpring (size_t nodeA, size_t nodeB, float restLength=-1.0f)
 
bool AddSupportSpring (AZStd::string_view nodeNameA, AZStd::string_view nodeNameB, float restLength=-1.0f)
 
bool RemoveJoint (size_t jointIndex)
 
bool RemoveJoint (AZStd::string_view nodeName)
 
bool RemoveSupportSpring (size_t jointIndexA, size_t jointIndexB)
 
bool RemoveSupportSpring (AZStd::string_view nodeNameA, AZStd::string_view nodeNameB)
 
void SetStiffnessFactor (float factor)
 
void SetGravityFactor (float factor)
 
void SetDampingFactor (float factor)
 
float GetStiffnessFactor () const
 
float GetGravityFactor () const
 
float GetDampingFactor () const
 
size_t FindParticle (size_t jointIndex) const
 
ParticleFindParticle (AZStd::string_view nodeName)
 
AZ_INLINE void RemoveCollisionObject (size_t index)
 
AZ_INLINE void RemoveAllCollisionObjects ()
 
AZ_INLINE CollisionObjectGetCollisionObject (size_t index)
 
AZ_INLINE size_t GetNumCollisionObjects () const
 
AZ_INLINE bool GetCollisionEnabled () const
 
AZ_INLINE void SetCollisionEnabled (bool enabled)
 

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