code: void DestroyParticleCollisionsInAllocator ( [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * Particle )


description: Destroy all transient constraints (collisions) involving the specified particle.

module: Chaos

code: virtual void DestroyTransientConstraints ( [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * Particle )


code: void DoInternalParticleInitilization ( const [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * OldParticle, [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * NewParticle )


code: void EndFrame ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt )


className: FTestModeParticleData

code: struct FTestModeParticleData


code: const [FCharacterGroundConstraintContainer](API\Runtime\Chaos\Chaos\Character\FCharacterGroundConstraintContai-) & GetCharacterGroundConstraints() const


code: const [FCollisionConstraints](API\Runtime\Chaos\Chaos\FPBDRigidsEvolutionGBF\FCollisionConstraints) & GetCollisionConstraints() const


code: const [FCollisionDetector](API\Runtime\Chaos\Chaos\FPBDRigidsEvolutionGBF\FCollisionDetector) & GetCollisionDetector() const


code: const [FGravityForces](API\Runtime\Chaos\Chaos\FPBDRigidsEvolutionGBF\FGravityForces) & GetGravityForces() const


code: const [FJointConstraints](API\Runtime\Chaos\Chaos\FPBDRigidsEvolutionGBF\FJointConstraints) & GetJointConstraints() const


code: const [FRigidClustering](API\Runtime\Chaos\Chaos\FRigidClustering) & GetRigidClustering() const


code: const [FPBDSuspensionConstraints](API\Runtime\Chaos\Chaos\FPBDSuspensionConstraints) & GetSuspensionConstraints() const


code: template<typename [TParticleView](API\Runtime\Chaos\Chaos\TParticleView)> void Integrate ( const [TParticleView](API\Runtime\Chaos\Chaos\TParticleView) & InParticles, [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt )


description: Called when a particle is moved. We need to reset some friction properties, sleeping properties, etc

code: void OnParticleMoved ( [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * InParticle, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & PrevX, const [FRotation3](API\Runtime\ChaosCore\Chaos\FRotation3) & PrevR, const bool bIsTeleport )


description: Called when a the material changes one or more shapes on a particle. Required because collisions cache material properties.

code: void ParticleMaterialChanged ( [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * Particle )


description: Reload the particles cache for all particles where appropriate

code: void ReloadParticlesCache()


description: Reset the collisions warm starting when resimulate. Ideally we should store that in the RewindData history but probably too expensive for now

code: virtual void ResetCollisions()


description: Resets VSmooth value to something plausible based on external forces to prevent object from going back to sleep if it was just impulsed.

code: template<bool bPersistent> void ResetVSmoothFromForces ( [TPBDRigidParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDRigidParticleHandleImp)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3, bPersistent > & Particle )


code: void Serialize ( [FChaosArchive](API\Runtime\Chaos\Chaos\FChaosArchive) & Ar )


code: void SetCurrentStepResimCache ( [IResimCacheBase](API\Runtime\Chaos\Chaos\IResimCacheBase) * InCurrentStepResimCache )


code: void SetInternalParticleInitilizationFunction ( const [FPBDRigidsEvolutionInternalHandleCallback](API\Runtime\Chaos\Chaos\FPBDRigidsEvolutionInternalHandl-) & Cb )


code: void SetIsDeterministic ( const bool bInIsDeterministic )


description: Particle API (most of the particle API is in the base class) User has moved a particle Does not change velocity. Will wake the particle if this is a move (i.e., bIsTeleport is false)

code: void SetParticleTransform ( [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * InParticle, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & InPos, const [FRotation3](API\Runtime\ChaosCore\Chaos\FRotation3) & InRot, const bool bIsTeleport )


description: Move a particle to a new location with a sweep and stop and the first opposing contact. Does not change velocity. Will wake the particle if this is a move (i.e., bIsTeleport is false)

code: virtual void SetParticleTransformSwept ( [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * InParticle, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & InPos, const [FRotation3](API\Runtime\ChaosCore\Chaos\FRotation3) & InRot, const bool bIsTeleport )


code: void SetPostDetectCollisionsCallback ( const [FPBDRigidsEvolutionCallback](API\Runtime\Chaos\Chaos\FPBDRigidsEvolutionCallback) & Cb )


code: void SetPreApplyCallback ( const [FPBDRigidsEvolutionCallback](API\Runtime\Chaos\Chaos\FPBDRigidsEvolutionCallback) & Cb )


code: void SetPostIntegrateCallback ( const [FPBDRigidsEvolutionCallback](API\Runtime\Chaos\Chaos\FPBDRigidsEvolutionCallback) & Cb )


code: void SetShockPropagationIterations ( const int32 InPositionIts, const int32 InVelocityIts )


description: Test Mode for Collision issues

code: void TestModeResetParticles()


code: FPBDRigidsEvolutionGBF ( [FPBDRigidsSOAs](API\Runtime\Chaos\Chaos\FPBDRigidsSOAs) & InParticles, [THandleArray](API\Runtime\Chaos\Chaos\Framework\THandleArray)< [FChaosPhysicsMaterial](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterial) > & SolverPhysicsMaterials, const [TArray](API\Runtime\Core\Containers\TArray)< [ISimCallbackObject](API\Runtime\Chaos\Chaos\ISimCallbackObject) * > * InMidPhaseModifiers, const [TArray](API\Runtime\Core\Containers\TArray)< [ISimCallbackObject](API\Runtime\Chaos\Chaos\ISimCallbackObject) * > * InCCDModifiers, const [TArray](API\Runtime\Core\Containers\TArray)< [ISimCallbackObject](API\Runtime\Chaos\Chaos\ISimCallbackObject) * > * InStrainModifiers, const [TArray](API\Runtime\Core\Containers\TArray)< [ISimCallbackObject](API\Runtime\Chaos\Chaos\ISimCallbackObject) * > * InCollisionModifiers, bool InIsSingleThreaded )


className: FPBDRigidsEvolutionGBF

code: class FPBDRigidsEvolutionGBF : public [Chaos::FPBDRigidsEvolutionBase](API\Runtime\Chaos\Chaos\FPBDRigidsEvolutionBase)

bIsDeterministic

type: bool

BroadPhase

type: FSpatialAcceler...

CCDManager

type: FCCDManager

CCDModifiers

type: constTArray<I...

CharacterGroundConstraints

type: FCharacterGroun...

Clustering

type: FRigidClusterin...

CollisionConstraints

type: FCollisionConst...

CurrentStepResimCacheImp

type: FEvolutionResim...

GravityForces

type: FGravityForces

InternalParticleInitilization

type: FPBDRigidsEvolu...

JointConstraints

type: FPBDJointConstr...

SuspensionConstraints

type: FPBDSuspensionC...

TestModeData

type: TMap<FPBDRigid...


className: FPBDRigidsEvolutionIslandCallback

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(int32 Island)> FPBDRigidsEvolutionIslandCallback


className: FGeometryParticleHandle

code: typedef [TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > FGeometryParticleHandle


code: virtual [FParticlePair](API\Runtime\Chaos\Chaos\FParticlePair) GetConstrainedParticles() const


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3), 2 > & GetConstraintPositions() const


description: Get the rest length of the spring.


code: void SetConstraintPositions ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3), 2 > & ConstraintPositions )


code: void SetRestLength ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) SpringLength )


code: static const [FConstraintHandleTypeID](API\Runtime\Chaos\Chaos\FConstraintHandleTypeID) & StaticType()


code: FPBDRigidSpringConstraintHandle ( [FConstraintContainer](API\Runtime\Chaos\Chaos\FPBDRigidSpringConstraintHandle\FConstraintContainer) * InConstraintContainer, int32 InConstraintIndex )


className: FPBDRigidSpringConstraintHandle

code: class FPBDRigidSpringConstraintHandle : public [Chaos::TIndexedContainerConstraintHandle< FPBDRigidSpringConstraints >](API\Runtime\Chaos\Chaos\Evolution\TIndexedContainerConstraintHandl-)


description: TSimpleConstraintContainerSolverAPI - used by RBAN solvers

code: void AddBodies ( [FSolverBodyContainer](API\Runtime\Chaos\Chaos\Evolution\FSolverBodyContainer) & SolverBodyContainer )


description: TIndexedConstraintContainerSolverAPI - used by World solvers

code: void AddBodies ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< int32 > & ConstraintIndices, [FSolverBodyContainer](API\Runtime\Chaos\Chaos\Evolution\FSolverBodyContainer) & SolverBodyContainer )


code: void AddBodies &40; const int32 ConstraintIndex, FSolverBodyContainer & SolverBodyContainer &41;


description: Add a constraint initialized from current world-space particle positions. You would use this method when your objects are already positioned in the world.

code: [FConstraintContainerHandle](API\Runtime\Chaos\Chaos\FPBDRigidSpringConstraints\FConstraintContainerHandle) * AddConstraint ( const [FConstrainedParticlePair](API\Runtime\Chaos\Chaos\FPBDRigidSpringConstraints\FConstrainedParticlePair) & InConstrainedParticles, const [TVector](API\Runtime\Chaos\Chaos\TVector)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3), 2 > & InLocations, [FReal](API\Runtime\ChaosCore\Chaos\FReal) Stiffness, [FReal](API\Runtime\ChaosCore\Chaos\FReal) Damping, [FReal](API\Runtime\ChaosCore\Chaos\FReal) RestLength )


code: void ApplyPositionConstraints ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 It, const int32 NumIts )


code: void ApplyPositionConstraints ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< int32 > & ConstraintIndices, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 It, const int32 NumIts )


code: void ApplyProjectionConstraints ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 It, const int32 NumIts )


code: void ApplyProjectionConstraints ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< int32 > & ConstraintIndices, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 It, const int32 NumIts )


code: void ApplyVelocityConstraints ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< int32 > & ConstraintIndices, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 It, const int32 NumIts )


code: void ApplyVelocityConstraints ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 It, const int32 NumIts )


description: Add all the constraints in the container to the graph

code: virtual void AddConstraintsToGraph ( [Private::FPBDIslandManager](API\Runtime\Chaos\Chaos\Island\FPBDIslandManager) & IslandManager )


description: Disabled the specified constraint.

code: void DisableConstraints ( const [TSet](API\Runtime\Core\Containers\TSet)< [TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * > & RemovedParticles )


className: FConstrainedParticlePair

code: typedef [TVector](API\Runtime\Chaos\Chaos\TVector)< [TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > *, 2 > FConstrainedParticlePair


className: FHandles

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< [FConstraintContainerHandle](API\Runtime\Chaos\Chaos\FPBDRigidSpringConstraints\FConstraintContainerHandle) * > FHandles


code: void GatherInput ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt )


code: void GatherInput ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< int32 > & ConstraintIndices, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt )


