Module |
|
Header |
/Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/PBDConstraintGraph.h |
Include |
#include "Chaos/PBDConstraintGraph.h" |
class FPBDConstraintGraph
Build a graph of connected particles, and then a set of independent islands. Particles/constraints in different islands do not interact, so islands can be updated in parallel. This is also where particle sleeping is controlled.
that at the moment this graph is rebuilt every frame. When this changes some of the underlying data will need to be changed. I.e. move from indices to pointers to handles
Name | Description | |
---|---|---|
|
FPBDConstraintGraph() |
|
|
FPBDConstraintGraph ( |
Name | Description | |
---|---|---|
|
~FPBDConstraintGraph() |
Name | Description | ||
---|---|---|---|
|
AddConstraint ( |
Add a constraint to the graph for each constraint in the container. |
|
|
AddParticle ( |
||
|
DisableParticle ( |
Disable a particle and remove it from its island. |
|
|
DisableParticles ( |
Disable a set of particles and remove them from their island. |
|
|
EnableParticle ( |
Adds `ChildParticle_ to the constraint graph. |
|
|
const FConst... |
GetConstraintData ( |
Information mapping the edge back to a rule's constraint |
|
const TArray... |
GetIslandConstraintData ( |
Void ReconcileIslands(); |
|
const TArray... |
GetIslandParticles ( |
Get the list of Particle indices associated with the specified island. |
|
GetIslandSleepCount ( |
Get the list of Particle indices associated with the specified island. |
|
|
InitializeGraph ( |
Clear the graph and set up the particle-to-graph-node mapping for the specified particles Should be called before AddConstraint. |
|
|
IslandNeedsResim ( |
When resim is used, tells us whether we need to resolve island |
|
|
NumIslands() |
The number of islands in the graph. |
|
|
RemoveConstraint ( |
Remove a constraint from the graph |
|
|
RemoveParticle ( |
Remove particle from constraint, maybe rethink some of these names. |
|
|
ReserveConstraints ( |
Reserve space in the graph for NumConstraints additional constraints. |
|
|
ReserveParticles ( |
Preallocate buffers for `Num_ particles. Returns the number of new slots created. |
|
|
ResetIslands ( |
Add particles/constraints to their particle's already-assigned islands (if applicable). |
|
|
SleepInactive ( |
Put particles in inactive islands to sleep. |
|
|
UpdateIslands ( |
Generate the simulation islands of connected particles (AddConstraints must have already been called). |
|
|
WakeIsland ( |
Wake all particles in an Island. |
Name |
Description |
|
---|---|---|
|
FConstraintData |
Information required to map a graph edge back to its constraint |