Navigation
API > API/Runtime > API/Runtime/Chaos > API/Runtime/Chaos/Chaos
Inheritance Hierarchy
- FPBDRigidsEvolutionBase
- FPBDRigidsEvolutionGBF
References
Module | Chaos |
Header | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/PBDRigidsEvolution.h |
Include | #include "Chaos/PBDRigidsEvolution.h" |
Syntax
class FPBDRigidsEvolutionBase
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
TArray< TUniquePtr< FAccelerationStructure > > | AccelerationBackingBuffer | The backing buffer for all acceleration structures |
![]() |
FGraphEventRef | AccelerationStructureTaskComplete | |
![]() |
FPendingSpatialDataQueue | AsyncAccelerationQueue | Pending operations for the acceleration structures being rebuilt asynchronously |
![]() |
FAccelerationStructure * | AsyncExternalAcceleration | |
![]() |
FAccelerationStructure * | AsyncInternalAcceleration | |
![]() |
bool | bCanStartAsyncTasks | Allows us to tell evolution to stop starting async tasks if we are trying to cleanup solver/evo. |
![]() |
bool | bIsReset | |
![]() |
bool | bIsResim | |
![]() |
bool | bIsSingleThreaded | |
![]() |
FCaptureRewindRule | CaptureRewindData | |
![]() |
TArrayCollectionArray< bool > | Collided | |
![]() |
TArray< FPBDConstraintContainer * > | ConstraintContainers | |
![]() |
TQueue< FAccelerationStructure *, EQueueMode::Spsc > | ExternalStructuresPool | External thread will push into this when done with structure internal thread will pop from this to generate new structure |
![]() |
TQueue< FAccelerationStructure *, EQueueMode::Spsc > | ExternalStructuresQueue | Internal thread will push into this and external thread will consume |
![]() |
TArray< FForceRule > | ForceRules | |
![]() |
TArray< FForceRule > | ImpulseRules | |
![]() |
FAccelerationStructure * | InternalAcceleration | |
![]() |
FPendingSpatialDataQueue | InternalAccelerationQueue | Pending operations for the internal acceleration structure |
![]() |
Private::FPBDIslandGroupManager | IslandGroupManager | |
![]() |
Private::FPBDIslandManager | IslandManager | |
![]() |
FKinematicUpdateRule | KinematicUpdate | |
![]() |
int32 | LatestExternalTimestampConsumed_Internal | The latest external timestamp we consumed inputs from, assigned to evolution when solver task executes, is used to stamp output data. |
![]() |
TArray< FRemovalData > | MAllRemovals | |
![]() |
FRewindData * | MRewindData | |
![]() |
FPBDRigidsSOAs & | Particles | |
![]() |
TArrayAsMap< FUniqueIdx, uint32 > | ParticleToCacheInnerIdx | Void SerializePendingMap(FChaosArchive& Ar, TMap |
![]() |
FUpdatePositionRule | ParticleUpdatePosition | |
![]() |
TArray< FUniqueIdx > | PendingReleaseIndices | |
![]() |
TArrayCollectionArray< TUniquePtr< FChaosPhysicsMaterial > > | PerParticlePhysicsMaterials | |
![]() |
TArrayCollectionArray< TSerializablePtr< FChaosPhysicsMaterial > > | PhysicsMaterials | |
![]() |
THandleArray< FChaosPhysicsMaterial > & | SolverPhysicsMaterials | |
![]() |
TMap< FSpatialAccelerationIdx, TUniquePtr< FSpatialAccelerationCache > > | SpatialAccelerationCache | |
![]() |
TUniquePtr< ISpatialAccelerationCollectionFactory > | SpatialCollectionFactory | |
![]() |
TArray< FUniqueIdx > | UniqueIndicesPendingRelease |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
FPBDRigidsEvolutionBase
(
FPBDRigidsSOAs& InParticles, |
Destructors
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
void | AddConstraintContainer
(
FPBDConstraintContainer& InContainer, |
Register a constraint container with the evolution. |
![]() |
void | AddForceFunction
(
FForceRule ForceFunction |
|
![]() |
void | AddImpulseFunction
(
FForceRule ImpulseFunction |
|
![]() |
void | ApplyKinematicTargets
(
const FReal Dt, |
|
![]() |
void | ApplyParticlePendingData
(
const FPendingSpatialData& PendingData, |
|
![]() ![]() |
bool | ||
![]() |
void | ComputeIntermediateSpatialAcceleration
(
bool bBlock |
Ticks computation of acceleration structures. |
![]() ![]() |
void | CopyPristineAccelerationStructures
(
const TMap< FSpatialAccelerationIdx, TUniquePtr< FSpatialAccelerationCache >>& SpatialAccelerationC..., |
|
![]() ![]() |
void | CopyUnBuiltDynamicAccelerationStructures
(
const TMap< FSpatialAccelerationIdx, TUniquePtr< FSpatialAccelerationCache >>& SpatialAccelerationC..., |
|
![]() |
TArray< TPBDRigidClusteredParticleHandle< FReal, 3 > * > | CreateClusteredParticles
(
int32 NumParticles, |
|
![]() |
void | ||
![]() |
TArray< FPBDRigidParticleHandle * > | CreateDynamicParticles
(
int32 NumParticles, |
|
![]() |
TArray< TPBDGeometryCollectionParticleHandle< FReal, 3 > * > | CreateGeometryCollectionParticles
(
int32 NumParticles, |
|
![]() |
void | ||
![]() |
TArray< FKinematicGeometryParticleHandle * > | CreateKinematicParticles
(
int32 NumParticles, |
|
![]() |
TArray< FGeometryParticleHandle * > | CreateStaticParticles
(
int32 NumParticles, |
|
![]() |
void | DestroyParticle
(
FGeometryParticleHandle* Particle |
|
![]() ![]() |
void | DestroyTransientConstraints
(
FGeometryParticleHandle* Particle |
Destroy all transient constraints (collisions) involving the specified particle. |
![]() |
void |
DirtyParticle
(
TGeometryParticleHandleImp< FReal, 3, bPersistent >& Particle, |
|
![]() |
void | DisableConstraints
(
FGeometryParticleHandle* ParticleHandle |
Disconnect constraints (all types except collisions) from a particle to be removed (or destroyed) this will set the constraints to Enabled = false, but leave connections to the particles to support re-enabling at a later time. |
![]() |
void | DisableParticle
(
FGeometryParticleHandle* Particle |
Disable a particle so that it is no longer simulated. |
![]() |
void | DisableParticles
(
const TSet< FGeometryParticleHandle* >& InParticles |
|
![]() |
void | DisableParticles
(
TSet< FGeometryParticleHandle* >& ParticlesIn |
|
![]() |
void | DisableParticleWithRemovalEvent
(
FGeometryParticleHandle* Particle |
|
![]() |
void | DisconnectConstraints
(
const TSet< FGeometryParticleHandle* >& RemovedParticles |
Disconnect constraints (all types except collisions) from a set of particles to be destroyed. |
![]() |
void | EnableConstraints
(
FGeometryParticleHandle* ParticleHandle |
Enable constraints (all types except collisions) from the enabled particles; constraints will only become enabled if their particle end points are valid. |
![]() |
void | EnableParticle
(
FGeometryParticleHandle* Particle |
Enable a particle.Only enabled particles are simulated. |
![]() |
void | ||
![]() |
void | FlushExternalAccelerationQueue
(
FAccelerationStructure& Acceleration, |
|
![]() |
void | ||
![]() |
void | Perform a blocking flush of the spatial acceleration structure for situations where we aren't simulating but must have an up to date structure | |
![]() |
void | FreeSpatialAcceleration_External
(
FAccelerationStructure* Structure |
|
![]() |
FUniqueIdx | ||
![]() |
const TArray< FRemovalData > & | ||
![]() |
FAccelerationStructure * | ||
![]() ![]() |
const Private::FPBDIslandGroupManager & | ||
![]() ![]() |
const Private::FPBDIslandManager & | ||
![]() |
Private::FPBDIslandManager & | ||
![]() ![]() |
const TParticleView< FPBDRigidClusteredParticles > & | ||
![]() ![]() |
int32 | Get the number of position iterations the solver is running | |
![]() ![]() |
int32 | Get the number of projection iterations the solver is running | |
![]() ![]() |
int32 | Get the number of velocity iterations the solver is running | |
![]() ![]() |
const TGeometryParticleHandles< FReal, 3 > & | ||
![]() |
TGeometryParticleHandles< FReal, 3 > & | ||
![]() ![]() |
const FPBDRigidsSOAs & | GetParticles () |
|
![]() |
FPBDRigidsSOAs & | GetParticles () |
|
![]() ![]() |
const TUniquePtr< FChaosPhysicsMaterial > & | GetPerParticlePhysicsMaterial
(
const FGeometryParticleHandle* Particle |
|
![]() ![]() |
TSerializablePtr< FChaosPhysicsMaterial > | GetPhysicsMaterial
(
const FGeometryParticleHandle* Particle |
|
![]() |
ISpatialAccelerationCollection< FAccelerationStructureHandle, FReal, 3 > * | ||
![]() |
void | InvalidateParticle
(
FGeometryParticleHandle* Particle |
To be called when a particle geometry changes. |
![]() ![]() |
const bool | IsResetting () |
|
![]() ![]() |
const bool | IsResimming () |
|
![]() ![]() |
bool | IsUniqueIndexPendingRelease
(
FUniqueIdx UniqueIdx |
|
![]() ![]() |
int32 | ||
![]() |
void | PrepareTick () |
|
![]() |
void | Rebuilds the spatial acceleration from scratch. This should only be used for perf testing | |
![]() |
void | RegisterParticle
(
FGeometryParticleHandle* Particle |
To be called after creating a particle in the Particles container |
![]() |
void | ReleaseIdx
(
FUniqueIdx Idx |
|
![]() |
void | ||
![]() |
void | ReleaseUniqueIdx
(
FUniqueIdx UniqueIdx |
|
![]() |
void | RemoveConstraintFromConstraintGraph
(
FConstraintHandle* ConstraintHandle |
Remove a constraint from the constraint graph |
![]() |
void | RemoveConstraintsFromConstraintGraph
(
const FConstraintHandleArray& Constraints |
Remove a list of constraints from the constraint graph |
![]() |
void | RemoveParticleFromAccelerationStructure
(
TGeometryParticleHandleImp< FReal, 3, bPersistent >& ParticleHandle |
|
![]() |
void | ReserveParticles
(
const int32 Num |
Preallocate buffers for creating `Num_ particles. |
![]() |
void | ||
![]() ![]() |
void | Reset the collisions warm starting when resimulate. | |
![]() |
void | Clear all constraints from the system reeady for shut down | |
![]() |
void | Serialize
(
FChaosArchive& Ar |
|
![]() |
void | SetCanStartAsyncTasks
(
bool bInCanStartAsyncTasks |
|
![]() |
void | ||
![]() |
void | SetNumPositionIterations
(
int32 InNumIterations |
Set the number of iterations to perform in the constraint position-solve phase |
![]() |
void | SetNumProjectionIterations
(
int32 InNumIterations |
Set the number of iterations to perform in the constraint projection phase |
![]() |
void | SetNumVelocityIterations
(
int32 InNumIterations |
Set the number of iterations to perform in the constraint velocity-solve phase |
![]() |
void | SetParticleKinematicTarget
(
FKinematicGeometryParticleHandle* KinematicHandle, |
Set the kinematic target for a particle. |
![]() |
void | SetParticleObjectState
(
FPBDRigidParticleHandle* Particle, |
|
![]() |
void | SetParticleSleepType
(
FPBDRigidParticleHandle* Particle, |
|
![]() |
void | SetParticleUpdatePositionFunction
(
FUpdatePositionRule ParticleUpdate |
|
![]() |
void | SetPerParticlePhysicsMaterial
(
FGeometryParticleHandle* Particle, |
|
![]() |
void | SetPhysicsMaterial
(
FGeometryParticleHandle* Particle, |
|
![]() |
void | SetReset
(
bool bInReset |
|
![]() |
void | SetResim
(
bool bInResim |
|
![]() |
void | SetRewindData
(
FRewindData* RewindData |
|
![]() |
void | ||
![]() |
void | ||
![]() |
void | UpdateExternalAccelerationStructure_External
(
ISpatialAccelerationCollection< FAccelerationStructureHandle, FReal, 3 >*& ExternalStructure, |
Make a copy of the acceleration structure to allow for external modification. |
![]() |
void |
Classes
Type | Name | Description | |
---|---|---|---|
![]() |
FChaosAccelerationStructureTask |
Typedefs
Name | Description |
---|---|
FAccelerationStructure | |
FCaptureRewindRule | |
FForceRule | |
FKinematicUpdateRule | |
FUpdatePositionRule | |
FUpdateVelocityRule |
Deprecated Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
const Private::FPBDIslandManager & | Renamed to GetIslandManager | |
![]() |
Private::FPBDIslandManager & | Renamed to GetIslandManager |