code: const [FHandles](API\Runtime\Chaos\Chaos\FPBDRigidSpringConstraints\FHandles) & GetConstConstraintHandles() const


description: Get the particles that are affected by the specified constraint.

code: const [FConstrainedParticlePair](API\Runtime\Chaos\Chaos\FPBDRigidSpringConstraints\FConstrainedParticlePair) & GetConstrainedParticles ( int32 ConstraintIndex ) const


code: const [FConstraintContainerHandle](API\Runtime\Chaos\Chaos\FPBDRigidSpringConstraints\FConstraintContainerHandle) * GetConstraintHandle ( int32 ConstraintIndex ) const


code: [FConstraintContainerHandle](API\Runtime\Chaos\Chaos\FPBDRigidSpringConstraints\FConstraintContainerHandle) * GetConstraintHandle ( int32 ConstraintIndex )


description: Constraint API


description: Get the local-space constraint positions for each body.

code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3), 2 > & GetConstraintPositions ( int ConstraintIndex ) const


description: FConstraintContainer Implementation

code: virtual int32 GetNumConstraints() const


description: Get the rest length of the spring

code: [FReal](API\Runtime\ChaosCore\Chaos\FReal) GetRestLength ( int32 ConstraintIndex ) const


description: Constraint Container API Get the number of constraints.

code: int32 NumConstraints() const


description: Called oncer per tick to initialize buffers required for the rest of the tick

code: virtual void PrepareTick()


description: Remove the specified constraint.

code: void RemoveConstraint ( int ConstraintIndex )


description: Empty the constraints (must be removed from the graph first, if required)

code: virtual void ResetConstraints()


code: void ScatterOutput ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt )


code: void ScatterOutput ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< int32 > & ConstraintIndices, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt )


description: Set the local-space constraint positions for each body.

code: void SetConstraintPositions ( int ConstraintIndex, const [TVector](API\Runtime\Chaos\Chaos\TVector)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3), 2 > & ConstraintPositions )


description: Should undo any allocations in PrepareTick

code: virtual void UnprepareTick()


description: Set the rest length of the spring

code: void SetRestLength ( int32 ConstraintIndex, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) SpringLength )


code: virtual ~FPBDRigidSpringConstraints()


className: FPBDRigidSpringConstraints

code: class FPBDRigidSpringConstraints : public [Chaos::TPBDIndexedConstraintContainer< FPBDRigidSpringConstraints >](API\Runtime\Chaos\Chaos\Evolution\TPBDIndexedConstraintContainer)


description: Wake a sleeping dynamic non-disabled particle.

