#include <ISolver.h>
Inherited by NvCloth::Solver.
|
| AZ_RTTI (ISolver, "{4077FEB2-78E3-4A8F-AA33-67446E6ECD1F}") |
|
virtual const AZStd::string & | GetName () const =0 |
| Returns name of the solver.
|
|
virtual void | Enable (bool value)=0 |
|
virtual bool | IsEnabled () const =0 |
| Returns whether the solver is enabled or not.
|
|
virtual void | SetUserSimulated (bool value)=0 |
|
virtual bool | IsUserSimulated () const =0 |
| Returns whether the solver StartSimulation and FinishSimulation functions will be called by the user or the cloth system.
|
|
virtual void | StartSimulation (float deltaTime)=0 |
|
virtual void | FinishSimulation ()=0 |
|
virtual void | SetInterCollisionDistance (float distance)=0 |
|
virtual void | SetInterCollisionStiffness (float stiffness)=0 |
|
virtual void | SetInterCollisionIterations (AZ::u32 iterations)=0 |
|
void | ConnectPreSimulationEventHandler (PreSimulationEvent::Handler &handler) |
| Connects a handler to the PreSimulationEvent.
|
|
void | ConnectPostSimulationEventHandler (PostSimulationEvent::Handler &handler) |
| Connects a handler to the PostSimulationEvent.
|
|
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.
◆ GetName()
virtual const AZStd::string & NvCloth::ISolver::GetName |
( |
| ) |
const |
|
pure virtual |
◆ IsEnabled()
virtual bool NvCloth::ISolver::IsEnabled |
( |
| ) |
const |
|
pure virtual |
Returns whether the solver is enabled or not.
Implemented in NvCloth::Solver.
◆ IsUserSimulated()
virtual bool NvCloth::ISolver::IsUserSimulated |
( |
| ) |
const |
|
pure virtual |
Returns whether the solver StartSimulation and FinishSimulation functions will be called by the user or the cloth system.
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