#include <ISolver.h>
Inherited by NvCloth::Solver.
Interface to a solver in the system. A solver contains cloth instances and they run simulation to all of them.
- Note
- Use IClothSystem interface to obtain a solver from the system.
◆ PostSimulationEvent
Event signaled after running simulation in the solver.
- Parameters
-
(Unnamed) | Name of the solver. |
(Unnamed) | Delta time. |
◆ PreSimulationEvent
Event signaled before running simulation in the solver.
- Parameters
-
(Unnamed) | Name of the solver. |
(Unnamed) | Delta time |
◆ Enable()
virtual void NvCloth::ISolver::Enable |
( |
bool |
value | ) |
|
|
pure virtual |
Enable or disable running simulation on the solver. When the solver is disabled it won't run simulation and its events will not be signaled.
Implemented in NvCloth::Solver.
◆ FinishSimulation()
virtual void NvCloth::ISolver::FinishSimulation |
( |
| ) |
|
|
pure virtual |
Complete the simulation process. If the solver is in user-simulated mode the user is responsible for calling this function. Note: This is a blocking call that will wait for the simulation jobs to complete.
Implemented in NvCloth::Solver.
◆ SetInterCollisionDistance()
virtual void NvCloth::ISolver::SetInterCollisionDistance |
( |
float |
distance | ) |
|
|
pure virtual |
Specifies the distance (meters) that cloths' particles need to be separated from each other. Inter-collision refers to collisions between different cloth instances in the solver, do not confuse with self-collision, which is available per cloth through IClothConfigurator. When distance is 0 inter-collision is disabled (default).
- Note
- Using inter-collision with more than 32 cloths added to the solver will cause undefined behavior.
Implemented in NvCloth::Solver.
◆ SetInterCollisionIterations()
virtual void NvCloth::ISolver::SetInterCollisionIterations |
( |
AZ::u32 |
iterations | ) |
|
|
pure virtual |
Sets the number of iterations the solver will do during inter-collision. Default value is 1.
Implemented in NvCloth::Solver.
◆ SetInterCollisionStiffness()
virtual void NvCloth::ISolver::SetInterCollisionStiffness |
( |
float |
stiffness | ) |
|
|
pure virtual |
Sets the stiffness for inter-collision constraints. Stiffness range is [0.0, 1.0]. Default value is 1.0.
Implemented in NvCloth::Solver.
◆ SetUserSimulated()
virtual void NvCloth::ISolver::SetUserSimulated |
( |
bool |
value | ) |
|
|
pure virtual |
Set the solver into user-simulated mode. When the solver is user-simulated the user will be responsible to call StartSimulation and FinishSimulation functions, otherwise they will be called by the cloth system.
Implemented in NvCloth::Solver.
◆ StartSimulation()
virtual void NvCloth::ISolver::StartSimulation |
( |
float |
deltaTime | ) |
|
|
pure virtual |
Start simulation of all the cloths that are part of this solver. This will setup and start cloth simulation jobs. If the solver is in user-simulated mode the user is responsible for calling this function. Note: This is a non-blocking call.
Implemented in NvCloth::Solver.
The documentation for this class was generated from the following file:
- Gems/NvCloth/Code/Include/NvCloth/ISolver.h