code: void ActivateParticle ( [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * Particle, const bool DeferUpdateViews )


description: Wake multiple dynamic non-disabled particles.

code: void ActivateParticles ( const [TArray](API\Runtime\Core\Containers\TArray)< [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * > & Particles )


code: [TArray](API\Runtime\Core\Containers\TArray)< [FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * > CreateDynamicParticles ( int32 NumParticles, const [FUniqueIdx](API\Runtime\Chaos\Chaos\FUniqueIdx) * ExistingIndices, const [FPBDRigidParticleParameters](API\Runtime\Chaos\Chaos\FPBDRigidParticleParameters) & Params )


code: [TArray](API\Runtime\Core\Containers\TArray)< [TPBDGeometryCollectionParticleHandle](API\Runtime\Chaos\Chaos\TPBDGeometryCollectionParticleHa-)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * > CreateGeometryCollectionParticles ( int32 NumParticles, const [FUniqueIdx](API\Runtime\Chaos\Chaos\FUniqueIdx) * ExistingIndices, const [FPBDRigidParticleParameters](API\Runtime\Chaos\Chaos\FPBDRigidParticleParameters) & Params )


code: [TArray](API\Runtime\Core\Containers\TArray)< [FKinematicGeometryParticleHandle](API\Runtime\Chaos\Chaos\FKinematicGeometryParticleHandle) * > CreateKinematicParticles ( int32 NumParticles, const [FUniqueIdx](API\Runtime\Chaos\Chaos\FUniqueIdx) * ExistingIndices, const [FKinematicGeometryParticleParameters](API\Runtime\Chaos\Chaos\FKinematicGeometryParticleParame-) & Params )


code: [TArray](API\Runtime\Core\Containers\TArray)< [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * > CreateStaticParticles ( int32 NumParticles, const [FUniqueIdx](API\Runtime\Chaos\Chaos\FUniqueIdx) * ExistingIndices, const [FGeometryParticleParameters](API\Runtime\Chaos\Chaos\FGeometryParticleParameters) & Params )


description: IfDeferUpdateViews_ istrue_, then it's assumed this function is being called in a loop and it won't update the SOA view arrays.

code: void DeactivateParticle ( [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * Particle, const bool DeferUpdateViews )


description: Put multiple dynamic non-disabled particles to sleep.

code: void DeactivateParticles ( const [TArray](API\Runtime\Core\Containers\TArray)< [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * > & Particles )


description: Used specifically by PBDRigidClustering. These have special properties for maintaining relative order, efficiently switching from kinematic to dynamic, disable to enable, etc...

code: [TArray](API\Runtime\Core\Containers\TArray)< [FPBDRigidClusteredParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidClusteredParticleHandle) * > CreateClusteredParticles ( int32 NumParticles, const [FUniqueIdx](API\Runtime\Chaos\Chaos\FUniqueIdx) * ExistingIndices, const [FPBDRigidParticleParameters](API\Runtime\Chaos\Chaos\FPBDRigidParticleParameters) & Params )


description: A disabled particle is ignored by the solver.

code: void DisableParticle ( [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * Particle )


code: void EnableParticle ( [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * Particle )


code: void DestroyParticle ( [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * Particle )


code: const [TParticleView](API\Runtime\Chaos\Chaos\TParticleView)< [FPBDRigidParticles](API\Runtime\Chaos\Chaos\FPBDRigidParticles) > & GetActiveDynamicMovingKinematicParticlesView() const


code: const [TParticleView](API\Runtime\Chaos\Chaos\TParticleView)< [FKinematicGeometryParticles](API\Runtime\Chaos\Chaos\FKinematicGeometryParticles) > & GetActiveKinematicParticlesView() const


code: const [TParticleView](API\Runtime\Chaos\Chaos\TParticleView)< [FPBDRigidParticles](API\Runtime\Chaos\Chaos\FPBDRigidParticles) > & GetActiveMovingKinematicParticlesView() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * > & GetActiveParticlesArray() const


code: const [TParticleView](API\Runtime\Chaos\Chaos\TParticleView)< [FPBDRigidParticles](API\Runtime\Chaos\Chaos\FPBDRigidParticles) > & GetActiveParticlesView() const


code: [TParticleView](API\Runtime\Chaos\Chaos\TParticleView)< [FPBDRigidParticles](API\Runtime\Chaos\Chaos\FPBDRigidParticles) > & GetActiveParticlesView()


code: const [TParticleView](API\Runtime\Chaos\Chaos\TParticleView)< [FGeometryParticles](API\Runtime\Chaos\Chaos\FGeometryParticles) > & GetActiveStaticParticlesView() const


code: [TParticleView](API\Runtime\Chaos\Chaos\TParticleView)< [FGeometryParticles](API\Runtime\Chaos\Chaos\FGeometryParticles) > & GetActiveStaticParticlesView()


code: const [TParticleView](API\Runtime\Chaos\Chaos\TParticleView)< [FGeometryParticles](API\Runtime\Chaos\Chaos\FGeometryParticles) > & GetAllParticlesView() const


code: const auto & GetClusteredParticles() const


code: const [TParticleView](API\Runtime\Chaos\Chaos\TParticleView)< [FPBDRigidParticles](API\Runtime\Chaos\Chaos\FPBDRigidParticles) > & GetDirtyParticlesView() const


code: [TParticleView](API\Runtime\Chaos\Chaos\TParticleView)< [FPBDRigidParticles](API\Runtime\Chaos\Chaos\FPBDRigidParticles) > & GetDirtyParticlesView()


description: Disabled Dynamic and DynamicKinematic Particles.

code: const [FPBDRigidParticles](API\Runtime\Chaos\Chaos\FPBDRigidParticles) & GetDynamicDisabledParticles() const


code: const [FPBDRigidParticles](API\Runtime\Chaos\Chaos\FPBDRigidParticles) & GetDynamicKinematicParticles() const


code: const [FPBDRigidParticles](API\Runtime\Chaos\Chaos\FPBDRigidParticles) & GetDynamicParticles() const


code: const [TPBDGeometryCollectionParticles](API\Runtime\Chaos\Chaos\TPBDGeometryCollectionParticles)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & GetGeometryCollectionParticles() const


code: [TPBDGeometryCollectionParticles](API\Runtime\Chaos\Chaos\TPBDGeometryCollectionParticles)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & GetGeometryCollectionParticles()


code: const [TParticleView](API\Runtime\Chaos\Chaos\TParticleView)< [FPBDRigidClusteredParticles](API\Runtime\Chaos\Chaos\FPBDRigidClusteredParticles) > & GetNonDisabledClusteredView() const


code: const [TParticleView](API\Runtime\Chaos\Chaos\TParticleView)< [FPBDRigidParticles](API\Runtime\Chaos\Chaos\FPBDRigidParticles) > & GetNonDisabledDynamicView() const


code: const [FGeometryParticles](API\Runtime\Chaos\Chaos\FGeometryParticles) & GetNonDisabledStaticParticles() const


code: const [TParticleView](API\Runtime\Chaos\Chaos\TParticleView)< [FGeometryParticles](API\Runtime\Chaos\Chaos\FGeometryParticles) > & GetNonDisabledView() const


code: const [TGeometryParticleHandles](API\Runtime\Chaos\Chaos\TGeometryParticleHandles)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & GetParticleHandles() const


code: [TGeometryParticleHandles](API\Runtime\Chaos\Chaos\TGeometryParticleHandles)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & GetParticleHandles()


code: void InsertGeometryCollectionParticle ( [TPBDGeometryCollectionParticleHandle](API\Runtime\Chaos\Chaos\TPBDGeometryCollectionParticleHa-)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * GCParticle )


code: void MarkMovingKinematic ( [FKinematicGeometryParticleHandle](API\Runtime\Chaos\Chaos\FKinematicGeometryParticleHandle) * Particle )


code: void MarkTransientDirtyParticle ( [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * Particle, const bool bUpdateViews )


description: Rebuild views if necessary.

code: void RebuildViews()


code: void RemoveGeometryCollectionParticle ( [TPBDGeometryCollectionParticleHandle](API\Runtime\Chaos\Chaos\TPBDGeometryCollectionParticleHa-)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * GCParticle )


code: void Serialize ( [FChaosArchive](API\Runtime\Chaos\Chaos\FChaosArchive) & Ar )


code: void SetClusteredParticleSOA ( [FPBDRigidClusteredParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidClusteredParticleHandle) * ClusteredParticle )


code: void SetDynamicParticleSOA ( [FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * Particle )


code: void ShrinkArrays ( const float MaxSlackFraction, const int32 MinSlack )


code: FPBDRigidsSOAs ( [IParticleUniqueIndices](API\Runtime\Chaos\Chaos\IParticleUniqueIndices) & InUniqueIndices )


code: FPBDRigidsSOAs ( const [FPBDRigidsSOAs](API\Runtime\Chaos\Chaos\FPBDRigidsSOAs) & )


code: FPBDRigidsSOAs ( [FPBDRigidsSOAs](API\Runtime\Chaos\Chaos\FPBDRigidsSOAs) && Other )


code: void Apply ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt ) const


code: void Apply ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt, const int32 Index ) const


code: FPBDShapeConstraints ( int32 InParticleOffset, int32 InParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & StartPositions, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & TargetPositions, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Stiffness )


className: FPBDShapeConstraints

code: class FPBDShapeConstraints : public [Chaos::Softs::FPBDShapeConstraintsBase](API\Runtime\Chaos\Chaos\FPBDShapeConstraintsBase)


code: [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) GetDelta ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const int32 Index ) const


code: FPBDShapeConstraintsBase ( int32 InParticleOffset, int32 InParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & StartPositions, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InTargetPositions, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InStiffness )


code: virtual ~FPBDShapeConstraintsBase()


className: FPBDShapeConstraintsBase

code: class FPBDShapeConstraintsBase

ParticleOffset

type: const int32

TargetPositions

type: constTArray<F...


code: void Apply ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt ) const


className: BackstopDistanceName

code: static const [FName](API\Runtime\Core\UObject\FName) BackstopDistanceName = TEXT("BackstopDistance");


className: BackstopRadiusName

code: static const [FName](API\Runtime\Core\UObject\FName) BackstopRadiusName = TEXT("BackstopRadius");


description: Deprecated* UseGetScale()instead.


code: static bool IsEnabled ( const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection )


code: void SetEnabled ( bool bInEnabled )


description: Deprecated* UseSetProperties(const FCollectionPropertyConstFacade&, const TMap>&, FSolverReal)instead.

code: void SetProperties ( const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MeshScale )


code: void SetProperties ( const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection, const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) >> & WeightMaps, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MeshScale )


description: Set a new mesh scale.

code: void SetScale ( [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InScale )


description: Deprecated* UseSetScale(FSolverReal)instead.

code: void SetScale ( [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) BackstopScale, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MeshScale )


description: Deprecated* Use SetScale instead.

code: void SetSphereRadiiMultiplier ( [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InSphereRadiiMultiplier, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MeshScale )


className: UseLegacyBackstopName

code: static const [FName](API\Runtime\Core\UObject\FName) UseLegacyBackstopName = TEXT("UseLegacyBackstop");


code: FPBDSphericalBackstopConstraint ( const int32 InParticleOffset, const int32 InParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InAnimationPositions, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InAnimationNormals, const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) >> & WeightMaps, const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MeshScale )


code: FPBDSphericalBackstopConstraint ( const int32 InParticleOffset, const int32 InParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InAnimationPositions, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InAnimationNormals, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & InSphereRadii, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & InSphereOffsetDistances, const bool bInUseLegacyBackstop )


description: Deprecated* Use weight map constructor instead.

code: FPBDSphericalBackstopConstraint ( const int32 InParticleOffset, const int32 InParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InAnimationPositions, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InAnimationNormals, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & InSphereRadii, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & InSphereOffsetDistances, const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MeshScale )


className: FPBDSphericalBackstopConstraint

code: class FPBDSphericalBackstopConstraint


className: MaxDistanceName

code: static const [FName](API\Runtime\Core\UObject\FName) MaxDistanceName = TEXT("MaxDistance");


code: void SetScale ( [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MaxDistanceScale, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MeshScale )


code: FPBDSphericalConstraint ( const uint32 InParticleOffset, const uint32 InParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InAnimationPositions, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & InSphereRadii )


code: FPBDSphericalConstraint ( const uint32 InParticleOffset, const uint32 InParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InAnimationPositions, const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) >> & WeightMaps, const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MeshScale )


code: FPBDSphericalConstraint ( const uint32 InParticleOffset, const uint32 InParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InAnimationPositions, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & InSphereRadii, const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MeshScale )


className: FPBDSphericalConstraint

code: class FPBDSphericalConstraint

SphereRadii

type: TConstArrayView...


code: void Apply ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & GetConstraintsPerColorStartIndex() const


code: template<int32 Valence> FPBDSpringConstraints ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, int32 InParticleOffset, int32 InParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, Valence >> & InConstraints, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & StiffnessMultipliers, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InStiffness, bool bTrimKinematicConstraints, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< Valence >, ::Type * )


className: FPBDSpringConstraints

code: class FPBDSpringConstraints : public [Chaos::Softs::FPBDSpringConstraintsBase](API\Runtime\Chaos\Chaos\FPBDSpringConstraintsBase)


description: Update stiffness table, as well as the simulation stiffness exponent.

code: void ApplyProperties ( const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt, const int32 NumIterations )


code: const [TArray](API\Runtime\Core\Containers\TArray)< [TVec2](API\Runtime\ChaosCore\Chaos\TVec2)< int32 > > & GetConstraints() const


code: [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) GetDelta ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, const int32 ConstraintIndex, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) ExpStiffnessValue ) const


description: Update stiffness values.

code: void SetProperties ( const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InStiffness )


code: template<int32 Valence, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< Valence >, int, ::type> FPBDSpringConstraintsBase ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, int32 InParticleOffset, int32 InParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, Valence >> & InConstraints, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & StiffnessMultipliers, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InStiffness, bool bTrimKinematicConstraints, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MaxStiffness )


code: virtual ~FPBDSpringConstraintsBase()


description: Update the weight map table with the current simulation parameters.

code: void ApplyPBDValues ( const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt, const int32 NumIterations )


code: void ApplyValues ( const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt, const int32 NumIterations )


code: void ApplyXPBDValues ( const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MaxStiffnesss )


className: DefaultParameterFitBase

code: static constexpr [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) DefaultParameterFitBase = (FSolverReal)1.e3;


className: DefaultPBDMaxStiffness

code: static constexpr [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) DefaultPBDMaxStiffness = (FSolverReal)1.;


className: DefaultTableSize

code: static constexpr int32 DefaultTableSize = 16;


code: [FPBDStiffness](API\Runtime\Chaos\Chaos\FPBDStiffness) & operator= ( const [FPBDStiffness](API\Runtime\Chaos\Chaos\FPBDStiffness) & )


code: [FPBDStiffness](API\Runtime\Chaos\Chaos\FPBDStiffness) & operator= ( [FPBDStiffness](API\Runtime\Chaos\Chaos\FPBDStiffness) && )


className: FPBDSpringConstraintsBase

code: class FPBDSpringConstraintsBase


className: ParameterFrequency

code: static constexpr [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) ParameterFrequency = (FSolverReal)120.;


description: Set the low and high values of the weight map. The weight map table only gets updated after ApplyValues is called. Low and high values are clamped between [0, MaxStiffness]

code: void SetWeightedValue ( const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InWeightedValue, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MaxStiffness )


code: FPBDStiffness ( const [FPBDStiffness](API\Runtime\Chaos\Chaos\FPBDStiffness) & )


code: FPBDStiffness ( [FPBDStiffness](API\Runtime\Chaos\Chaos\FPBDStiffness) && )


description: Weightmap particle constructor.

code: FPBDStiffness ( const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InWeightedValue, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & Multipliers, int32 ParticleCount, int32 TableSize, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InParameterFitBase, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InMaxStiffness )


description: Weightmap constraint constructor.

code: template<int32 Valence, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< Valence >, int, ::type> FPBDStiffness ( const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InWeightedValue, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & Multipliers, const TConstArrayView< [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, Valence >> & Constraints, int32 ParticleOffset, int32 ParticleCount, int32 TableSize, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InParameterFitBase, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MaxStiffness )


className: FPBDStiffness

description: Stiffness class for managing real time update to the weight map and low/high value ranges and to exponentiate the stiffness value depending on the iterations and Dt.

code: class FPBDStiffness : public [Chaos::Softs::FPBDWeightMap](API\Runtime\Chaos\Chaos\FPBDWeightMap)


code: virtual [FParticlePair](API\Runtime\Chaos\Chaos\FParticlePair) GetConstrainedParticles() const


code: const [FPBDSuspensionSettings](API\Runtime\Chaos\Chaos\FPBDSuspensionSettings) & GetSettings() const


code: void SetSettings ( const [FPBDSuspensionSettings](API\Runtime\Chaos\Chaos\FPBDSuspensionSettings) & Settings )


code: static const [FConstraintHandleTypeID](API\Runtime\Chaos\Chaos\FConstraintHandleTypeID) & StaticType()


code: FPBDSuspensionConstraintHandle ( [FConstraintContainer](API\Runtime\Chaos\Chaos\FPBDSuspensionConstraintHandle\FConstraintContainer) * InConstraintContainer, int32 InConstraintIndex )


className: FPBDSuspensionConstraintHandle

code: class FPBDSuspensionConstraintHandle : public [Chaos::TIndexedContainerConstraintHandle< FPBDSuspensionConstraints >](API\Runtime\Chaos\Chaos\Evolution\TIndexedContainerConstraintHandl-)


description: TSimpleConstraintContainerSolverAPI - used by RBAN

code: void AddBodies ( [FSolverBodyContainer](API\Runtime\Chaos\Chaos\Evolution\FSolverBodyContainer) & SolverBodyContainer )


description: TIndexedConstraintContainerSolverAPI - used by World solvers

code: void AddBodies ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< int32 > & ConstraintIndices, [FSolverBodyContainer](API\Runtime\Chaos\Chaos\Evolution\FSolverBodyContainer) & SolverBodyContainer )


code: void AddBodies &40; const int32 ConstraintIndex, FSolverBodyContainer & SolverBodyContainer &41;


description: Add a constraint.

code: [FConstraintContainerHandle](API\Runtime\Chaos\Chaos\FPBDSuspensionConstraints\FConstraintContainerHandle) * AddConstraint ( [TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * Particle, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & InConstraintFrame, const [FPBDSuspensionSettings](API\Runtime\Chaos\Chaos\FPBDSuspensionSettings) & InConstraintSettings )


description: Add all the constraints in the container to the graph

code: virtual void AddConstraintsToGraph ( [Private::FPBDIslandManager](API\Runtime\Chaos\Chaos\Island\FPBDIslandManager) & IslandManager )


code: void ApplyPositionConstraints ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 It, const int32 NumIts )


code: void ApplyPositionConstraints ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< int32 > & ConstraintIndices, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 It, const int32 NumIts )


code: void ApplyProjectionConstraints ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< int32 > & ConstraintIndices, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 It, const int32 NumIts )


code: void ApplyProjectionConstraints ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 It, const int32 NumIts )


code: void ApplyVelocityConstraints ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 It, const int32 NumIts )


code: void ApplyVelocityConstraints ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< int32 > & ConstraintIndices, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 It, const int32 NumIts )


description: The constraint is unuseable at this point and pending deletion.

code: virtual void DisconnectConstraints ( const [TSet](API\Runtime\Core\Containers\TSet)< [TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * > & RemovedParticles )


className: FHandles

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< [FConstraintContainerHandle](API\Runtime\Chaos\Chaos\FPBDSuspensionConstraints\FConstraintContainerHandle) * > FHandles


code: void GatherInput ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt )


code: void GatherInput ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< int32 > & ConstraintIndices, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt )


code: const [FHandles](API\Runtime\Chaos\Chaos\FPBDSuspensionConstraints\FHandles) & GetConstConstraintHandles() const


description: Get the particles that are affected by the specified constraint.

code: [TVec2](API\Runtime\ChaosCore\Chaos\TVec2)< [TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * > GetConstrainedParticles ( int32 ConstraintIndex ) const


code: const [FConstraintContainerHandle](API\Runtime\Chaos\Chaos\FPBDSuspensionConstraints\FConstraintContainerHandle) * GetConstraintHandle ( int32 ConstraintIndex ) const


code: void GatherInput &40; const int32 ConstraintIndex, FReal Dt &41;


code: [FConstraintContainerHandle](API\Runtime\Chaos\Chaos\FPBDSuspensionConstraints\FConstraintContainerHandle) * GetConstraintHandle ( int32 ConstraintIndex )


description: Get the world-space constraint positions for each body.

code: const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & GetConstraintPosition ( int ConstraintIndex ) const


description: FConstraintContainer Implementation

code: virtual int32 GetNumConstraints() const


code: const [FPBDSuspensionResults](API\Runtime\Chaos\Chaos\FPBDSuspensionResults) & GetResults ( int32 ConstraintIndex ) const


description: Constraint API

code: const [FPBDSuspensionSettings](API\Runtime\Chaos\Chaos\FPBDSuspensionSettings) & GetSettings ( int32 ConstraintIndex ) const


code: [FPBDSuspensionSettings](API\Runtime\Chaos\Chaos\FPBDSuspensionSettings) & GetSettings ( int32 ConstraintIndex )


code: virtual bool IsConstraintEnabled ( int32 ConstraintIndex ) const


description: Constraint Container API Get the number of constraints.

code: int32 NumConstraints() const


description: Called oncer per tick to initialize buffers required for the rest of the tick

code: virtual void PrepareTick()


description: Remove a constraint.

code: void RemoveConstraint ( int ConstraintIndex )


description: Empty the constraints (must be removed from the graph first, if required)

code: virtual void ResetConstraints()


code: void ScatterOutput ( const [TArrayView](API\Runtime\Core\Containers\TArrayView)< int32 > & ConstraintIndices, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt )


code: void ScatterOutput ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt )


code: void ScatterOutput &40; const int32 ConstraintIndex, FReal Dt &41;


code: virtual void SetConstraintEnabled ( int32 ConstraintIndex, bool bEnabled )


code: void SetConstraintPosition ( const int32 ConstraintIndex, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Position )


code: void SetSettings ( int32 ConstraintIndex, const [FPBDSuspensionSettings](API\Runtime\Chaos\Chaos\FPBDSuspensionSettings) & Settings )


code: void SetTarget ( int32 ConstraintIndex, const FVector & TargetPos )


description: Should undo any allocations in PrepareTick

code: virtual void UnprepareTick()


code: FPBDSuspensionConstraints ( const [FPBDSuspensionSolverSettings](API\Runtime\Chaos\Chaos\FPBDSuspensionSolverSettings) & InSolverSettings )


code: FPBDSuspensionConstraints ( [TArray](API\Runtime\Core\Containers\TArray)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > && Locations, [TArray](API\Runtime\Core\Containers\TArray)< [TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * > && InConstrainedParticles, [TArray](API\Runtime\Core\Containers\TArray)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > && InLocalOffset, [TArray](API\Runtime\Core\Containers\TArray)< [FPBDSuspensionSettings](API\Runtime\Chaos\Chaos\FPBDSuspensionSettings) > && InConstraintSettings )


code: virtual ~FPBDSuspensionConstraints()


className: FPBDSuspensionConstraints

code: class FPBDSuspensionConstraints : public [Chaos::TPBDIndexedConstraintContainer< FPBDSuspensionConstraints >](API\Runtime\Chaos\Chaos\Evolution\TPBDIndexedConstraintContainer)


className: FPBDSuspensionResults

code: class FPBDSuspensionResults

Length

type: FReal


code: FPBDSuspensionSettings ( bool InEnabled, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InHardstopStiffness, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InHardstopVelocityCompensation, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InSpringPreload, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InSpringStiffness, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InDamping, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InMinLength, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InMaxLength, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & InAxis, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & InTarget, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & InNormal )


className: FPBDSuspensionSettings

code: class FPBDSuspensionSettings

Enabled

type: bool


className: FPBDSuspensionSolverSettings

code: class FPBDSuspensionSolverSettings


code: void Apply ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) dt ) const


code: FPBDTetConstraints ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, [TArray](API\Runtime\Core\Containers\TArray)< [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< int32 >> && InConstraints, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InStiffness )


className: FPBDTetConstraints

code: class FPBDTetConstraints : public [Chaos::Softs::FPBDTetConstraintsBase](API\Runtime\Chaos\Chaos\FPBDTetConstraintsBase)


code: [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > GetGradients ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const int32 i ) const


code: [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) GetScalingFactor ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const int32 i, const [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & Grads ) const


code: FPBDTetConstraintsBase ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, [TArray](API\Runtime\Core\Containers\TArray)< [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< int32 >> && InConstraints, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InStiffness )


className: FPBDTetConstraintsBase

code: class FPBDTetConstraintsBase

Constraints

type: TArray<TVec4< ...


className: FBarycentricPoint

description: Debug display of intersection contours.

code: struct FBarycentricPoint

Vertices

type: TVec3< int32 >


className: FContourMinimizationIntersection

code: struct FContourMinimizationIntersection

EdgeVertices

type: TVec2< int32 >


className: FContourType

code: enum FContourType { Open = 0, Loop, Contour0, Contour1, Count, }


code: bool HasContourColorSet &40; int32 ContourIndex &41; const


className: LoopBits

code: static LoopBits = 1 << LoopContourIndex;


className: LoopContourIndex

code: static LoopContourIndex = 0;


code: void SetContourColor &40; int32 ContourIndex, bool bIsColorB &41;


description: Because they are opposite colors with a shared contour index. This will cause repulsion forces to attract and fix the intersection. NOTE: We flip normals if ANY of the TriVertColors are opposite the PointColor or if the TriColor (used for thin regions is flipped). This does a better job for thin features than only flipping normals if ALL TriVertColors are opposite.

code: static bool ShouldFlipNormal &40; const FGIAColor & Color0, const FGIAColor & Color1 &41;


className: FGIAColor

description: Vertices (and Triangles) are assigned FGIAColors by flood-filling global intersection contours. ContourIndex represents which pair of global contours, up to 31 unique contour pairsthen the contour index will reused. In practice this seems to be enough unique contours. It's OK if multiple contours have the same index as long as their intersecting regions don't interact, which is unlikely. Contours come in pairs representing two regions intersecting (except for "loop" contours where a region of cloth intersects itselfthink pinch regions). These are "Colors" represented by setting the ColorBit to 0 or 1 corresponding with the given contour index.

code: struct FGIAColor


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FContourMinimizationIntersection](API\Runtime\Chaos\Chaos\FPBDTriangleMeshCollisions\FContourMinimiza-) > & GetContourMinimizationIntersections() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [TArray](API\Runtime\Core\Containers\TArray)< [FBarycentricPoint](API\Runtime\Chaos\Chaos\FPBDTriangleMeshCollisions\FBarycentricPoint) > > & GetIntersectionContourPoints() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FContourType](API\Runtime\Chaos\Chaos\FPBDTriangleMeshCollisions\FContourType) > & GetIntersectionContourTypes() const


code: const [FTriangleMesh::TSpatialHashType](API\Runtime\Chaos\Chaos\FTriangleMesh\TSpatialHashType)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) > & GetSpatialHash() const


className: NonLoopMask

code: static NonLoopMask = ~LoopBits;


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FGIAColor](API\Runtime\Chaos\Chaos\FPBDTriangleMeshCollisions\FGIAColor) > & GetTriangleGIAColors() const


code: const TConstArrayView< [FGIAColor](API\Runtime\Chaos\Chaos\FPBDTriangleMeshCollisions\FGIAColor) > GetVertexGIAColors() const


code: void Init ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MinProximityQueryRadius )


code: static bool IsEnabled ( const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection )


code: void SetContourMinimization ( bool bInContourMinimization )


code: void SetGlobalIntersectionAnalysis ( bool bInGlobalIntersectionAnalysis )


code: void SetProperties ( const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection )


className: UseContourMinimizationName

code: static const [FName](API\Runtime\Core\UObject\FName) UseContourMinimizationName = TEXT("UseContourMinimization");


className: UseGlobalIntersectionAnalysisName

code: static const [FName](API\Runtime\Core\UObject\FName) UseGlobalIntersectionAnalysisName = TEXT("UseGlobalIntersectionAnalysis");


className: UseSelfIntersectionsName

code: static const [FName](API\Runtime\Core\UObject\FName) UseSelfIntersectionsName = TEXT("UseSelfIntersections");


code: FPBDTriangleMeshCollisions ( const int32 InOffset, const int32 InNumParticles, const [FTriangleMesh](API\Runtime\Chaos\Chaos\FTriangleMesh) & InTriangleMesh, const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection )


code: FPBDTriangleMeshCollisions ( const int32 InOffset, const int32 InNumParticles, const [FTriangleMesh](API\Runtime\Chaos\Chaos\FTriangleMesh) & InTriangleMesh, bool bInGlobalIntersectionAnalysis, bool bInContourMinimization )


code: virtual ~FPBDTriangleMeshCollisions()


className: FPBDTriangleMeshCollisions

code: class FPBDTriangleMeshCollisions


code: void Apply ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, const [TArray](API\Runtime\Core\Containers\TArray)< [FPBDTriangleMeshCollisions::FContourMinimizationIntersection](API\Runtime\Chaos\Chaos\FPBDTriangleMeshCollisions\FContourMinimiza-) > & Intersections, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt ) const


code: FPBDTriangleMeshIntersections ( const int32 InOffset, const int32 InNumParticles, const [FTriangleMesh](API\Runtime\Chaos\Chaos\FTriangleMesh) & InTriangleMesh )


className: FPBDTriangleMeshIntersections

code: class FPBDTriangleMeshIntersections


code: void Apply ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) dt ) const


code: FPBDVolumeConstraint ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, [TArray](API\Runtime\Core\Containers\TArray)< TVec3< int32 >> && InConstraints, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InStiffness )


className: FPBDVolumeConstraint

code: class FPBDVolumeConstraint : public [Chaos::Softs::FPBDVolumeConstraintBase](API\Runtime\Chaos\Chaos\FPBDVolumeConstraintBase)


code: [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > GetGradients ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles ) const


code: [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) GetScalingFactor ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & Grads, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) > & W ) const


code: void SetStiffness ( [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InStiffness )


code: [TArray](API\Runtime\Core\Containers\TArray)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) > GetWeights ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Alpha ) const


code: FPBDVolumeConstraintBase ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, [TArray](API\Runtime\Core\Containers\TArray)< TVec3< int32 >> && InConstraints, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InStiffness )


code: virtual ~FPBDVolumeConstraintBase()


className: FPBDVolumeConstraintBase

code: class FPBDVolumeConstraintBase

Constraints

type: TArray< TVec3< ...


code: void ApplyValues()


code: template<typename FunctorType> void ApplyValues ( FunctorType && MappingFunction )


description: Return the exponential value at the High weight.


description: Return the particles/constraints indices to the stiffness table as a read only array.

code: TConstArrayView< uint8 > GetIndices() const


description: Return the exponential value at the Low weight.


description: Return the table of stiffnesses as a read only array.

code: TConstArrayView< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) > GetTable() const


description: Return the low and high values set for this weight map. Both values will always be between 0 and 1 due to having been clamped in SetWeightedValue.

code: const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & GetWeightedValue() const


description: Return whether this object contains weight map values.

code: bool HasWeightMap() const


description: Return the number of values stored in the weight map.

code: int32 Num() const


className: FPBDWeightMap::operator FSolverReal

description: Return the exponential stiffness value when the weight map is not used.

code: operator FSolverReal() const


code: [FPBDWeightMap](API\Runtime\Chaos\Chaos\FPBDWeightMap) & operator= ( const [FPBDWeightMap](API\Runtime\Chaos\Chaos\FPBDWeightMap) & )


code: [FPBDWeightMap](API\Runtime\Chaos\Chaos\FPBDWeightMap) & operator= ( [FPBDWeightMap](API\Runtime\Chaos\Chaos\FPBDWeightMap) && )


description: Lookup for the exponential weighted value at the specified weight map index. This function will assert if it is called with a non zero index on an empty weight map.

code: [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) operator[] ( int32 Index ) const


description: Reorder Indices based on Constraint reordering.

code: void ReorderIndices ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & OrigToReorderedIndices )


description: Set the low and high values of the weight map. The weight map table only gets updated after ApplyValues is called. Low and high values are clamped between [0,1]

code: void SetWeightedValue ( const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InWeightedValue )


description: Set the low and high values of the weight map. The weight map table only gets updated after ApplyValues is called. Low and high values are not clamped. Commonly used for XPBD Stiffness values which are not [0,1]

code: void SetWeightedValueUnclamped ( const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InWeightedValue )


code: FPBDWeightMap ( const [FPBDWeightMap](API\Runtime\Chaos\Chaos\FPBDWeightMap) & )


description: Weightmap particle constructor.

code: FPBDWeightMap ( const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InWeightedValue, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & Multipliers, int32 ParticleCount, int32 TableSize )


code: FPBDWeightMap ( [FPBDWeightMap](API\Runtime\Chaos\Chaos\FPBDWeightMap) && )


description: Weightmap constraint constructor.

code: template<int32 Valence> FPBDWeightMap ( const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InWeightedValue, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & Multipliers, const TConstArrayView< [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, Valence >> & Constraints, int32 ParticleOffset, int32 ParticleCount, int32 TableSize, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< Valence >, ::Type * )


className: FPBDWeightMap

description: Weight map class for managing real time update to the weight map and low/high value ranges

code: class FPBDWeightMap

Indices

type: TArray< uint8 >

Table

type: TArray<FSolver...


code: void Serialize ( [FChaosArchive](API\Runtime\Chaos\Chaos\FChaosArchive) & Ar )


className: FPendingSpatialData

description: Used for updating intermediate spatial structures when they are finished

code: struct FPendingSpatialData

AccelerationHandle

type: FAccelerationSt...

Operation

type: EPendingSpatial...

SpatialIdx

type: FSpatialAcceler...


code: [FPendingSpatialData](API\Runtime\Chaos\Chaos\FPendingSpatialData) & FindOrAdd ( const [FUniqueIdx](API\Runtime\Chaos\Chaos\FUniqueIdx) UniqueIdx, [EPendingSpatialDataOperation](API\Runtime\Chaos\Chaos\Chaos__EPendingSpatialDataOperat-) Operation )


code: void Remove ( const [FUniqueIdx](API\Runtime\Chaos\Chaos\FUniqueIdx) UniqueIdx )


className: FPendingSpatialDataQueue

code: struct FPendingSpatialDataQueue

ParticleToPendingData

type: TArrayAsMap<FU...

PendingData

type: TArray<FPendin...


code: virtual void Apply ( [TTransientPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\TTransientPBDRigidParticleHandle)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & Particle, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt ) const


code: void Apply ( [FDynamicParticles](API\Runtime\Chaos\Chaos\FDynamicParticles) & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 Index ) const


code: void Apply ( [TRigidParticles](API\Runtime\Chaos\Chaos\TRigidParticles)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 Index ) const


code: template<class T_PARTICLES> void ApplyHelper ( T_PARTICLES & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 Index ) const


className: FPerParticleAddImpulses

code: class FPerParticleAddImpulses : public [Chaos::FPerParticleRule](API\Runtime\Chaos\Chaos\FPerParticleRule)


description: Apply damping without first checking for kinematic particles.

code: void ApplyFast ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal), const int32 Index ) const


code: FPerParticleDampVelocity ( const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InCoefficient )


className: FPerParticleDampVelocity

code: class FPerParticleDampVelocity


code: void ApplyHelper ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & V, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & W, [FReal](API\Runtime\ChaosCore\Chaos\FReal) LinearDamp, [FReal](API\Runtime\ChaosCore\Chaos\FReal) AngularDamp, [FReal](API\Runtime\ChaosCore\Chaos\FReal) LinearLimitSq, [FReal](API\Runtime\ChaosCore\Chaos\FReal) AngularLimitSq, [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt ) const


code: void UpdatePositionBasedState ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, const int32 Offset, const int32 Range )


className: FPerParticleEtherDrag

code: class FPerParticleEtherDrag : public [Chaos::FPerParticleRule](API\Runtime\Chaos\Chaos\FPerParticleRule)


className: FPerParticleEulerStepVelocity

code: class FPerParticleEulerStepVelocity : public [Chaos::FPerParticleRule](API\Runtime\Chaos\Chaos\FPerParticleRule)


code: virtual void Apply ( [TTransientPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\TTransientPBDRigidParticleHandle)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & HandleIn, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt ) const


code: virtual ~FPerParticleExternalForces()


className: FPerParticleExternalForces

code: class FPerParticleExternalForces : public [Chaos::FPerParticleRule](API\Runtime\Chaos\Chaos\FPerParticleRule)


className: MaxGravityGroups

code: static constexpr uint32 MaxGravityGroups = 8;


code: const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & GetAcceleration ( int32 GroupIndex ) const


code: void SetAcceleration ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Acceleration, int32 GroupIndex )


code: FPerParticleGravity ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & G )


code: FPerParticleGravity ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Direction, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Magnitude )


className: FPerParticleGravity

code: class FPerParticleGravity : public [Chaos::FPerParticleRule](API\Runtime\Chaos\Chaos\FPerParticleRule)


code: virtual void Apply ( [TTransientPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\TTransientPBDRigidParticleHandle)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & Particle, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt ) const


code: virtual void Apply ( [FDynamicParticles](API\Runtime\Chaos\Chaos\FDynamicParticles) & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int Index ) const


code: virtual void Apply ( [TRigidParticles](API\Runtime\Chaos\Chaos\TRigidParticles)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int Index ) const


className: FPerParticleInitForce

code: class FPerParticleInitForce : public [Chaos::FPerParticleRule](API\Runtime\Chaos\Chaos\FPerParticleRule)


code: void ApplyRange ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt, const int32 Offset, const int32 Range ) const


code: FPerParticlePBDCCDCollisionConstraint ( const [TPBDActiveView](API\Runtime\Chaos\Chaos\TPBDActiveView)< [FSolverRigidParticles](API\Runtime\Chaos\Chaos\FSolverRigidParticles) > & InCollisionParticlesActiveView, [TArray](API\Runtime\Core\Containers\TArray)< [FSolverRigidTransform3](API\Runtime\Chaos\Chaos\FSolverRigidTransform3) > & InCollisionTransforms, [TArray](API\Runtime\Core\Containers\TArray)< bool > & InCollided, [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InContacts, [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InNormals, [TArray](API\Runtime\Core\Containers\TArray)< uint32 > & InDynamicGroupIds, [TArray](API\Runtime\Core\Containers\TArray)< uint32 > & InKinematicGroupIds, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) > & InPerGroupThicknesses, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) > & InPerGroupFriction, bool bWriteCCDContacts )


className: FPerParticlePBDCCDCollisionConstraint


code: void ApplyFriction ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt, const int32 Index ) const


code: FPerParticlePBDCollisionConstraint ( const [TPBDActiveView](API\Runtime\Chaos\Chaos\TPBDActiveView)< [FSolverRigidParticles](API\Runtime\Chaos\Chaos\FSolverRigidParticles) > & InParticlesActiveView, [TArray](API\Runtime\Core\Containers\TArray)< bool > & Collided, [TArray](API\Runtime\Core\Containers\TArray)< uint32 > & DynamicGroupIds, [TArray](API\Runtime\Core\Containers\TArray)< uint32 > & KinematicGroupIds, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) > & PerGroupThickness, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) > & PerGroupFriction )


code: FPerParticlePBDCollisionConstraint ( const [TPBDActiveView](API\Runtime\Chaos\Chaos\TPBDActiveView)< [FSolverRigidParticles](API\Runtime\Chaos\Chaos\FSolverRigidParticles) > & InParticlesActiveView, [TArray](API\Runtime\Core\Containers\TArray)< bool > & Collided, [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InContacts, [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InNormals, [TArray](API\Runtime\Core\Containers\TArray)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) > & InPhis, [TArray](API\Runtime\Core\Containers\TArray)< uint32 > & DynamicGroupIds, [TArray](API\Runtime\Core\Containers\TArray)< uint32 > & KinematicGroupIds, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) > & PerGroupThickness, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) > & PerGroupFriction, bool bWriteCCDContacts )


code: ~FPerParticlePBDCollisionConstraint()


code: void Apply ( [FPBDParticles](API\Runtime\Chaos\Chaos\FPBDParticles) & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 Index ) const


code: void Apply ( [TPBDRigidParticles](API\Runtime\Chaos\TPBDRigidParticles)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 Index ) const


code: template<class T_PARTICLES> void ApplyHelper ( T_PARTICLES & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 Index ) const


code: virtual ~FPerParticlePBDEulerStep()


className: FPerParticlePBDEulerStep

description: Update position and rotation based on velocity and angular velocity.

code: class FPerParticlePBDEulerStep : public [Chaos::FPerParticleRule](API\Runtime\Chaos\Chaos\FPerParticleRule)


code: FPerParticlePBDGroundConstraint ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Height )


className: FPerParticlePBDGroundConstraint

code: class FPerParticlePBDGroundConstraint : public [Chaos::FPerParticleRule](API\Runtime\Chaos\Chaos\FPerParticleRule)


code: void Apply ( [FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * Particle, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt ) const


code: virtual void Apply ( [TTransientPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\TTransientPBDRigidParticleHandle)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & Particle, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt ) const


className: FPerParticlePBDUpdateFromDeltaPosition

code: class FPerParticlePBDUpdateFromDeltaPosition : public [Chaos::FPerParticleRule](API\Runtime\Chaos\Chaos\FPerParticleRule)


code: virtual void Apply ( [FParticles](API\Runtime\Chaos\Chaos\FParticles) & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt ) const


code: virtual void Apply ( [FPBDRigidParticles](API\Runtime\Chaos\Chaos\FPBDRigidParticles) & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int Index ) const


code: virtual void Apply ( [FDynamicParticles](API\Runtime\Chaos\Chaos\FDynamicParticles) & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt ) const


code: virtual void Apply ( [TPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\TPBDRigidParticleHandle)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * Particle, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt ) const


code: virtual void Apply ( [FPBDParticles](API\Runtime\Chaos\Chaos\FPBDParticles) & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt ) const


code: virtual void Apply ( [FParticles](API\Runtime\Chaos\Chaos\FParticles) & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int Index ) const


code: virtual void Apply ( [FDynamicParticles](API\Runtime\Chaos\Chaos\FDynamicParticles) & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int Index ) const


code: virtual void Apply ( [TRigidParticles](API\Runtime\Chaos\Chaos\TRigidParticles)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int Index ) const


code: virtual void Apply ( [FPBDParticles](API\Runtime\Chaos\Chaos\FPBDParticles) & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int Index ) const


code: template<class T_PARTICLES> void ApplyPerParticle ( T_PARTICLES & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt ) const


className: FPerParticleRule

description: A Particle Rule that applies some effect to all particles in parallel. This should only be used if the effect on any particle is independent of all others (i.e., the implementation of ApplySingle only reads/writes to the one particle).

code: class FPerParticleRule : public [Chaos::FParticleRule](API\Runtime\Chaos\Chaos\FParticleRule)


description: Downcasts


description: Downcasts

code: const [FShapeInstance](API\Runtime\Chaos\Chaos\FShapeInstance) * AsShapeInstance() const


className: AlwaysSerializable

code: static constexpr bool AlwaysSerializable = true;


code: const [Private::FShapeInstanceExtended](API\Runtime\Chaos\Chaos\FShapeInstanceExtended) * AsShapeInstanceExtended() const


description: Downcasts

code: const [FShapeInstanceProxy](API\Runtime\Chaos\Chaos\FShapeInstanceProxy) * AsShapeInstanceProxy() const


description: Deprecated* CallFShapeInstanceProxy::Makefor game thread objects,FShapeInstance::Makefor physics thread objects

code: static [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FPerShapeData](API\Runtime\Chaos\Chaos\FPerShapeData) > CreatePerShapeData ( int32 InShapeIdx, [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > InGeometry )


description: Call a function on the concrete type.

code: template<typename TLambda> decltype(auto) DownCast ( const TLambda & Lambda )


description: Call a function on the concrete type.

code: template<typename TLambda> decltype(auto) DownCast ( const TLambda & Lambda ) const


className: EPerShapeDataType

code: enum EPerShapeDataType { Proxy, Sim, SimExtended, }


code: const [FShapeDirtyFlags](API\Runtime\Chaos\Chaos\FShapeDirtyFlags) GetDirtyFlags() const


code: const [FCollisionData](API\Runtime\Chaos\Chaos\FCollisionData) & GetCollisionData() const


code: [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > GetGeometry() const


description: The leaf shape (with transformed and implicit wrapper removed).

code: const [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) * GetLeafGeometry() const


description: The actor-relative transform of the leaf geometry.


description: The world-space transform of the leaf geometry. If we have non-identity leaf relative transform, is cached from the last call to UpdateWorldSpaceState. If not cahced, is constructed from arguments.

code: [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) GetLeafWorldTransform ( const [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * Particle ) const


code: const [FMaterialHandle](API\Runtime\Chaos\Chaos\FMaterialHandle) & GetMaterial ( const int32 Index ) const


code: const [FMaterialData](API\Runtime\Chaos\Chaos\FMaterialData) & GetMaterialData() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FMaterialHandle](API\Runtime\Chaos\Chaos\FMaterialHandle) > & GetMaterialMaskMapMaterials() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< uint32 > & GetMaterialMaskMaps() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FMaterialMaskHandle](API\Runtime\Chaos\Chaos\FMaterialMaskHandle) > & GetMaterialMasks() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FMaterialHandle](API\Runtime\Chaos\Chaos\FMaterialHandle) > & GetMaterials() const


code: const [FCollisionFilterData](API\Runtime\Chaos\Chaos\FCollisionFilterData) & GetQueryData() const


code: const [FCollisionFilterData](API\Runtime\Chaos\Chaos\FCollisionFilterData) & GetSimData() const


code: const [TAABB](API\Runtime\Chaos\Chaos\TAABB)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & GetWorldSpaceInflatedShapeBounds() const


code: template<typename Lambda> void ModifyMaterialMaskMapMaterials ( const Lambda & LambdaFunc )


code: template<typename Lambda> void ModifyMaterialMaskMaps ( const Lambda & LambdaFunc )


code: template<typename Lambda> void ModifyMaterialMasks ( const Lambda & LambdaFunc )


code: template<typename Lambda> void ModifyMaterials ( const Lambda & LambdaFunc )


code: template<typename Lambda> void ModifySimData ( const Lambda & LambdaFunc )


code: void ModifyShapeIndex ( int32 NewShapeIndex )


code: static [FPerShapeData](API\Runtime\Chaos\Chaos\FPerShapeData) * SerializationFactory ( [FChaosArchive](API\Runtime\Chaos\Chaos\FChaosArchive) & Ar, [FPerShapeData](API\Runtime\Chaos\Chaos\FPerShapeData) * )


description: Deprecated* Not used

code: static bool RequiresCachedLeafInfo ( const [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) * Geometry )


code: virtual void Serialize ( [FChaosArchive](API\Runtime\Chaos\Chaos\FChaosArchive) & Ar )


code: void SerializeMaterials ( [FChaosArchive](API\Runtime\Chaos\Chaos\FChaosArchive) & Ar )


code: void SetCollisionTraceType ( const [EChaosCollisionTraceFlag](API\Runtime\Chaos\Chaos\Chaos__EChaosCollisionTraceFlag) InTraceFlag )


code: void SetCollisionData ( const [FCollisionData](API\Runtime\Chaos\Chaos\FCollisionData) & Data )


code: void SetIsProbe ( const bool bIsProbe )


code: void SetMaterial ( [FMaterialHandle](API\Runtime\Chaos\Chaos\FMaterialHandle) InMaterial )


code: void SetMaterialData ( const [FMaterialData](API\Runtime\Chaos\Chaos\FMaterialData) & Data )


code: void SetMaterialMaskMapMaterials ( const [TArray](API\Runtime\Core\Containers\TArray)< [FMaterialHandle](API\Runtime\Chaos\Chaos\FMaterialHandle) > & InMaterialMaskMapMaterials )


code: void SetMaterialMaskMaps ( const [TArray](API\Runtime\Core\Containers\TArray)< uint32 > & InMaterialMaskMaps )


code: void SetMaterials ( const [TArray](API\Runtime\Core\Containers\TArray)< [FMaterialHandle](API\Runtime\Chaos\Chaos\FMaterialHandle) > & InMaterials )


code: void SetMaterialMasks ( const [TArray](API\Runtime\Core\Containers\TArray)< [FMaterialMaskHandle](API\Runtime\Chaos\Chaos\FMaterialMaskHandle) > & InMaterialMasks )


code: void SetMaterials ( [TArray](API\Runtime\Core\Containers\TArray)< [FMaterialHandle](API\Runtime\Chaos\Chaos\FMaterialHandle) > && InMaterials )


code: void SetProxy ( [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) * InProxy )


code: void SetQueryData ( const [FCollisionFilterData](API\Runtime\Chaos\Chaos\FCollisionFilterData) & InQueryData )


code: void SetQueryEnabled ( const bool bEnable )


code: void SetSimData ( const [FCollisionFilterData](API\Runtime\Chaos\Chaos\FCollisionFilterData) & InSimData )


code: void SetSimEnabled ( const bool bEnable )


code: void SetUserData ( void * InUserData )


code: void SyncRemoteData ( [FDirtyPropertiesManager](API\Runtime\Chaos\Chaos\FDirtyPropertiesManager) & Manager, int32 ShapeDataIdx, [FShapeDirtyData](API\Runtime\Chaos\Chaos\FShapeDirtyData) & RemoteData )


description: Deprecated* CallFShapeInstanceProxy::UpdateGeometryfor game thread objects,FShapeInstance::UpdateGeometryfor physics thread objects

code: static void UpdateGeometry ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FPerShapeData](API\Runtime\Chaos\Chaos\FPerShapeData) > & InOutShapePtr, [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > InGeometry )


code: void UpdateWorldSpaceState ( const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & WorldTransform, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & BoundsExpansion )


description: FPerShapeDataimplementation

code: void UpdateShapeBounds ( const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & WorldTM, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & BoundsExpansion )


code: void UpdateLeafWorldTransform ( [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * Particle )


code: FPerShapeData ( const [EPerShapeDataType](API\Runtime\Chaos\Chaos\FPerShapeData\EPerShapeDataType) InType, int32 InShapeIdx )


code: FPerShapeData ( const [EPerShapeDataType](API\Runtime\Chaos\Chaos\FPerShapeData\EPerShapeDataType) InType, const [FPerShapeData](API\Runtime\Chaos\Chaos\FPerShapeData) & Other )


code: FPerShapeData ( const [EPerShapeDataType](API\Runtime\Chaos\Chaos\FPerShapeData\EPerShapeDataType) InType, int32 InShapeIdx, [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > InGeometry )


className: FPerShapeData

description: FPerShapeDatais going to be deprecated. SeeFShapeInstanceandFShapeInstanceProxy

code: class FPerShapeData

bIsSingleMaterial

type: uint8:  1

Geometry

type: TSerializablePt...

Type

type: EPerShapeDataTy...

WorldSpaceInflatedShapeBounds

type: TAABB<FReal, 3...


description: Create a new material, returning a stable handle to it - this should be stored and not the actual material pointer


description: Destroy the material referenced by the provided handle

code: void Destroy ( [FMaterialHandle](API\Runtime\Chaos\Chaos\FMaterialHandle) InHandle )


code: void Destroy ( [FMaterialMaskHandle](API\Runtime\Chaos\Chaos\FMaterialMaskHandle) InHandle )


code: static [FPhysicalMaterialManager](API\Runtime\Chaos\Chaos\FPhysicalMaterialManager) & Get()


description: Deprecated* GetMasterMaterialMasks_External is deprecated, please use GetPrimaryMaterialMasks_External instead

code: const [THandleArray](API\Runtime\Chaos\Chaos\Framework\THandleArray)< [FChaosPhysicsMaterialMask](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterialMask) > & GetMasterMaterialMasks_External() const


description: Gets the internal list of primary materials representing the current user state of the material data

code: const [THandleArray](API\Runtime\Chaos\Chaos\Framework\THandleArray)< [FChaosPhysicsMaterial](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterial) > & GetMasterMaterials_External() const


code: const [THandleArray](API\Runtime\Chaos\Chaos\Framework\THandleArray)< [FChaosPhysicsMaterialMask](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterialMask) > & GetPrimaryMaterialMasks_External() const


code: const [THandleArray](API\Runtime\Chaos\Chaos\Framework\THandleArray)< [FChaosPhysicsMaterial](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterial) > & GetPrimaryMaterials_External() const


className: InitialCapacity

description: Initial size for the handle-managed array

code: static constexpr int32 InitialCapacity = 4;


description: Get the actual material from a handle

code: [FChaosPhysicsMaterial](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterial) * Resolve ( [FChaosMaterialHandle](API\Runtime\Chaos\Chaos\FChaosMaterialHandle) InHandle ) const


description: Get the actual material from a handle

code: const [FChaosPhysicsMaterial](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterial) * Resolve ( [FChaosConstMaterialHandle](API\Runtime\Chaos\Chaos\FChaosConstMaterialHandle) InHandle ) const


code: [FChaosPhysicsMaterialMask](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterialMask) * Resolve ( [FChaosMaterialMaskHandle](API\Runtime\Chaos\Chaos\FChaosMaterialMaskHandle) InHandle ) const


description: Get the actual material from a handle

code: const [FChaosPhysicsMaterialMask](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterialMask) * Resolve ( [FChaosConstMaterialMaskHandle](API\Runtime\Chaos\Chaos\FChaosConstMaterialMaskHandle) InHandle ) const


description: Signals stakeholders that the stored material for the provided handle has changed

code: void UpdateMaterial ( [FMaterialHandle](API\Runtime\Chaos\Chaos\FMaterialHandle) InHandle )


code: void UpdateMaterialMask ( [FMaterialMaskHandle](API\Runtime\Chaos\Chaos\FMaterialMaskHandle) InHandle )


className: FPhysicalMaterialManager

description: No constructors are accessible with public or protected access.

code: class FPhysicalMaterialManager

OnMaterialCreated

type: FOnMaterialCrea...

OnMaterialDestroyed

type: FOnMaterialDest...

OnMaterialMaskCreated

type: FOnMaterialMask...

OnMaterialUpdated

type: FOnMaterialUpda...

description: Events


code: template<typename TRaycastHit> bool LineTrace ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) > InObjects, const FVector & WorldStart, const FVector & WorldEnd, bool bTraceComplex, TRaycastHit & OutBestHit )


description: This function does the same as GetPhysicsObjectOverlap but also computes the MTD metric.

code: bool PhysicsObjectOverlapWithMTD ( const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) ObjectA, const FTransform & InTransformA, const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) ObjectB, const FTransform & InTransformB, bool bTraceComplex, [FMTDInfo](API\Runtime\Chaos\Chaos\FMTDInfo) & OutMTD )


description: This function does the same as GetPhysicsObjectOverlap but also computes the AABB overlap metric.

code: bool PhysicsObjectOverlapWithAABB ( const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) ObjectA, const FTransform & InTransformA, const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) ObjectB, const FTransform & InTransformB, bool bTraceComplex, const FVector & Tolerance, FBox & OutOverlap )


code: bool PhysicsObjectOverlapWithAABBSize ( const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) ObjectA, const FTransform & InTransformA, const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) ObjectB, const FTransform & InTransformB, bool bTraceComplex, const FVector & Tolerance, FVector & OutOverlapSize )


code: bool PhysicsObjectOverlapWithAABBIntersections ( const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) ObjectA, const FTransform & InTransformA, const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) ObjectB, const FTransform & InTransformB, bool bTraceComplex, const FVector & Tolerance, [TArray](API\Runtime\Core\Containers\TArray)< FBox > & Intersections )


description: This function will not compute any overlap heuristic.

code: bool PhysicsObjectOverlap ( const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) ObjectA, const FTransform & InTransformA, const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) ObjectB, const FTransform & InTransformB, bool bTraceComplex )


description: Returns all the overlaps within A given a shape B.

code: template<typename TOverlapHit> bool PhysicsObjectOverlap ( const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) ObjectA, const FTransform & InTransformA, const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) ObjectB, const FTransform & InTransformB, bool bTraceComplex, [TArray](API\Runtime\Core\Containers\TArray)< TOverlapHit > & OutOverlaps )


code: template<typename TOverlapHit> bool ShapeOverlap ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) > InObjects, const [Chaos::FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) & InGeom, const FTransform & GeomTransform, [TArray](API\Runtime\Core\Containers\TArray)< TOverlapHit > & OutOverlaps )


code: template<typename TOverlapHit> bool ShapeOverlapWithMTD ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) > InObjects, const [Chaos::FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) & InGeom, const FTransform & GeomTransform, [TArray](API\Runtime\Core\Containers\TArray)< TOverlapHit > & OutOverlaps, [FMTDInfo](API\Runtime\Chaos\Chaos\FMTDInfo) * MTD )


code: template<typename TSweepHit> bool ShapeSweep ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) > InObjects, const [Chaos::FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) & InGeom, const FTransform & StartTM, const FVector & EndPos, const [FSweepParameters](API\Runtime\Chaos\Chaos\FSweepParameters) & Params, TSweepHit & OutBestHit )


code: FPhysicsObjectCollisionInterface ( [FReadPhysicsObjectInterface](API\Runtime\Chaos\Chaos\FReadPhysicsObjectInterface)< Id > & InInterface )


className: FPhysicsObjectCollisionInterface

code: template<[EThreadContext](API\Runtime\Chaos\Framework\Chaos__EThreadContext) Id> class FPhysicsObjectCollisionInterface


className: FPhysicsObjectDeleter

code: struct FPhysicsObjectDeleter


code: void operator() ( [FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) p )


className: FPhysicsObjectHandle

code: typedef FPhysicsObject * FPhysicsObjectHandle


className: FPhysicsObjectId

code: typedef int32 FPhysicsObjectId


description: This function should not be called without an appropriate read-lock on the relevant scene.

code: template<[EThreadContext](API\Runtime\Chaos\Framework\Chaos__EThreadContext) Id> static [FReadPhysicsObjectInterface](API\Runtime\Chaos\Chaos\FReadPhysicsObjectInterface)< Id > CreateReadInterface()


description: This function should not be called without an appropriate write-lock on the relevant scene.

code: template<[EThreadContext](API\Runtime\Chaos\Framework\Chaos__EThreadContext) Id> static [FWritePhysicsObjectInterface](API\Runtime\Chaos\Chaos\FWritePhysicsObjectInterface)< Id > CreateWriteInterface()


code: static int32 GetId ( const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) Object )


code: static [FName](API\Runtime\Core\UObject\FName) GetName ( const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) Object )


code: static [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) * GetProxy ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) > InObjects )


code: static [FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * GetSolver ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FConstPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FConstPhysicsObjectHandle) > InObjects )


code: static void SetId ( const [FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) Object, int32 InId )


code: static void SetName ( const [FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) Object, const [FName](API\Runtime\Core\UObject\FName) & InName )


className: FPhysicsObjectInterface

description: TheFPhysicsObjectInterfaceis primarily used to perform maintenance operations on the FPhysicsObject. Any operations on the underlying particle/particle handle should use theFReadPhysicsObjectInterfaceandFWritePhysicsObjectInterface.

code: class FPhysicsObjectInterface


className: FPhysicsObjectInternalInterface

code: class FPhysicsObjectInternalInterface : public [Chaos::FPhysicsObjectInterface](API\Runtime\Chaos\Chaos\FPhysicsObjectInterface)


className: FPhysicsObjectPair

code: typedef [TVector](API\Runtime\Chaos\Chaos\TVector)< FPhysicsObject *, 2 > FPhysicsObjectPair


className: FPhysicsObjectPairProperty

code: struct FPhysicsObjectPairProperty

PhysicsBodies

type: FPhysicsObjectP...


className: FPhysicsObjectUniquePtr

code: typedef [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< FPhysicsObject, [FPhysicsObjectDeleter](API\Runtime\Chaos\Chaos\FPhysicsObjectDeleter) > FPhysicsObjectUniquePtr


className: FPropertyIdx

code: typedef int32 FPropertyIdx


className: FProxyBasePair

code: typedef [TVector](API\Runtime\Chaos\Chaos\TVector)< [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) *, 2 > FProxyBasePair


className: FProxyBasePairProperty

code: struct FProxyBasePairProperty

ParticleProxies

type: FProxyBasePair


className: FPullPhysicsData

description: A simulation frame's result of dirty particles. These are all the particles that were dirtied in this particular sim step.

code: class FPullPhysicsData

DirtyCharacterGroundConstraints

type: TArray<FDirtyC...

DirtyGeometryCollections

type: TArray<FDirtyG...

DirtyJointConstraints

type: TArray<FDirtyJ...

DirtyRigidErrors

type: TMap< constFSi...

DirtyRigids

type: TArray<FDirtyR...

ExternalEndTime

type: FReal


code: void CopySubstepData ( const [FPushPhysicsData](API\Runtime\Chaos\Chaos\FPushPhysicsData) & FirstStepData )


className: FPushPhysicsData

code: struct FPushPhysicsData

bSolverSubstepped

type: bool

DirtyPropertiesManager

type: FDirtyPropertie...

DirtyProxiesDataBuffer

type: FDirtySet

SimCallbackInputs

type: TArray<FSimCal...

SimCallbackObjectsToAdd

type: TArray<ISimCal...


code: FQueryFastData ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & InDummyDir )


description: Compiler complaining about divide by 0, but we are guarding against it. Seems like it's trying to evaluate div independent of the guard?

code: void SetLength ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) InLength )


code: FQueryFastData ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & InDir, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) InLength )


className: FQueryFastData

code: struct FQueryFastData

bParallel

type: const bool[3]


className: FQueryFastDataVoid

description: Dummy struct for templatized paths

code: struct FQueryFastDataVoid : public [Chaos::FQueryFastData](API\Runtime\Chaos\Chaos\FQueryFastData)


description: Typical gear ratios: Reverse −4.181, 1st 3.818, 2nd 2.294, 3rd 1.500, 4th 1.133, 5th 0.911 Source: Georg Rill. Road Vehicle Dynamics: Fundamentals and Modeling (Ground Vehicle Engineering Series) (p. 121). CRC Press.

code: namespace Chaos { enum EMultiBufferMode { Undefined = 0, Single, Double, Triple, TripleGuarded, } }


description: Todo: once refactor is done use just one enum

code: namespace Chaos { enum EThreadingModeTemp { DedicatedThread, TaskGraph, SingleThread, } }


description: A handle to an item held by index in a container. The container must provide the following API:

code: namespace Chaos { *FItem & Chaos::GetItem ( int32 Index ) }


code: namespace Chaos { void Chaos::InnerPhysicsParallelFor ( int32 InNum, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(int32)> InCallable, bool bForceSingleThreaded ) }


code: namespace Chaos { void Chaos::InnerPhysicsParallelForRange ( int32 InNum, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(int32, int32)> InCallable, const int32 MinBatchSize, bool bForceSingleThreaded ) }


code: namespace Chaos { void Chaos::PhysicsParallelFor ( int32 InNum, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(int32)> InCallable, bool bForceSingleThreaded ) }


code: namespace Chaos { void Chaos::PhysicsParallelForRange ( int32 InNum, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(int32, int32)> InCallable, const int32 MinBatchSize, bool bForceSingleThreaded ) }


code: namespace Chaos { void Chaos::PhysicsParallelForWithContext ( int32 InNum, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< int32(int32, int32)> InContextCreator, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(int32, int32)> InCallable, bool bForceSingleThreaded ) }


code: namespace Chaos { *const FItem * Chaos::TryGetItem ( int32 Index ) const }


code: FAllSolverTasks ( [FPhysicsSolverBase](API\Runtime\Chaos\Chaos\Framework\FPhysicsSolverBase) & InSolver, [FPushPhysicsData](API\Runtime\Chaos\Chaos\FPushPhysicsData) * PushData )


className: FAllSolverTasks

code: struct FAllSolverTasks

AdvanceTask

type: FPhysicsSolverA...

GTPreSimCallbacks

type: FPhysicsSolverF...

ProcessPushData

type: FPhysicsSolverP...

Solver

type: FPhysicsSolverB...


className: FChaosClusterUnionInterpolationData

Next

type: FDirtyClusterUn...


type: FDirtyGeometryC...


code: FChaosInterpolationResults ( const [FChaosInterpolationResults](API\Runtime\Chaos\Chaos\Framework\FChaosInterpolationResults) & Other )


code: FChaosInterpolationResults ( [FChaosInterpolationResults](API\Runtime\Chaos\Chaos\Framework\FChaosInterpolationResults) && Other )


className: FChaosInterpolationResults

code: struct FChaosInterpolationResults

Alpha

type: FRealSingle

ClusterUnionInterpolations

type: TArray<FChaosC...

GeometryCollectionInterpolations

type: TArray<FChaosG...

type: FPullPhysicsDat...

RigidInterpolations

type: TArray<FChaosR...


code: [TArray](API\Runtime\Core\Containers\TArray)< const [FChaosInterpolationResults](API\Runtime\Chaos\Chaos\Framework\FChaosInterpolationResults) * > PullAsyncPhysicsResults_External ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) ResultsTime )


className: MaxNumChannels

code: static constexpr int32 MaxNumChannels = 2;


code: void RemoveProxy_External ( [FSingleParticlePhysicsProxy](API\Runtime\Chaos\PhysicsProxy\FSingleParticlePhysicsProxy) * Proxy )


code: FChaosResultsManager ( [FChaosMarshallingManager](API\Runtime\Chaos\Chaos\FChaosMarshallingManager) & InMarshallingManager )


code: FChaosResultsManager ( const [FChaosResultsManager](API\Runtime\Chaos\Chaos\Framework\FChaosResultsManager) & Other )


code: FChaosResultsManager ( [FChaosResultsManager](API\Runtime\Chaos\Chaos\Framework\FChaosResultsManager) && Other )


className: FChaosResultsManager

code: class FChaosResultsManager


className: FChaosRigidInterpolationData

code: struct FChaosRigidInterpolationData

Next

type: FDirtyRigidPart...


className: FClusterUnionProxyTimestamp

code: struct FClusterUnionProxyTimestamp : public [FProxyTimestampBase](API\Runtime\Chaos\Chaos\Framework\FProxyTimestampBase)

OverWriteR

type: TTimestampPrope...


description: Add a new potential pause point where the debug solver thread can wait until the next step/substep command.

code: void Add ( const TCHAR * Label ) const


description: Add a new step or substep.

code: void Add &40; bool bInStep, const TCHAR &42; Label &41; const


className: ECommand

code: enum ECommand { Enable, Disable, ProgressToSubstep, ProgressToStep, }


description: Enable/disable substep pause points.

code: void Enable ( bool bEnable )


description: Return whether debugging mode/pausing to substeps is enabled.

code: bool IsEnabled() const


description: Allow progress to the next step (only works once this object is enabled).

code: void ProgressToStep()


description: Allow progress to the next substep (only works once this object is enabled).

code: void ProgressToSubstep()


code: FDebugSubstep &40; const FDebugSubstep & &41;


className: FDebugSubstep

description: Debug only class used to control the pausing/stepping/substepping of a debug solver thread.

code: class FDebugSubstep


code: virtual ResourceType * AccessProducerBuffer()


code: virtual const ResourceType * GetConsumerBuffer() const


description: NOTE: these changes may not make it to producer side, it is meant for resource management not to pass information back.

code: virtual ResourceType * GetConsumerBufferMutable()


code: virtual const ResourceType * GetProducerBuffer() const


className: FDoubleBuffer

description: Double Buffer Implementation - Not thread-safe requires external locks

code: template<typename ResourceType> class FDoubleBuffer : public [Chaos::IBufferResource< ResourceType >](API\Runtime\Chaos\Chaos\Framework\IBufferResource)


className: FGeometryCollectionProxyTimestamp

code: struct FGeometryCollectionProxyTimestamp : public [FProxyTimestampBase](API\Runtime\Chaos\Chaos\Framework\FProxyTimestampBase)


description: This function should only be called by the producer thread.


code: virtual void FlipProducer()


description: This function should only be called by the consumer thread.


description: Get access to the currently held consumer buffer, ignoring whether it's already been consumed.

code: const ResourceType * PeekConsumerBuffer() const


description: AccP: *0, 1, 2 - *write access Flip: 2, 1, 0 Cons: 2, ^0, 1 - ^read access Cons: 2, 1, 0 <- Add an extra consume... Flip: 0, 1, 2 <- and an extra flip and only use 1 buffer.

code: FGuardedTripleBuffer()


className: FGuardedTripleBuffer

description: Not thread-safe, requires external locks.

code: template<typename ResourceType> class FGuardedTripleBuffer : public [Chaos::IBufferResource< ResourceType >](API\Runtime\Chaos\Chaos\Framework\IBufferResource)


code: static [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [IBufferResource](API\Runtime\Chaos\Chaos\Framework\IBufferResource)< ResourceType > > CreateBuffer ( const [EMultiBufferMode](API\Runtime\Chaos\Chaos\Framework\Chaos__EMultiBufferMode) BufferMode )


className: FMultiBufferFactory

code: template<typename ResourceType> class FMultiBufferFactory


code: void DoTask ( [ENamedThreads::Type](API\Runtime\Core\Async\ENamedThreads__Type) CurrentThread, const FGraphEventRef & MyCompletionGraphEvent )


code: FPhysicsSolverAdvanceTask ( [FPhysicsSolverBase](API\Runtime\Chaos\Chaos\Framework\FPhysicsSolverBase) & InSolver, [FPushPhysicsData](API\Runtime\Chaos\Chaos\FPushPhysicsData) * InPushData )


description: Batch dirty proxies without checking DirtyIdx.

code: template<typename TProxiesArray> void AddDirtyProxiesUnsafe ( TProxiesArray & ProxiesArray )


className: FPhysicsSolverAdvanceTask

description: Task responsible for advancing the solver once data has been prepared and GT callbacks have fired

code: class FPhysicsSolverAdvanceTask


code: void AddDirtyProxy ( [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) * ProxyBaseIn )


code: void AddDirtyProxyShape ( [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) * ProxyBaseIn, int32 ShapeIdx )