code: void SyncRemoteData ( [FDirtyPropertiesManager](API\Runtime\Chaos\Chaos\FDirtyPropertiesManager) & Manager, int32 DataIdx, [FDirtyChaosProperties](API\Runtime\Chaos\Chaos\FDirtyChaosProperties) & RemoteData, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & ShapeDataIndices, [FShapeDirtyData](API\Runtime\Chaos\Chaos\FShapeDirtyData) * ShapesRemoteData ) const


module: Chaos

code: virtual void SyncRemoteDataImp ( [FDirtyPropertiesManager](API\Runtime\Chaos\Chaos\FDirtyPropertiesManager) & Manager, int32 DataIdx, const [FDirtyChaosProperties](API\Runtime\Chaos\Chaos\FDirtyChaosProperties) & RemoteData ) const


code: void UpdateShapeBounds ( const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & Transform )


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & X() const


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


code: TGeometryParticle ( const [FGeometryParticleParameters](API\Runtime\Chaos\Chaos\FGeometryParticleParameters) & StaticParams )


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


className: TGeometryParticle

code: template<typename T, int d> class TGeometryParticle

MDirtyFlags

type: FDirtyChaosProp...

Proxy

type: IPhysicsProxyBa...

description: Pointer to any data that the solver wants to associate with this particle TODO: It's important to eventually hide this! Right now it's exposed to lubricate the creation of the whole proxy system.

Type

type: EParticleType


code: void AddConstraintHandle ( [FConstraintHandle](API\Runtime\Chaos\Chaos\FConstraintHandle) * InConstraintHandle )


className: TGeometryParticleHandle

code: typedef [TGeometryParticleHandleImp](API\Runtime\Chaos\Chaos\TGeometryParticleHandleImp)< T, d, true > TGeometryParticleHandle


className: AlwaysSerializable

code: static constexpr bool AlwaysSerializable = bPersistent;


code: [TGeometryParticleHandleImp](API\Runtime\Chaos\Chaos\TGeometryParticleHandleImp)< T, d, false > AsTransient()


code: template<typename Container> const auto & AuxilaryValue ( const Container & AuxContainer ) const


code: template<typename Container> auto & AuxilaryValue ( Container & AuxContainer )


code: const [TPBDRigidClusteredParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDRigidClusteredParticleHandle-)< T, d, bPersistent > * CastToClustered() const


code: [TPBDRigidClusteredParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDRigidClusteredParticleHandle-)< T, d, bPersistent > * CastToClustered()


code: const [TPBDGeometryCollectionParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDGeometryCollectionParticleHa-_1)< T, d, bPersistent > * CastToGeometryCollection() const


code: [TPBDGeometryCollectionParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDGeometryCollectionParticleHa-_1)< T, d, bPersistent > * CastToGeometryCollection()


code: const [TKinematicGeometryParticleHandleImp](API\Runtime\Chaos\Chaos\TKinematicGeometryParticleHandle-)< T, d, bPersistent > * CastToKinematicParticle() const


code: [TKinematicGeometryParticleHandleImp](API\Runtime\Chaos\Chaos\TKinematicGeometryParticleHandle-)< T, d, bPersistent > * CastToKinematicParticle()


code: const [TPBDRigidParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDRigidParticleHandleImp)< T, d, bPersistent > * CastToRigidParticle() const


code: [TPBDRigidParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDRigidParticleHandleImp)< T, d, bPersistent > * CastToRigidParticle()


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & CCDAxisThreshold() const


code: static [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [TGeometryParticleHandleImp](API\Runtime\Chaos\Chaos\TGeometryParticleHandleImp)< T, d, bPersistent > > CreateParticleHandle ( [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [TGeometryParticles](API\Runtime\Chaos\Chaos\TGeometryParticles)< T, d >> InParticles, int32 InParticleIdx, int32 InHandleIdx, const [FGeometryParticleParameters](API\Runtime\Chaos\Chaos\FGeometryParticleParameters) & Params )


code: template<typename TParticlesType, typename TParams> static [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< typename TParticlesType::THandleType > CreateParticleHandleHelper ( [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< TParticlesType > InParticles, int32 InParticleIdx, int32 InHandleIdx, const TParams & Params )


code: const [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > & DynamicGeometry() const


className: FInvalidFromTransient

code: struct FInvalidFromTransient


className: FKinematicParticleHandleType

code: typedef [TKinematicGeometryParticleHandleImp](API\Runtime\Chaos\Chaos\TKinematicGeometryParticleHandle-)< T, d, bPersistent > FKinematicParticleHandleType


className: FDynamicParticleHandleType

code: typedef [TPBDRigidParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDRigidParticleHandleImp)< T, d, bPersistent > FDynamicParticleHandleType


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


code: [Private::FPBDIslandParticle](API\Runtime\Chaos\Chaos\Island\FPBDIslandParticle) * GetConstraintGraphNode() const


description: Useful for logging to indicate particle (this is locally unique among all particles)

code: int32 GetHandleIdx() const


code: template<typename TPayloadType> TPayloadType GetPayload ( int32 Idx )


code: template<> int32 GetPayload ( int32 Idx )


code: [TGeometryParticle](API\Runtime\Chaos\Chaos\TGeometryParticle)< T, d > * GTGeometryParticle() const


code: [TGeometryParticle](API\Runtime\Chaos\Chaos\TGeometryParticle)< T, d > *& GTGeometryParticle()


code: const [TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< T, d > * Handle() const


code: [TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< T, d > * Handle()


description: Initialize the transform.

code: void InitTransform ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & InP, const [FRotation3](API\Runtime\ChaosCore\Chaos\FRotation3) & InQ )


code: const [TAABB](API\Runtime\Chaos\Chaos\TAABB)< T, d > & LocalBounds() const


code: void MoveToSOA ( [TGeometryParticles](API\Runtime\Chaos\Chaos\TGeometryParticles)< T, d > & ToSOA )


code: const [FParticleCollisions](API\Runtime\Chaos\Chaos\Collision\FParticleCollisions) & ParticleCollisions() const


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


code: const [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) * PhysicsProxy() const


code: const [TRotation](API\Runtime\Chaos\Chaos\TRotation)< T, d > & R() const


code: [TRotation](API\Runtime\Chaos\Chaos\TRotation)< T, d > & R()


code: void RemoveConstraintHandle ( [FConstraintHandle](API\Runtime\Chaos\Chaos\FConstraintHandle) * InConstraintHandle )


code: static [TGeometryParticleHandleImp](API\Runtime\Chaos\Chaos\TGeometryParticleHandleImp)< T, d, bPersistent > * SerializationFactory ( [FChaosArchive](API\Runtime\Chaos\Chaos\FChaosArchive) & Ar, [TGeometryParticleHandleImp](API\Runtime\Chaos\Chaos\TGeometryParticleHandleImp)< T, d, bPersistent > * Handle )


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


code: void SetConstraintGraphNode ( [Private::FPBDIslandParticle](API\Runtime\Chaos\Chaos\Island\FPBDIslandParticle) * InNode )


code: void SetDynamicGeometry ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > && Unique )


code: void SetEnabledDuringResim ( bool bEnabledDuringResim )


code: void SetGeometry ( [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > InGeometry )


code: void SetHasBounds ( bool bHasBounds )


code: void SetHasCollision ( const bool bHasCollision )


code: void SetLightWeightDisabled ( bool bLightWeightDisabled )


code: void SetLocalBounds ( const [TAABB](API\Runtime\Chaos\Chaos\TAABB)< T, d > & NewBounds )


code: void SetNonFrequentData ( const [FParticleNonFrequentData](API\Runtime\Chaos\Chaos\FParticleNonFrequentData) & InData )


code: void SetParticleID ( const [FParticleID](API\Runtime\Chaos\Chaos\FParticleID) & ParticleID )


code: void SetPhysicsProxy ( [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) * PhysicsProxy )


code: void SetR ( const [TRotation](API\Runtime\Chaos\Chaos\TRotation)< T, d > & InR, bool bInvalidate )


code: void SetResimType ( [EResimType](API\Runtime\Chaos\Chaos\Chaos__EResimType) ResimType )


code: void SetSharedGeometry ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< const [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject), ESPMode::ThreadSafe > InGeometry )


code: void SetSpatialIdx ( [FSpatialAccelerationIdx](API\Runtime\Chaos\Chaos\FSpatialAccelerationIdx) Idx )


code: void SetSyncState ( [ESyncState](API\Runtime\Chaos\Chaos\Chaos__ESyncState) State )


code: void SetUniqueIdx ( const [FUniqueIdx](API\Runtime\Chaos\Chaos\FUniqueIdx) UniqueIdx, bool bInvalidate ) const


code: void SetX ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InX, bool bInvalidate )


code: void SetXR ( const [FParticlePositionRotation](API\Runtime\Chaos\Chaos\FParticlePositionRotation) & XR )


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


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


code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< const [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject), ESPMode::ThreadSafe > SharedGeometry() const


code: const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< const [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject), ESPMode::ThreadSafe > & SharedGeometryLowLevel() const


code: static constexpr [EParticleType](API\Runtime\Chaos\Chaos\Chaos__EParticleType) StaticType()


className: THandleBase

code: typedef [TParticleHandleBase](API\Runtime\Chaos\Chaos\TParticleHandleBase)< T, d > THandleBase


className: TTransientHandle

code: typedef [TTransientGeometryParticleHandle](API\Runtime\Chaos\Chaos\TTransientGeometryParticleHandle)< T, d > TTransientHandle


description: Update any cached state that depends on world-space transform This includes the world space bounds for the particle and all its shapes.

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


description: Update any cached state that depends on world-space transform.

code: void UpdateWorldSpaceStateSwept ( const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & EndWorldTransform, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & BoundsExpansion, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & DeltaX )


code: const [TAABB](API\Runtime\Chaos\Chaos\TAABB)< T, d > & WorldSpaceInflatedBounds() const


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & X() const


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & X()


className: TSOAType

code: typedef [TGeometryParticles](API\Runtime\Chaos\Chaos\TGeometryParticles)< T, d > TSOAType


description: Needed for serialization

code: TGeometryParticleHandleImp()


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


description: For transient handle.

code: TGeometryParticleHandleImp ( [TGeometryParticles](API\Runtime\Chaos\Chaos\TGeometryParticles)< T, d > * InParticles, const int32 InParticleIdx )


code: TGeometryParticleHandleImp ( [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [TGeometryParticles](API\Runtime\Chaos\Chaos\TGeometryParticles)< T, d >> InParticles, int32 InParticleIdx, int32 InHandleIdx, const [FGeometryParticleParameters](API\Runtime\Chaos\Chaos\FGeometryParticleParameters) & Params )


className: TGeometryParticleHandleImp

code: template<typename T, int d, bool bPersistent> class TGeometryParticleHandleImp : public [Chaos::TParticleHandleBase< T, d >](API\Runtime\Chaos\Chaos\TParticleHandleBase)

HandleIdx

type: TChooseClass< b...


code: void AddHandles ( int32 NumHandles )


code: void DestroyHandleSwap ( [TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< T, d > * Handle )


code: const [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< T, d > > & Handle ( int32 Idx ) const


code: [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< T, d > > & Handle ( int32 Idx )


className: TGeometryParticleHandles

description: Deprecated* Deprecated. this class is to be deleted, useFConstGenericParticleHandleinstead

code: template<typename T, int d> class TGeometryParticleHandles : public [Chaos::TArrayCollection](API\Runtime\ChaosCore\Chaos\TArrayCollection)


className: TGeometryParticles

code: typedef [TGeometryParticlesImp](API\Runtime\Chaos\Chaos\TGeometryParticlesImp)< T, d, [EGeometryParticlesSimType::RigidBodySim](API\Runtime\Chaos\Chaos\Chaos__EGeometryParticlesSimType) > TGeometryParticles


code: void AddConstraintHandle ( const int32 & Index, [FConstraintHandle](API\Runtime\Chaos\Chaos\FConstraintHandle) * InConstraintHandle )


code: [TArray](API\Runtime\Core\Containers\TArray)< bool > & AllHasBounds()


code: [TArray](API\Runtime\Core\Containers\TArray)< [TAABB](API\Runtime\Chaos\Chaos\TAABB)< T, d > > & AllLocalBounds()


code: [TArray](API\Runtime\Core\Containers\TArray)< [TRotation](API\Runtime\Chaos\Chaos\TRotation)< T, d > > & AllR()


code: [TArray](API\Runtime\Core\Containers\TArray)< [TAABB](API\Runtime\Chaos\Chaos\TAABB)< T, d > > & AllWorldSpaceInflatedBounds()


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & CCDAxisThreshold ( const int32 Index ) const


code: [Private::FPBDIslandParticle](API\Runtime\Chaos\Chaos\Island\FPBDIslandParticle) * ConstraintGraphNode ( const int32 Index ) const


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


code: [Private::FPBDIslandParticle](API\Runtime\Chaos\Chaos\Island\FPBDIslandParticle) *& ConstraintGraphNode ( const int32 Index )


code: bool EnabledDuringResim ( const int32 Index ) const


code: bool & EnabledDuringResim ( const int32 Index )


code: [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > Geometry ( const int32 Index ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > > & GetAllGeometry() const


code: const [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > & DynamicGeometry ( const int32 Index ) const


code: [FGeometryParticle](API\Runtime\Chaos\Chaos\FGeometryParticle) * GTGeometryParticle ( const int32 Index ) const


code: [FGeometryParticle](API\Runtime\Chaos\Chaos\FGeometryParticle) *& GTGeometryParticle ( const int32 Index )


code: [THandleType](API\Runtime\Chaos\Chaos\TGeometryParticlesImp\THandleType) * Handle ( int32 Index ) const


code: bool HasBounds ( const int32 Index ) const


code: bool HasCollision ( const int32 Index ) const


code: bool & HasCollision ( const int32 Index )


code: static constexpr bool IsRigidBodySim()


code: bool LightWeightDisabled ( const int32 Index ) const


code: bool & LightWeightDisabled ( const int32 Index )


code: const [TAABB](API\Runtime\Chaos\Chaos\TAABB)< T, d > & LocalBounds ( const int32 Index ) const


code: [TAABB](API\Runtime\Chaos\Chaos\TAABB)< T, d > & LocalBounds ( const int32 Index )


code: bool & HasBounds ( const int32 Index )


description: All of the collision constraints affecting the particle.

code: [FParticleCollisions](API\Runtime\Chaos\Chaos\Collision\FParticleCollisions) & ParticleCollisions ( const int32 Index )


description: All of the persistent (non-collision) constraints affecting the particle.

code: [FConstraintHandleArray](API\Runtime\Chaos\Chaos\FConstraintHandleArray) & ParticleConstraints ( const int32 Index )


code: const [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) * PhysicsProxy ( const int32 Index ) const


code: [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) * PhysicsProxy ( const int32 Index )


code: const [TRotation](API\Runtime\Chaos\Chaos\TRotation)< T, d > & R ( const int32 Index ) const


code: [TRotation](API\Runtime\Chaos\Chaos\TRotation)< T, d > & R ( const int32 Index )


code: void RemoveConstraintHandle ( const int32 & Index, [FConstraintHandle](API\Runtime\Chaos\Chaos\FConstraintHandle) * InConstraintHandle )


code: [EResimType](API\Runtime\Chaos\Chaos\Chaos__EResimType) ResimType ( const int32 Index ) const


code: [EResimType](API\Runtime\Chaos\Chaos\Chaos__EResimType) & ResimType ( const int32 Index )


code: static [TGeometryParticlesImp](API\Runtime\Chaos\Chaos\TGeometryParticlesImp)< T, d, SimType > * SerializationFactory ( [FChaosArchive](API\Runtime\Chaos\Chaos\FChaosArchive) & Ar, [TGeometryParticlesImp](API\Runtime\Chaos\Chaos\TGeometryParticlesImp)< T, d, SimType > * Particles )


code: template<> [TGeometryParticlesImp](API\Runtime\Chaos\Chaos\TGeometryParticlesImp)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle), 3, [EGeometryParticlesSimType::Other](API\Runtime\Chaos\Chaos\Chaos__EGeometryParticlesSimType) > * SerializationFactory ( [FChaosArchive](API\Runtime\Chaos\Chaos\FChaosArchive) & Ar, [TGeometryParticlesImp](API\Runtime\Chaos\Chaos\TGeometryParticlesImp)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle), 3, [EGeometryParticlesSimType::Other](API\Runtime\Chaos\Chaos\Chaos__EGeometryParticlesSimType) > * Particles )


code: template<> [TGeometryParticlesImp](API\Runtime\Chaos\Chaos\TGeometryParticlesImp)< [FRealDouble](API\Runtime\ChaosCore\Chaos\FRealDouble), 3, [EGeometryParticlesSimType::Other](API\Runtime\Chaos\Chaos\Chaos__EGeometryParticlesSimType) > * SerializationFactory ( [FChaosArchive](API\Runtime\Chaos\Chaos\FChaosArchive) & Ar, [TGeometryParticlesImp](API\Runtime\Chaos\Chaos\TGeometryParticlesImp)< [FRealDouble](API\Runtime\ChaosCore\Chaos\FRealDouble), 3, [EGeometryParticlesSimType::Other](API\Runtime\Chaos\Chaos\Chaos__EGeometryParticlesSimType) > * Particles )


code: template<> [TGeometryParticlesImp](API\Runtime\Chaos\Chaos\TGeometryParticlesImp)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3, [EGeometryParticlesSimType::Other](API\Runtime\Chaos\Chaos\Chaos__EGeometryParticlesSimType) > * SerializationFactory ( [FChaosArchive](API\Runtime\Chaos\Chaos\FChaosArchive) & Ar, [TGeometryParticlesImp](API\Runtime\Chaos\Chaos\TGeometryParticlesImp)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3, [EGeometryParticlesSimType::Other](API\Runtime\Chaos\Chaos\Chaos__EGeometryParticlesSimType) > * Particles )


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


code: void SetGeometry ( const int32 Index, [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > InGeometry )


description: Set a dynamic geometry. Note that X and R must be initialized before calling this function.

code: void SetDynamicGeometry ( const int32 Index, [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > && InUnique )


code: template<> void SetHandle ( int32 Index, [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * Handle )


code: void SetHandle ( int32 Index, [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * Handle )


code: template<> void SetHandle ( int32 Index, [TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * Handle )


code: void SetPhysicsProxy ( const int32 Index, [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) * InPhysicsProxy )


description: Set a shared geometry. Note that X and R must be initialized before calling this function.

code: void SetSharedGeometry ( const int32 Index, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< const [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject), ESPMode::ThreadSafe > InShared )


code: const [FShapeInstanceArray](API\Runtime\Chaos\Chaos\FShapeInstanceArray) & ShapeInstances ( const int32 Index ) const


code: const [FShapesArray](API\Runtime\Chaos\Chaos\FShapesArray) & ShapesArray ( const int32 Index ) const


code: const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< const [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject), ESPMode::ThreadSafe > & SharedGeometry ( const int32 Index ) const


code: [FSpatialAccelerationIdx](API\Runtime\Chaos\Chaos\FSpatialAccelerationIdx) SpatialIdx ( const int32 Index ) const


code: [FSpatialAccelerationIdx](API\Runtime\Chaos\Chaos\FSpatialAccelerationIdx) & SpatialIdx ( const int32 Index )


code: [ESyncState](API\Runtime\Chaos\Chaos\Chaos__ESyncState) & SyncState ( const int32 Index )


code: [ESyncState](API\Runtime\Chaos\Chaos\Chaos__ESyncState) SyncState ( const int32 Index ) const


code: [FString](API\Runtime\Core\Containers\FString) ToString ( int32 index ) const


code: [FUniqueIdx](API\Runtime\Chaos\Chaos\FUniqueIdx) UniqueIdx ( const int32 Index ) const


code: [FUniqueIdx](API\Runtime\Chaos\Chaos\FUniqueIdx) & UniqueIdx ( const int32 Index )


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


code: void UpdateWorldSpaceStateSwept ( const int32 Index, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & EndWorldTransform, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & BoundsExpansion, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & DeltaX )


code: const [TAABB](API\Runtime\Chaos\Chaos\TAABB)< T, d > & WorldSpaceInflatedBounds ( const int32 Index ) const


code: [FWeakParticleHandle](API\Runtime\Chaos\Chaos\FWeakParticleHandle) & WeakParticleHandle ( const int32 Index )


code: TGeometryParticlesImp ( const [TGeometryParticlesImp](API\Runtime\Chaos\Chaos\TGeometryParticlesImp)< T, d, SimType > & Other )


code: TGeometryParticlesImp ( [TGeometryParticlesImp](API\Runtime\Chaos\Chaos\TGeometryParticlesImp)< T, d, SimType > && Other )


code: TGeometryParticlesImp ( [TParticles](API\Runtime\Chaos\Chaos\TParticles)< T, d > && Other )


className: TGeometryParticlesImp

code: template<class T, int d, [EGeometryParticlesSimType](API\Runtime\Chaos\Chaos\Chaos__EGeometryParticlesSimType) SimType> class TGeometryParticlesImp : public [Chaos::TParticles< T, d >](API\Runtime\Chaos\Chaos\TParticles)


className: FShapeType

code: typedef T_SHAPE FShapeType


code: [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InverseTransformPositionNoScale ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & V ) const


code: [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) SupportCore ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) Dir, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) InMargin, [FReal](API\Runtime\ChaosCore\Chaos\FReal) * OutSupportDelta, int32 & VertexIndex ) const


code: TGJKCoreShape ( const [FShapeType](API\Runtime\Chaos\Chaos\TGJKCoreShape\FShapeType) & InShape )


code: TGJKCoreShape ( const [FShapeType](API\Runtime\Chaos\Chaos\TGJKCoreShape\FShapeType) & InShape, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) InMargin )


className: TGJKCoreShape

description: E.g., to use GJK of a sphere as a point against a marginless convex: GJKDistance(TGJKCoreShape(MySphere), TGJKShape(MyConvex), ...);

code: template<typename T_SHAPE> struct TGJKCoreShape

Margin

type: constFReal

Shape

type: constFShapeTyp...


code: const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & GetTransform() const


code: TGJKCoreShapeTransformed ( const [FShapeType](API\Runtime\Chaos\Chaos\TGJKCoreShapeTransformed\FShapeType) & InShape, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & InTransform )


code: TGJKCoreShapeTransformed ( const [FShapeType](API\Runtime\Chaos\Chaos\TGJKCoreShapeTransformed\FShapeType) & InShape, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) InMargin, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & InTransform )


className: TGJKCoreShapeTransformed

description: See alsoTGJKShapeTransformed,TGJKCoreShape

code: template<typename T_SHAPE> struct TGJKCoreShapeTransformed

Transform

type: FRigidTransform...


code: TGJKShape ( const [FShapeType](API\Runtime\Chaos\Chaos\TGJKShape\FShapeType) & InShape )


className: TGJKShape

description: E.g., to use GJK between a convex and a sphere treated as a point with padding GJKDistance(TGJKShape(ConvexA), TGJKCoreShapeTransformed(SphereB, BToATransform), ...);

code: template<typename T_SHAPE> struct TGJKShape


code: TGJKShapeTransformed ( const [FShapeType](API\Runtime\Chaos\Chaos\TGJKShapeTransformed\FShapeType) & InShape, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & InTransform )


className: TGJKShapeTransformed

description: See alsoTGJKShape,TGJKCoreShape

code: template<typename T_SHAPE> struct TGJKShapeTransformed


className: MaxSimplexVerts

description: Maximum number of vertices that a GJK simplex can have.

code: static const int32 MaxSimplexVerts = 4;


description: Clear the data - used to start a GJK search from the default search direction.

code: void Reset()


description: Recompute the Simplex and separating vector from the stored data at the current relative transform This aborts if we have no simplex data to restore or the origin is inside the simplex. Outputs must already have reasonable default values for running GJK without a warm-start.

code: void Restore ( const [TRigidTransform](API\Runtime\Chaos\Chaos\TRigidTransform)< T, 3 > & BToATM, [FSimplex](API\Runtime\Chaos\Chaos\FSimplex) & OutSimplexIDs, [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > OutSimplex, [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & OutV, T & OutDistance, const T Epsilon )


code: void Restore2 ( const [TRigidTransform](API\Runtime\Chaos\Chaos\TRigidTransform)< T, 3 > & BToATM, int32 & OutNumVerts, [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > OutSimplex, [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & OutV, T & OutDistance, const T Epsilon )


description: Save any data that was not directly updated while iterating in GJK.

code: void Save ( const [FSimplex](API\Runtime\Chaos\Chaos\FSimplex) InSimplexIDs )


className: TGJKSimplexData

description: GJKPenetrationWarmStartable

code: template<typename T> class TGJKSimplexData

As

type: TVec3< T >[MaxS...

description: Simplex vertices on shape A, in A-local space.

Barycentric

type: T[MaxSimplexVer...

description: Barycentric coordinates of closest point to origin on the simplex.

Bs

description: Simplex vertices on shape B, in B-local space.

NumVerts

description: Number of vertices in the simplex. Up to 4.


className: TGridPrecisionLimit

code: template<typename T> struct TGridPrecisionLimit


className: TGridPrecisionLimit< FRealDouble >

code: template<> struct TGridPrecisionLimit< FRealDouble >


className: Base

code: typedef [TConstHandleIterator](API\Runtime\Chaos\Chaos\TConstHandleIterator)< TSOA > Base


className: TGridPrecisionLimit< FRealSingle >

description: Precision limits where our floating point precision breaks down to 1 (each value above this adds more than 1 to the number) Note the F32 limit is actually higher than this point (should be 8.388e6) but kept at 1e7 for legacy reasons

code: template<> struct TGridPrecisionLimit< FRealSingle >


code: [THandle](API\Runtime\Chaos\Chaos\TConstHandleIterator\THandle) & operator*() const


code: [THandle](API\Runtime\Chaos\Chaos\TConstHandleIterator\THandle) * operator->() const


className: THandle

code: typedef typename TSOA::THandleType THandle


code: THandleIterator ( const [TArray](API\Runtime\Core\Containers\TArray)< [THandle](API\Runtime\Chaos\Chaos\TConstHandleIterator\THandle) * > & InHandles )


className: THandleIterator

code: template<typename TSOA> class THandleIterator : public [Chaos::TConstHandleIterator< TSOA >](API\Runtime\Chaos\Chaos\TConstHandleIterator)


code: typedef [TConstHandleView](API\Runtime\Chaos\Chaos\TConstHandleView)< TSOA > Base


code: [THandleIterator](API\Runtime\Chaos\Chaos\THandleIterator)< TSOA > Begin() const


code: [THandleIterator](API\Runtime\Chaos\Chaos\THandleIterator)< TSOA > begin() const


code: [THandleIterator](API\Runtime\Chaos\Chaos\THandleIterator)< TSOA > End() const


code: template<typename Lambda> void ParallelFor ( const Lambda & Func ) const


code: template<typename ContextCreatorType, typename Lambda> void ParallelFor ( const ContextCreatorType & ContextCreator, const Lambda & Func ) const


code: THandleView ( const [TArray](API\Runtime\Core\Containers\TArray)< [THandle](API\Runtime\Chaos\Chaos\TConstHandleView\THandle) * > & InHandles )


code: [THandleIterator](API\Runtime\Chaos\Chaos\THandleIterator)< TSOA > end() const


className: THandleView

code: template<typename TSOA> class THandleView : public [Chaos::TConstHandleView< TSOA >](API\Runtime\Chaos\Chaos\TConstHandleView)


code: [TArray](API\Runtime\Core\Containers\TArray)< PayloadType > FindAllIntersections ( const [TAABB](API\Runtime\Chaos\Chaos\TAABB)< T, 3 > & LookupBounds ) const


code: [TArray](API\Runtime\Core\Containers\TArray)< PayloadType > FindAllIntersections ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Point ) const


code: template<typename ParticlesType> void Initialize ( const ParticlesType & Particles, const T MinLodSize )


className: THierarchicalSpatialHash

description: Currently this assumes a 3 dimensional grid.

code: template<typename PayloadType, typename T> class THierarchicalSpatialHash


code: typedef [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [Chaos::FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject), ESPMode::ThreadSafe > ThreadSafeSharedPtr_FImplicitObject


code: virtual const [TAABB](API\Runtime\Chaos\Chaos\TAABB)< T, d > BoundingBox() const


code: TImplicitObjectIntersection ( [TArray](API\Runtime\Core\Containers\TArray)< [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) >> && Objects )


code: TImplicitObjectIntersection ( const [TImplicitObjectIntersection](API\Runtime\Chaos\Chaos\TImplicitObjectIntersection)< T, d > & Other )


code: TImplicitObjectIntersection ( [TImplicitObjectIntersection](API\Runtime\Chaos\Chaos\TImplicitObjectIntersection)< T, d > && Other )


code: virtual T PhiWithNormal ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & x, [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & Normal ) const


code: virtual ~TImplicitObjectIntersection()


className: TImplicitObjectPtrStorage

code: template<class T, int d, bool bSerializable> struct TImplicitObjectPtrStorage


className: TImplicitObjectIntersection

code: template<class T, int d> class TImplicitObjectIntersection : public [Chaos::FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject)


className: TImplicitObjectPtrStorage< T, d, false >::Convert

code: static PtrType Convert &40; const TUniquePtr< FImplicitObject > & Object &41;


className: PtrType

code: typedef FImplicitObject &42; PtrType


code: template<class T, int d> struct TImplicitObjectPtrStorage< T, d, false >


className: TImplicitObjectPtrStorage< T, d, true >::Convert


code: typedef TSerializablePtr< FImplicitObject > PtrType


className: TImplicitObjectPtrStorage< T, d, true >

code: template<class T, int d> struct TImplicitObjectPtrStorage< T, d, true >


code: virtual void AccumulateAllImplicitObjects ( [TArray](API\Runtime\Core\Containers\TArray)< [Pair](API\Runtime\ChaosCore\Chaos\Pair)< const [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) *, [TRigidTransform](API\Runtime\Chaos\Chaos\TRigidTransform)< T, d >>> & Out, const [TRigidTransform](API\Runtime\Chaos\Chaos\TRigidTransform)< T, d > & ParentTM ) const


code: virtual void AccumulateAllSerializableImplicitObjects ( [TArray](API\Runtime\Core\Containers\TArray)< [Pair](API\Runtime\ChaosCore\Chaos\Pair)< [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) >, [TRigidTransform](API\Runtime\Chaos\Chaos\TRigidTransform)< T, d >>> & Out, const [TRigidTransform](API\Runtime\Chaos\Chaos\TRigidTransform)< T, d > & ParentTM, [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > This ) const


description: Calculate the tight-fitting world-space bounding box.

code: virtual [FAABB3](API\Runtime\Chaos\Chaos\FAABB3) CalculateTransformedBounds ( const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & InTransform ) const


code: virtual [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > Copy() const


code: virtual [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > CopyWithScale ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Scale ) const


code: virtual [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > DeepCopyWithScale ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Scale ) const


code: virtual [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > DeepCopy() const


description: Not all implicit objects can be duplicated, up to user code to use this in cases that make sense.

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


code: virtual void FindAllIntersectingObjects ( [TArray](API\Runtime\Core\Containers\TArray)< [Pair](API\Runtime\ChaosCore\Chaos\Pair)< const [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) *, [TRigidTransform](API\Runtime\Chaos\Chaos\TRigidTransform)< T, d >>> & Out, const [TAABB](API\Runtime\Chaos\Chaos\TAABB)< T, d > & LocalBounds ) const


description: Finds the first intersecting face at given position

code: virtual int32 FindClosestFaceAndVertices ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Position, [TArray](API\Runtime\Core\Containers\TArray)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & FaceVertices, [FReal](API\Runtime\ChaosCore\Chaos\FReal) SearchDist ) const


code: virtual [Pair](API\Runtime\ChaosCore\Chaos\Pair)< [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d >, bool > FindClosestIntersectionImp ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & StartPoint, const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & EndPoint, const T Thickness ) const


code: virtual [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 > FindGeometryOpposingNormal ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & DenormDir, int32 FaceIndex, const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & OriginalNormal ) const


code: virtual int32 FindMostOpposingFace ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 > & Position, const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 > & UnitDir, int32 HintFaceIndex, T SearchDistance ) const


className: FStorage

code: typedef [TImplicitObjectPtrStorage](API\Runtime\Chaos\Chaos\TImplicitObjectPtrStorage)< T, d, bSerializable > FStorage


code: const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) GetCenterOfMass() const


code: const [FMatrix33](API\Runtime\ChaosCore\Chaos\FMatrix33) GetInertiaTensor ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Mass ) const


code: virtual uint16 GetMaterialIndex ( uint32 HintIndex ) const


code: virtual [EImplicitObjectType](API\Runtime\Chaos\Chaos\EImplicitObjectType) GetNestedType() const


code: const [TRigidTransform](API\Runtime\Chaos\Chaos\TRigidTransform)< T, d > & GetTransform() const


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


description: This should not be public, but it needs to be callable by derived classes on another instance.

code: virtual bool IsOverlappingBoundsImpl ( const [FAABB3](API\Runtime\Chaos\Chaos\FAABB3) & LocalBounds ) const


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


className: ObjectType

code: typedef typename FStorage::PtrType ObjectType


code: virtual bool Overlap ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & Point, const T Thickness ) const


code: virtual T PhiWithNormal ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & x, [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & Normal ) const


code: virtual bool Raycast ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & StartPoint, const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & Dir, const T Length, const T Thickness, T & OutTime, [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & OutPosition, [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & OutNormal, int32 & OutFaceIndex ) const


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


code: void SetTransform ( const [TRigidTransform](API\Runtime\Chaos\Chaos\TRigidTransform)< T, d > & InTransform )


code: static constexpr [EImplicitObjectType](API\Runtime\Chaos\Chaos\EImplicitObjectType) StaticType()


code: virtual void VisitLeafObjectsImpl ( const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & ObjectTransform, const int32 RootObjectIndex, int32 & ObjectIndex, int32 & LeafObjectIndex, const [FImplicitHierarchyVisitor](API\Runtime\Chaos\Chaos\FImplicitHierarchyVisitor) & VisitorFunc ) const


code: virtual bool VisitObjectsImpl ( const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & ObjectTransform, const int32 RootObjectIndex, int32 & ObjectIndex, int32 & LeafObjectIndex, const [FImplicitHierarchyVisitorBool](API\Runtime\Chaos\Chaos\FImplicitHierarchyVisitorBool) & VisitorFunc ) const


description: Protected:

code: virtual void VisitOverlappingLeafObjectsImpl ( const [FAABB3](API\Runtime\Chaos\Chaos\FAABB3) & LocalBounds, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & ObjectTransform, const int32 RootObjectIndex, int32 & ObjectIndex, int32 & LeafObjectIndex, const [FImplicitHierarchyVisitor](API\Runtime\Chaos\Chaos\FImplicitHierarchyVisitor) & VisitorFunc ) const


description: Needed for serialization


code: TImplicitObjectTransformed ( const [TImplicitObjectTransformed](API\Runtime\Chaos\Chaos\TImplicitObjectTransformed)< T, d, bSerializable > & Other )


code: TImplicitObjectTransformed ( [TImplicitObjectTransformed](API\Runtime\Chaos\Chaos\TImplicitObjectTransformed)< T, d, bSerializable > && Other )


description: Create a transform around an ImplicitObject. Lifetime of the wrapped object is managed externally.

code: TImplicitObjectTransformed ( ObjectType Object, const [TRigidTransform](API\Runtime\Chaos\Chaos\TRigidTransform)< T, d > & InTransform )


description: Create a transform around an ImplicitObject and take control of its lifetime.

code: TImplicitObjectTransformed ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [Chaos::FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > && ObjectOwner, const [TRigidTransform](API\Runtime\Chaos\Chaos\TRigidTransform)< T, d > & InTransform )


code: typedef [TImplicitObjectTransformed](API\Runtime\Chaos\Chaos\TImplicitObjectTransformed)< T, d, false > TImplicitObjectTransformedNonSerializable


className: TImplicitObjectTransformed

description: Transform the contained shape. If you pass aTUniquePtrto the constructor, ownership is transferred to the TransformedImplicit. If you pass a SerializablePtr, the lifetime of the object must be handled externally (do not delete it before deleting the TransformedImplicit).  bSerializable Whether the shape can be serialized (usually true). Set to false for transient/stack-allocated objects.

code: template<class T, int d, bool bSerializable> class TImplicitObjectTransformed : public [Chaos::FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject)


description: Return true if implicits of type InType can be cast to T. I.e., is T a base class (or the class) of InType.

code: static bool IsBaseOf ( const [EImplicitObjectType](API\Runtime\Chaos\Chaos\EImplicitObjectType) InType )


className: TImplicitTypeInfo

description: TImplicitTypeInfo

code: template<typename T> struct TImplicitTypeInfo


code: static bool IsBaseOf &40; const EImplicitObjectType InType &41;


code: template<> struct TImplicitTypeInfo< FImplicitObjectUnion >


className: FConstraint

code: typedef T_CONSTRAINT FConstraint


code: const [FConstraint](API\Runtime\Chaos\Chaos\TIntrusiveConstraintHandle\FConstraint) * GetConstraint() const


code: void SetContainer ( [FPBDConstraintContainer](API\Runtime\Chaos\Chaos\FPBDConstraintContainer) * InContainer )


className: TIntrusiveConstraintHandle

description: FIntrusiveConstraintHandle

code: template<typename T_CONSTRAINT> class TIntrusiveConstraintHandle : public [Chaos::FIntrusiveConstraintHandle](API\Runtime\Chaos\Chaos\FIntrusiveConstraintHandle)


className: Value

code: static constexpr bool Value = false;


className: TIsWeightedType

code: template<typename T> struct TIsWeightedType


className: TIsWeightedType< bool >

code: template<> struct TIsWeightedType< bool >


className: TIsWeightedType< float >

code: template<> struct TIsWeightedType< float >


className: TIsWeightedType< FVector3f >

code: template<> struct TIsWeightedType< FVector3f >


className: TIsWeightedType< int32 >

code: template<> struct TIsWeightedType< int32 >


className: TKinematicGeometryClothParticles

code: typedef [TKinematicGeometryParticlesImp](API\Runtime\Chaos\Chaos\TKinematicGeometryParticlesImp)< T, d, [EGeometryParticlesSimType::Other](API\Runtime\Chaos\Chaos\Chaos__EGeometryParticlesSimType) > TKinematicGeometryClothParticles


className: Base

code: typedef [TGeometryParticle](API\Runtime\Chaos\Chaos\TGeometryParticle)< T, d > Base


code: static [TKinematicGeometryParticle](API\Runtime\Chaos\Chaos\TKinematicGeometryParticle)< T, d > * Cast ( [TGeometryParticle](API\Runtime\Chaos\Chaos\TGeometryParticle)< T, d > * Particle )


code: static const [TKinematicGeometryParticle](API\Runtime\Chaos\Chaos\TKinematicGeometryParticle)< T, d > * Cast ( const [TGeometryParticle](API\Runtime\Chaos\Chaos\TGeometryParticle)< T, d > * Particle )


code: static [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [TKinematicGeometryParticle](API\Runtime\Chaos\Chaos\TKinematicGeometryParticle)< T, d > > CreateParticle ( const [FKinematicGeometryParticleParameters](API\Runtime\Chaos\Chaos\FKinematicGeometryParticleParame-) & Params )


className: FHandle

code: typedef [TKinematicGeometryParticleHandle](API\Runtime\Chaos\Chaos\TKinematicGeometryParticleHandle)< T, d > FHandle


code: bool IsKinematicTargetDirty() const


code: const [FKinematicTarget](API\Runtime\Chaos\Chaos\FKinematicTarget) KinematicTarget() const


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


code: void SetKinematicTarget ( const [FKinematicTarget](API\Runtime\Chaos\Chaos\FKinematicTarget) & KinematicTarget, bool bInvalidate )


code: void SetV ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InV, bool bInvalidate )


code: void SetVelocities ( const [FParticleVelocities](API\Runtime\Chaos\Chaos\FParticleVelocities) & InVelocities, bool bInvalidate )


code: void SetW ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InW, bool bInvalidate )


code: virtual void SyncRemoteDataImp ( [FDirtyPropertiesManager](API\Runtime\Chaos\Chaos\FDirtyPropertiesManager) & Manager, int32 DataIdx, const [FDirtyChaosProperties](API\Runtime\Chaos\Chaos\FDirtyChaosProperties) & RemoteData ) const


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & V() const


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


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & W() const


code: TKinematicGeometryParticle ( const [FKinematicGeometryParticleParameters](API\Runtime\Chaos\Chaos\FKinematicGeometryParticleParame-) & KinematicParams )


className: TKinematicGeometryParticle

code: template<typename T, int d> class TKinematicGeometryParticle : public [Chaos::TGeometryParticle< T, d >](API\Runtime\Chaos\Chaos\TGeometryParticle)


code: static [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [TKinematicGeometryParticleHandleImp](API\Runtime\Chaos\Chaos\TKinematicGeometryParticleHandle-)< T, d, bPersistent > > CreateParticleHandle ( [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [TKinematicGeometryParticles](API\Runtime\Chaos\Chaos\TKinematicGeometryParticles)< T, d >> InParticles, int32 InParticleIdx, int32 InHandleIdx, const [FKinematicGeometryParticleParameters](API\Runtime\Chaos\Chaos\FKinematicGeometryParticleParame-) & Params )


description: Really only useful when using a transient handle.

code: const [TKinematicGeometryParticleHandleImp](API\Runtime\Chaos\Chaos\TKinematicGeometryParticleHandle-)< T, d, true > * Handle() const


code: [TKinematicGeometryParticleHandleImp](API\Runtime\Chaos\Chaos\TKinematicGeometryParticleHandle-)< T, d, true > * Handle()


code: const [TKinematicTarget](API\Runtime\Engine\Physics\ImmediatePhysics\ImmediatePhysicsChaos\TKinematicTarget)< T, d > & KinematicTarget() const


code: [TKinematicTarget](API\Runtime\Engine\Physics\ImmediatePhysics\ImmediatePhysicsChaos\TKinematicTarget)< T, d > & KinematicTarget()


code: void SetKinematicTarget ( const [TKinematicTarget](API\Runtime\Engine\Physics\ImmediatePhysics\ImmediatePhysicsChaos\TKinematicTarget)< T, d > & InKinematicTarget, bool bInvalidate )


code: void SetVelocities ( const [FParticleVelocities](API\Runtime\Chaos\Chaos\FParticleVelocities) & Velocities )


code: static constexpr [EParticleType](API\Runtime\Chaos\Chaos\Chaos__EParticleType) StaticType()


code: [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [TKinematicGeometryParticleHandleImp](API\Runtime\Chaos\Chaos\TKinematicGeometryParticleHandle-)< T, d, bPersistent > > ToSerializable() const


className: TSOAType

code: typedef [TKinematicGeometryParticles](API\Runtime\Chaos\Chaos\TKinematicGeometryParticles)< T, d > TSOAType


className: TTransientHandle

code: typedef [TTransientKinematicGeometryParticleHandle](API\Runtime\Chaos\Chaos\TTransientKinematicGeometryParti-)< T, d > TTransientHandle


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & V()


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & W()


description: Needed for serialization

code: TKinematicGeometryParticleHandleImp()


code: TKinematicGeometryParticleHandleImp ( [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [TKinematicGeometryParticles](API\Runtime\Chaos\Chaos\TKinematicGeometryParticles)< T, d >> Particles, int32 InIdx, int32 InGlobalIdx, const [FKinematicGeometryParticleParameters](API\Runtime\Chaos\Chaos\FKinematicGeometryParticleParame-) & Params )


className: TKinematicGeometryParticleHandleImp

code: template<typename T, int d, bool bPersistent> class TKinematicGeometryParticleHandleImp : public [Chaos::TGeometryParticleHandleImp< T, d, bPersistent >](API\Runtime\Chaos\Chaos\TGeometryParticleHandleImp)


className: TKinematicGeometryParticleHandle

code: typedef [TKinematicGeometryParticleHandleImp](API\Runtime\Chaos\Chaos\TKinematicGeometryParticleHandle-)< T, d, true > TKinematicGeometryParticleHandle


className: TKinematicGeometryParticles

code: typedef [TKinematicGeometryParticlesImp](API\Runtime\Chaos\Chaos\TKinematicGeometryParticlesImp)< T, d, [EGeometryParticlesSimType::RigidBodySim](API\Runtime\Chaos\Chaos\Chaos__EGeometryParticlesSimType) > TKinematicGeometryParticles


code: [TArray](API\Runtime\Core\Containers\TArray)< [TKinematicTarget](API\Runtime\Engine\Physics\ImmediatePhysics\ImmediatePhysicsChaos\TKinematicTarget)< T, d > > & AllKinematicTargets()


code: [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > > & AllV()


code: [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > > & AllW()


description: Cannot be reference because double pointer would allow for badness, but still useful to have non const access to handle

code: [THandleType](API\Runtime\Chaos\Chaos\TGeometryParticlesImp\THandleType) * Handle ( int32 Index )


code: const [THandleType](API\Runtime\Chaos\Chaos\TGeometryParticlesImp\THandleType) * Handle ( int32 Index ) const


code: const [TKinematicTarget](API\Runtime\Engine\Physics\ImmediatePhysics\ImmediatePhysicsChaos\TKinematicTarget)< T, d > & KinematicTarget ( const int32 Index ) const


code: [TKinematicTarget](API\Runtime\Engine\Physics\ImmediatePhysics\ImmediatePhysicsChaos\TKinematicTarget)< T, d > & KinematicTarget ( const int32 Index )


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


className: THandleType

code: typedef [TKinematicGeometryParticleHandle](API\Runtime\Chaos\Chaos\TKinematicGeometryParticleHandle)< T, d > THandleType


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & V ( const int32 Index ) const


code: [FString](API\Runtime\Core\Containers\FString) ToString ( int32 index ) const


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & V ( const int32 Index )


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & W ( const int32 Index ) const


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & W ( const int32 Index )


code: TKinematicGeometryParticlesImp ( const [TKinematicGeometryParticlesImp](API\Runtime\Chaos\Chaos\TKinematicGeometryParticlesImp)< T, d, SimType > & Other )


code: TKinematicGeometryParticlesImp ( [TKinematicGeometryParticlesImp](API\Runtime\Chaos\Chaos\TKinematicGeometryParticlesImp)< T, d, SimType > && Other )


className: TKinematicGeometryParticlesImp

code: template<class T, int d, [EGeometryParticlesSimType](API\Runtime\Chaos\Chaos\Chaos__EGeometryParticlesSimType) SimType> class TKinematicGeometryParticlesImp : public [Chaos::TGeometryParticlesImp< T, d, SimType >](API\Runtime\Chaos\Chaos\TGeometryParticlesImp)


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


className: TLeafContainer

description: Default container behaviour is a that of aTArray.

code: template<typename LeafType> class TLeafContainer : public [TArray< LeafType >](API\Runtime\Core\Containers\TArray)


description: Adds an element to the list.

code: void AddElement ( [TList](API\Runtime\Core\Containers\TList)< ElementType > * Element )


description: Clears the list.

code: void Clear()


description:
Clears the list and returns the elements.
List of all current elements. The original list is cleared. Make sure to delete all elements when you're done with them!

code: [TList](API\Runtime\Core\Containers\TList)< ElementType > * ExtractAll()


description: Initialization constructor.

code: TListThreadSafe()


className: TListThreadSafe

description: Thread-safe single-linked list (lock-free). (Taken from Light Mass, should probably just move into core)

code: template<typename ElementType> class TListThreadSafe


code: void BaseNodeIndex ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 > & X, [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 3 > & Index, [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 > & weights ) const


code: T dNijk ( T w, int32 ii, T dx ) const


code: int32 FlatIndex ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 3 > & Index ) const


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 3 > GetCells() const


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 > & GetDx() const


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 > GetMinCorner() const


code: void GradNi ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 > & Ni, const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 > & dNi, [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 > & result ) const


className: InterpType

code: enum InterpType { linear = 1, quadratic = 2, }


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 3 > Lin2MultiIndex ( const int32 IndexIn ) const


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 3 > Loc2GlobIndex ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 3 > & IndexIn, const [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 3 > & LocalIndexIn ) const


code: int32 Loc2GlobIndex ( const int32 IndexIn, const [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 3 > & LocalIndexIn ) const


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 > Node ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 3 > & IndexIn ) const


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 > Node ( int32 FlatIndexIn ) const


code: void SetDx ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 > DxIn )


code: void SetInterp ( [InterpType](API\Runtime\Chaos\Chaos\TMPMGrid\InterpType) InterpIn )


code: void UpdateGridFromPositions ( const [Chaos::TDynamicParticles](API\Runtime\Chaos\Chaos\TDynamicParticles)< T, 3 > & InParticles )


code: TMPMGrid ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 > & MinCorner, const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 > & MaxCorner, const [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 3 > & Cells, const uint32 GhostCells )


className: TMPMGrid

code: template<class T> class TMPMGrid : public [Chaos::TUniformGridBase< T, 3 >](API\Runtime\Chaos\Chaos\TUniformGridBase)

interp

type: InterpType


code: void APICP2G ( const int32 p, const int32 GlobIndex, const T mip, const [TDynamicParticles](API\Runtime\Chaos\Chaos\TDynamicParticles)< T, 3 > & Particles, [TArray](API\Runtime\Core\Containers\TArray)< T > & GridData )


code: void ComputeAArray ( const [TArray](API\Runtime\Core\Containers\TArray)< T > & GridData, const [TDynamicParticles](API\Runtime\Chaos\Chaos\TDynamicParticles)< T, 3 > & Particles )


code: void ComputeElementMetaData ( const [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 4 >> & InMesh )


code: void ComputeGridPositions ( const [TArray](API\Runtime\Core\Containers\TArray)< T > & GridData, const T Dt, [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 >> & GridPositions )


description: Computes incident elements in serial

code: static void ComputeIncidentElements ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & ArrayIn, [TArray](API\Runtime\Core\Containers\TArray)< [TArray](API\Runtime\Core\Containers\TArray)< int32 >> & IncidentElements )


code: void G2P ( const [TArray](API\Runtime\Core\Containers\TArray)< T > & GridData, [TDynamicParticles](API\Runtime\Chaos\Chaos\TDynamicParticles)< T, 3 > & Particles )


code: void GridPositionsToGridData ( const [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 >> & GridPositions, const T Dt, [TArray](API\Runtime\Core\Containers\TArray)< T > & GridData )


description: TemplateThis one does an initial splat of momentum and mass to the grid. One can add splat functor in the future passibly for other kinds of splat

code: void InitialP2G ( const [TDynamicParticles](API\Runtime\Chaos\Chaos\TDynamicParticles)< T, 3 > & InParticles, [TArray](API\Runtime\Core\Containers\TArray)< T > & GridData )


description: Currently only splats mass and momentum

code: void P2GApplyHelper ( const [TDynamicParticles](API\Runtime\Chaos\Chaos\TDynamicParticles)< T, 3 > & InParticles, const int32 CellIndex, [TArray](API\Runtime\Core\Containers\TArray)< T > & GridData )


code: [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 > > SparseG2P ( const [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 >> & GridPositions, const int32 ElementIndex )


code: [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 > > SparseP2G ( const [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 3 >> & InGradient, const int32 ElementIndex )


code: TMPMTransfer ( [TMPMGrid](API\Runtime\Chaos\Chaos\TMPMGrid)< T > & _Grid )


code: TMPMTransfer ( [TMPMGrid](API\Runtime\Chaos\Chaos\TMPMGrid)< T > & _Grid, const int32 NumParticles )


className: TMPMTransfer

code: template<class T> class TMPMTransfer

AArray

type: TArray< T >

description: APIC data;.

CellData

type: TArray<TArray<...

ElementGridNodes

description: Meta data for grid based cons

Grid

type: TMPMGrid< T > &

description: TODO(Yizhou): Think whether mpm transfer should just own the grid.

Indices

type: TArray<TVector...


code: const [TRotation](API\Runtime\Chaos\Chaos\TRotation)< T, d > & R ( const int32 Index ) const


code: [TRotation](API\Runtime\Chaos\Chaos\TRotation)< T, d > & R ( const int32 Index )


code: TOrientedParticles ( const [TOrientedParticles](API\Runtime\Chaos\Chaos\TOrientedParticles)< T, d > & Other )


code: TOrientedParticles ( [TOrientedParticles](API\Runtime\Chaos\Chaos\TOrientedParticles)< T, d > && Other )


className: TOrientedParticles

code: template<class T, int d> class TOrientedParticles : public [Chaos::TParticles< T, d >](API\Runtime\Chaos\Chaos\TParticles)


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


description: This is needed for post serialization fixup of raw pointer. Should only be called by serialization code which is low level and knows the implementation details.

code: void SetSOALowLevel ( [TGeometryParticles](API\Runtime\Chaos\Chaos\TGeometryParticles)< T, d > * InParticles )


code: template<typename TParticlesType> TParticleHandleBase ( [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< TParticlesType > InParticles, int32 InParticleIdx )


description: Should only be used for transient handles - maybe we can protect this better?

code: TParticleHandleBase ( [TGeometryParticles](API\Runtime\Chaos\Chaos\TGeometryParticles)< T, d > * InParticles, int32 InParticleIdx )


description: NOTE: this is not virtual and only acceptable because we know the children have no extra data that requires destruction. You must modify the union to extend this class and do not add any member variables

code: ~TParticleHandleBase()


className: TParticleHandleBase

description: Deprecated* Deprecated. this class is to be deleted, useFAccelerationStructureHandleinstead

code: template<typename T, int d> class TParticleHandleBase

type: union Chaos::TP...

GeometryParticles

type: TGeometryPartic...

KinematicGeometryParticles

type: TKinematicGeome...

ParticleIdx

description: Todo: maybe make private?

PBDRigidClusteredParticles

type: TPBDRigidCluste...

PBDRigidParticles

type: TPBDRigidPartic...

SerializableGeometryParticles

type: TSerializablePt...


className: Base

code: typedef [TConstParticleIterator](API\Runtime\Chaos\Chaos\TConstParticleIterator)< TSOA > Base


code: [TTransientHandle](API\Runtime\Chaos\Chaos\TConstParticleIterator\TTransientHandle) & operator*() const


code: [TTransientHandle](API\Runtime\Chaos\Chaos\TConstParticleIterator\TTransientHandle) * operator->() const


code: TParticleIterator ( const [TArray](API\Runtime\Core\Containers\TArray)< [TSOAView](API\Runtime\Chaos\Chaos\TSOAView)< TSOA >> & InSOAs )


className: TParticleIterator

code: template<typename TSOA> class TParticleIterator : public [Chaos::TConstParticleIterator< TSOA >](API\Runtime\Chaos\Chaos\TConstParticleIterator)


code: const [TArray](API\Runtime\Core\Containers\TArray)< TParticleType * > & GetArray() const


code: bool Contains ( const TParticleType * Particle ) const


code: [TArray](API\Runtime\Core\Containers\TArray)< TParticleType * > & GetArray()


code: template<typename TParticle1> void Insert ( const [TArray](API\Runtime\Core\Containers\TArray)< TParticle1 * > & ParticlesToInsert )


code: void Insert ( TParticleType * Particle )


code: void Remove ( TParticleType * Particle )


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


className: TParticleMapArray

code: template<typename TParticleType> class TParticleMapArray


code: void AddParticles ( const int32 Num )


code: [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > > & AllX()


code: const [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > > & AllX() const


code: void DestroyParticle ( const int32 Idx )


code: void MoveToOtherParticles ( const int32 Idx, [TParticles](API\Runtime\Chaos\Chaos\TParticles)< T, d > & Other )


code: [TParticles](API\Runtime\Chaos\Chaos\TParticles) & operator= ( [TParticles](API\Runtime\Chaos\Chaos\TParticles)< T, d > && Other )


code: void Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: const [TArrayCollectionArray](API\Runtime\Engine\Physics\Experimental\TArrayCollectionArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > > & X() const


code: [FString](API\Runtime\Core\Containers\FString) ToString ( int32 index ) const


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & X ( const int32 Index ) const


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & X ( const int32 Index )


code: const [TArrayCollectionArray](API\Runtime\Engine\Physics\Experimental\TArrayCollectionArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > > & XArray() const


code: TParticles ( const [TParticles](API\Runtime\Chaos\Chaos\TParticles)< T, d > & Other )


code: TParticles ( [TParticles](API\Runtime\Chaos\Chaos\TParticles)< T, d > && Other )


code: TParticles ( [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d >> && Positions )


className: TParticles

code: template<class T, int d> class TParticles : public [Chaos::TArrayCollection](API\Runtime\ChaosCore\Chaos\TArrayCollection)


code: typedef [TConstParticleView](API\Runtime\Chaos\Chaos\TConstParticleView)< [TSOA](API\Runtime\Chaos\Chaos\TParticleView\TSOA) > Base


code: [TParticleIterator](API\Runtime\Chaos\Chaos\TParticleIterator)< [TSOA](API\Runtime\Chaos\Chaos\TParticleView\TSOA) > Begin() const


code: [TParticleIterator](API\Runtime\Chaos\Chaos\TParticleIterator)< [TSOA](API\Runtime\Chaos\Chaos\TParticleView\TSOA) > begin() const


code: [TParticleIterator](API\Runtime\Chaos\Chaos\TParticleIterator)< [TSOA](API\Runtime\Chaos\Chaos\TParticleView\TSOA) > End() const


code: [TParticleIterator](API\Runtime\Chaos\Chaos\TParticleIterator)< [TSOA](API\Runtime\Chaos\Chaos\TParticleView\TSOA) > end() const


code: template<typename Lambda> void ParallelFor ( const Lambda & Func, bool bForceSingleThreaded ) const


code: template<typename ContextCreatorType, typename Lambda> void ParallelFor ( const ContextCreatorType & ContextCreator, const Lambda & Func, bool bForceSingleThreaded ) const


className: TIterator

code: typedef [TParticleIterator](API\Runtime\Chaos\Chaos\TParticleIterator)< [TSOA](API\Runtime\Chaos\Chaos\TParticleView\TSOA) > TIterator


code: TParticleView ( [TArray](API\Runtime\Core\Containers\TArray)< [TSOAView](API\Runtime\Chaos\Chaos\TSOAView)< [TSOA](API\Runtime\Chaos\Chaos\TParticleView\TSOA) >> && InSOAViews )


className: TParticleView

code: template<typename TSOAIn> class TParticleView : public [Chaos::TConstParticleView< TSOAIn >](API\Runtime\Chaos\Chaos\TConstParticleView)


code: const [TAABB](API\Runtime\Chaos\Chaos\TAABB)< T, 3 > & BoundingBox() const


code: template<typename TPayloadType2> TPayloadType2 GetPayload ( int32 Idx ) const


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


className: TPayloadBoundsElement

code: template<typename TPayloadType, typename T> struct TPayloadBoundsElement

Bounds

type: TAABB< T, 3 >

Payload

type: TPayloadType


description: Activate (or deactivate) the range starting at the specified offset.

code: void ActivateRange ( int32 Offset, bool bActivate )


description: Add a new active (or inactive) range at the end of the list, and return its offset.

code: int32 AddRange ( int32 NumItems, bool bActivate )


description: Return a list of pair (offset, range) of all active ranges.

code: [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 2 >, TInlineAllocator< 8 > > GetActiveRanges() const


description: Return the total number of active items from all active ranges.

code: int32 GetActiveSize() const


description: Return all items, including those not in the view.

code: TItemsType & GetItems() const


description: Return internal ranges.

code: TConstArrayView< int32 > GetRanges() const


description: Return the number of items in the range starting at the specified offset.

code: int32 GetRangeSize ( int32 Offset ) const


description: Return whether there is any active range in the view.

code: bool HasActiveRange() const


description: Execute the specified function in nested parallel for loops, on all items for each active range (parallel range, parallel items). Set MinParallelSize to run sequential on the smaller ranges.

code: void ParallelFor ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(TItemsType &, int32)> Function, bool bForceSingleThreadedRange, int32 MinParallelSize ) const


description: Execute the specified function in parallel, on all items for each active range (sequential range, parallel items). Set MinParallelSize to run sequential on the smaller ranges.

code: void ParallelFor ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(TItemsType &, int32)> Function, int32 MinParallelSize ) const


description: Execute the specified function in sequence for all active range. Callee responsible for inner loop.

code: void RangeFor ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(TItemsType &, int32, int32)> Function ) const


description: Remove all ranges above the current given size.

code: void Reset ( int32 Offset )


description: Execute the specified function in parallel for all active ranges. Callee responsible for inner loop.

code: void RangeFor ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(TItemsType &, int32, int32)> Function, bool bForceSingleThreadedRange ) const


description: Execute the specified function on all active items.

code: void SequentialFor ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(TItemsType &, int32)> Function ) const


code: TPBDActiveView ( TItemsType & InItems )


className: TPBDActiveView

description: Indexbased view, specialized for working with several ranges within a same array such as particles.

code: template<typename TItemsType> class TPBDActiveView


className: TPBDGeometryCollectionParticleHandle

code: typedef [TPBDGeometryCollectionParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDGeometryCollectionParticleHa-_1)< T, d, true > TPBDGeometryCollectionParticleHandle


code: static [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [TPBDGeometryCollectionParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDGeometryCollectionParticleHa-_1)< T, d, bPersistent > > CreateParticleHandle ( [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [TPBDGeometryCollectionParticles](API\Runtime\Chaos\Chaos\TPBDGeometryCollectionParticles)< T, d >> InParticles, int32 InParticleIdx, int32 InHandleIdx, const [FPBDRigidParticleParameters](API\Runtime\Chaos\Chaos\FPBDRigidParticleParameters) & Params )


code: const [TPBDGeometryCollectionParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDGeometryCollectionParticleHa-_1)< T, d, true > * Handle() const


code: [TPBDGeometryCollectionParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDGeometryCollectionParticleHa-_1)< T, d, true > * Handle()


code: static constexpr [EParticleType](API\Runtime\Chaos\Chaos\Chaos__EParticleType) StaticType()


code: [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [TPBDGeometryCollectionParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDGeometryCollectionParticleHa-_1)< T, d, bPersistent > > ToSerializable() const


className: TSOAType

code: typedef [TPBDGeometryCollectionParticles](API\Runtime\Chaos\Chaos\TPBDGeometryCollectionParticles)< T, d > TSOAType


className: TTransientHandle

code: typedef [TTransientPBDGeometryCollectionParticleHandle](API\Runtime\Chaos\Chaos\TTransientPBDGeometryCollectionP-)< T, d > TTransientHandle


description: Needed for serialization


code: TPBDGeometryCollectionParticleHandleImp ( [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [TPBDGeometryCollectionParticles](API\Runtime\Chaos\Chaos\TPBDGeometryCollectionParticles)< T, d >> Particles, int32 InIdx, int32 InGlobalIdx, const [FPBDRigidParticleParameters](API\Runtime\Chaos\Chaos\FPBDRigidParticleParameters) & Params )


className: TPBDGeometryCollectionParticleHandleImp

code: template<typename T, int d, bool bPersistent> class TPBDGeometryCollectionParticleHandleImp : public [Chaos::TPBDRigidClusteredParticleHandleImp< T, d, bPersistent >](API\Runtime\Chaos\Chaos\TPBDRigidClusteredParticleHandle-)


code: const [THandleType](API\Runtime\Chaos\Chaos\TGeometryParticlesImp\THandleType) * Handle ( int32 Index ) const


code: [THandleType](API\Runtime\Chaos\Chaos\TGeometryParticlesImp\THandleType) * Handle ( int32 Index )


className: THandleType

code: typedef [TPBDGeometryCollectionParticleHandle](API\Runtime\Chaos\Chaos\TPBDGeometryCollectionParticleHa-)< T, d > THandleType


code: TPBDGeometryCollectionParticles ( const [TPBDRigidClusteredParticles](API\Runtime\Chaos\Chaos\TPBDRigidClusteredParticles)< T, d > & Other )


code: TPBDGeometryCollectionParticles ( [TPBDRigidClusteredParticles](API\Runtime\Chaos\Chaos\TPBDRigidClusteredParticles)< T, d > && Other )


code: [TArrayCollectionArray](API\Runtime\Engine\Physics\Experimental\TArrayCollectionArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > > & GetP()


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & P ( const int32 index ) const


className: TPBDGeometryCollectionParticles

code: template<class T, int d> class TPBDGeometryCollectionParticles : public [Chaos::TPBDRigidClusteredParticles< T, d >](API\Runtime\Chaos\Chaos\TPBDRigidClusteredParticles)


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & P ( const int32 index )


code: TPBDParticles ( const [TPBDParticles](API\Runtime\Chaos\Chaos\TPBDParticles)< T, d > & Other )


code: TPBDParticles ( [TPBDParticles](API\Runtime\Chaos\Chaos\TPBDParticles)< T, d > && Other )


className: TPBDParticles

code: template<class T, int d> class TPBDParticles : public [Chaos::TDynamicParticles< T, d >](API\Runtime\Chaos\Chaos\TDynamicParticles)


code: void AddPhysicsProxy ( [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) * PhysicsProxy )


code: const [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FImplicitObjectUnionClustered](API\Runtime\Chaos\Chaos\FImplicitObjectUnionClustered) > & ChildrenSpatial() const


code: const [TRigidTransform](API\Runtime\Chaos\Chaos\TRigidTransform)< T, d > & ChildToParent() const


code: [TRigidTransform](API\Runtime\Chaos\Chaos\TRigidTransform)< T, d > & ChildToParent()


description: Deprecated* This method should not be used anymore.FRigidClustering::SetExternalStrainwith 0 strain should be used instead.

code: void ClearExternalStrain()


code: const int32 & ClusterGroupIndex() const


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


code: const [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) & CollisionImpulse() const


code: const [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) & CollisionImpulses() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [TConnectivityEdge](API\Runtime\Chaos\Chaos\TConnectivityEdge)< T > > & ConnectivityEdges() const


code: [TArray](API\Runtime\Core\Containers\TArray)< [TConnectivityEdge](API\Runtime\Chaos\Chaos\TConnectivityEdge)< T > > & ConnectivityEdges()


code: static [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [TPBDRigidClusteredParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDRigidClusteredParticleHandle-)< T, d, bPersistent > > CreateParticleHandle ( [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [TPBDRigidClusteredParticles](API\Runtime\Chaos\Chaos\TPBDRigidClusteredParticles)< T, d >> InParticles, int32 InParticleIdx, int32 InHandleIdx, const [FPBDRigidParticleParameters](API\Runtime\Chaos\Chaos\FPBDRigidParticleParameters) & Params )


code: const [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) & GetInternalStrains() const


code: const [TPBDRigidClusteredParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDRigidClusteredParticleHandle-)< T, d, true > * Handle() const


code: [TPBDRigidClusteredParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDRigidClusteredParticleHandle-)< T, d, true > * Handle()


code: [FPBDRigidClusteredParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidClusteredParticleHandle) * Parent() const


className: MaxStrain

code: static constexpr [Chaos::FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) MaxStrain = TNumericLimits<Chaos::FRealSingle>::Max() - TNumericLimits<Chaos::FRealSingle>::Min();


code: const [TSet](API\Runtime\Core\Containers\TSet)< [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) * > & PhysicsProxies() const


code: void RemovePhysicsProxy ( [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) * PhysicsProxy )


code: void SetChildrenSpatial ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FImplicitObjectUnion](API\Runtime\Chaos\Chaos\FImplicitObjectUnion) > & Obj )


code: void SetChildToParent ( const [TRigidTransform](API\Runtime\Chaos\Chaos\TRigidTransform)< T, d > & Xf )


code: void SetChildToParentLocked ( bool bValue )


code: void SetClusterGroupIndex ( const int32 Idx )


code: void SetClusterId ( const [ClusterId](API\Runtime\Chaos\Chaos\ClusterId) & Id )


code: void SetCollisionImpulse ( const [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) Value )


code: void SetCollisionImpulses ( const [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) Value )


code: void SetConnectivityEdges ( const [TArray](API\Runtime\Core\Containers\TArray)< [TConnectivityEdge](API\Runtime\Chaos\Chaos\TConnectivityEdge)< T >> & Edges )


code: void SetConnectivityEdges ( [TArray](API\Runtime\Core\Containers\TArray)< [TConnectivityEdge](API\Runtime\Chaos\Chaos\TConnectivityEdge)< T >> && Edges )


description: Deprecated* This method should not be used anymore.FRigidClustering::SetExternalStrainshould be used instead.

code: void SetExternalStrain ( const [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) Value )


code: void SetInternalCluster ( bool bValue )


description: Deprecated* This method should not be used anymore.FRigidClustering::SetInternalStrainshould be used instead.

code: void SetStrain ( const [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) Value )


code: void SetStrains ( const [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) Value )


code: void SetUnbreakable ( bool bValue )


code: static constexpr [EParticleType](API\Runtime\Chaos\Chaos\Chaos__EParticleType) StaticType()


code: const [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) & Strain() const


code: const [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) & Strains() const


code: [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [TPBDRigidClusteredParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDRigidClusteredParticleHandle-)< T, d, bPersistent > > ToSerializable() const


code: int32 TransientParticleIndex() const


code: typedef [TPBDRigidClusteredParticles](API\Runtime\Chaos\Chaos\TPBDRigidClusteredParticles)< T, d > TSOAType


code: typedef [TTransientPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\TTransientPBDRigidParticleHandle)< T, d > TTransientHandle


description: Needed for serialization

code: TPBDRigidClusteredParticleHandleImp()


code: TPBDRigidClusteredParticleHandleImp ( [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [TPBDRigidClusteredParticles](API\Runtime\Chaos\Chaos\TPBDRigidClusteredParticles)< T, d >> Particles, int32 InIdx, int32 InGlobalIdx, const [FPBDRigidParticleParameters](API\Runtime\Chaos\Chaos\FPBDRigidParticleParameters) & Params )


className: TPBDRigidClusteredParticleHandleImp

code: template<typename T, int d, bool bPersistent> class TPBDRigidClusteredParticleHandleImp : public [Chaos::TPBDRigidParticleHandleImp< T, d, bPersistent >](API\Runtime\Chaos\Chaos\TPBDRigidParticleHandleImp)


className: TPBDRigidClusteredParticleHandle

code: typedef [TPBDRigidClusteredParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDRigidClusteredParticleHandle-)< T, d, true > TPBDRigidClusteredParticleHandle


code: const auto & ChildrenSpatial ( int32 Idx ) const


code: auto & ChildrenSpatial ( int32 Idx )


code: const auto & ChildToParent ( int32 Idx ) const


code: const auto & ChildToParentArray() const


code: const auto & ClusterGroupIndex ( int32 Idx ) const


code: auto & ClusterGroupIndex ( int32 Idx )


code: const auto & ClusterGroupIndexArray() const


code: const auto & ClusterIds ( int32 Idx ) const


code: const auto & ClusterIdsArray() const


code: auto & CollisionImpulses ( int32 Idx )


code: const auto & CollisionImpulses ( int32 Idx ) const


code: const auto & ConnectivityEdges ( int32 Idx ) const


code: auto & ConnectivityEdges ( int32 Idx )


code: const auto & ExternalStrains ( int32 Idx ) const


code: const auto & ConnectivityEdgesArray() const


code: auto & ExternalStrains ( int32 Idx )


code: const [THandleType](API\Runtime\Chaos\Chaos\TGeometryParticlesImp\THandleType) * Handle ( int32 Index ) const


description: Cannot be reference because double pointer would allow for badness, but still useful to have non const access to handle

code: [THandleType](API\Runtime\Chaos\Chaos\TGeometryParticlesImp\THandleType) * Handle ( int32 Index )


code: auto & PhysicsProxies ( int32 Idx )


code: const auto & PhysicsProxies ( int32 Idx ) const


code: const auto & RigidClusteredFlags() const


code: const [FRigidClusteredFlags](API\Runtime\Chaos\Chaos\FRigidClusteredFlags) & RigidClusteredFlags ( int32 Idx ) const


code: [FRigidClusteredFlags](API\Runtime\Chaos\Chaos\FRigidClusteredFlags) & RigidClusteredFlags ( int32 Idx )


code: const auto & Strains ( int32 Idx ) const


code: typedef [TPBDRigidClusteredParticleHandle](API\Runtime\Chaos\Chaos\TPBDRigidClusteredParticleHandle)< T, d > THandleType


code: TPBDRigidClusteredParticles ( [TPBDRigidParticles](API\Runtime\Chaos\TPBDRigidParticles)< T, d > && Other )


code: TPBDRigidClusteredParticles ( const [TPBDRigidParticles](API\Runtime\Chaos\TPBDRigidParticles)< T, d > & Other )


className: TPBDRigidClusteredParticles

code: template<class T, int d> class TPBDRigidClusteredParticles : public [Chaos::TPBDRigidParticles< T, d >](API\Runtime\Chaos\TPBDRigidParticles)


description: Enable a single flag.

code: void AddCollisionConstraintFlag ( const [ECollisionConstraintFlags](API\Runtime\Chaos\Chaos\Collision\Chaos__ECollisionConstraintFlags) Flag )


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & Acceleration() const


code: void AddForce ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InF, bool bInvalidate )


code: void AddTorque ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InTorque, bool bInvalidate )


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & AngularAcceleration() const


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & AngularImpulseVelocity() const


code: void ApplyDynamicsWeight ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) DynamicsWeight )


className: Base

code: typedef [TKinematicGeometryParticle](API\Runtime\Chaos\Chaos\TKinematicGeometryParticle)< T, d > Base


code: static [TPBDRigidParticle](API\Runtime\Chaos\Chaos\TPBDRigidParticle)< T, d > * Cast ( [TGeometryParticle](API\Runtime\Chaos\Chaos\TGeometryParticle)< T, d > * Particle )


code: static const [TPBDRigidParticle](API\Runtime\Chaos\Chaos\TPBDRigidParticle)< T, d > * Cast ( const [TGeometryParticle](API\Runtime\Chaos\Chaos\TGeometryParticle)< T, d > * Particle )


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & CenterOfMass() const


code: void ClearForces ( bool bInvalidate )


code: void ClearTorques ( bool bInvalidate )


description: A mask of all the active flags.

code: uint32 CollisionConstraintFlags() const


code: static [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [TPBDRigidParticle](API\Runtime\Chaos\Chaos\TPBDRigidParticle)< T, d > > CreateParticle ( const [FPBDRigidParticleParameters](API\Runtime\Chaos\Chaos\FPBDRigidParticleParameters) & DynamicParams )


className: FHandle

code: typedef [TPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\TPBDRigidParticleHandle)< T, d > FHandle


description: BoolDisabled() const{ returnMMiscData.Read().bDisabled; } voidSetDisabled(const bool InDisabled){ MMiscData.Modify(true,MDirtyFlags,Proxy,InDisabled{ Data.bDisabled = InDisabled;}); }

code: bool GravityEnabled() const


code: const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & I() const


code: bool InertiaConditioningEnabled() const


code: const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & InvI() const


description: Todo: remove this

code: bool IsInitialized() const


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & LinearImpulseVelocity() const


description: Disable a single flag.

code: void RemoveCollisionConstraintFlag ( const [ECollisionConstraintFlags](API\Runtime\Chaos\Chaos\Collision\Chaos__ECollisionConstraintFlags) Flag )


code: const [TRotation](API\Runtime\Chaos\Chaos\TRotation)< T, d > & RotationOfMass() const


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


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


code: void SetAngularAcceleration ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InTorque, bool bInvalidate )


code: void SetAngularEtherDrag ( const T & InAngularEtherDrag )


code: void SetAngularImpulseVelocity ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InAngularImpulseVelocity, bool bInvalidate )


code: void SetCCDEnabled ( bool bInEnabled )


code: void SetCenterOfMass ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InCenterOfMass, bool bInvalidate )


description: Replace all flags.

code: void SetCollisionConstraintFlags ( const uint32 Flags )


code: void SetCollisionGroup ( const int32 InCollisionGroup )


code: void SetDisabled ( bool bInDisabled )


code: void SetDynamicMisc ( const [FParticleDynamicMisc](API\Runtime\Chaos\Chaos\FParticleDynamicMisc) & DynamicMisc )


code: void SetGravityEnabled ( const bool bInEnabled )


code: void SetDynamics ( const [FParticleDynamics](API\Runtime\Chaos\Chaos\FParticleDynamics) & InDynamics, bool bInvalidate )


code: void SetI ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & InI )


code: void SetInertiaConditioningEnabled ( bool bInEnabled )


code: void SetInitialized ( const bool InInitialized )


code: void SetInvI ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & InInvI )


description: TODO(stett): Make the setter private. It is public right now to provide access to proxies.

code: void SetIsland ( const int32 InIsland )


code: void SetLinearEtherDrag ( const T & InLinearEtherDrag )


code: void SetLinearImpulseVelocity ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InLinearImpulseVelocity, bool bInvalidate )


code: void SetMassProps ( const [FParticleMassProps](API\Runtime\Chaos\Chaos\FParticleMassProps) & InProps )


code: void SetMaxAngularSpeedSq ( const T & InAngularSpeed )


code: void SetMaxLinearSpeedSq ( const T & InLinearSpeed )


code: void SetObjectState ( const [EObjectStateType](API\Runtime\Chaos\Chaos\Chaos__EObjectStateType) InState, bool bAllowEvents, bool bInvalidate )


code: void SetOneWayInteraction ( const bool bInEnabled )


code: void SetRotationOfMass ( const [TRotation](API\Runtime\Chaos\Chaos\TRotation)< T, d > & InRotationOfMass, bool bInvalidate )


code: void SetSleepType ( [ESleepType](API\Runtime\Chaos\Chaos\Chaos__ESleepType) SleepType, bool bAllowEvents, bool bInvalidate )


code: void SetUpdateKinematicFromSimulation ( const bool bUpdateKinematicFromSimulation )


code: virtual void SyncRemoteDataImp ( [FDirtyPropertiesManager](API\Runtime\Chaos\Chaos\FDirtyPropertiesManager) & Manager, int32 DataIdx, const [FDirtyChaosProperties](API\Runtime\Chaos\Chaos\FDirtyChaosProperties) & RemoteData ) const


code: TPBDRigidParticle ( const [FPBDRigidParticleParameters](API\Runtime\Chaos\Chaos\FPBDRigidParticleParameters) & DynamicParams )


className: TPBDRigidParticle

code: template<typename T, int d> class TPBDRigidParticle : public [Chaos::TKinematicGeometryParticle< T, d >](API\Runtime\Chaos\Chaos\TKinematicGeometryParticle)


className: TPBDRigidParticleHandle

code: typedef [TPBDRigidParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDRigidParticleHandleImp)< T, d, true > TPBDRigidParticleHandle


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & Acceleration() const


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & Acceleration()


code: void AddForce ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InF, bool bInvalidate )


code: void AddCollisionConstraintFlag ( const [ECollisionConstraintFlags](API\Runtime\Chaos\Chaos\Collision\Chaos__ECollisionConstraintFlags) Flag )


code: void AddTorque ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InTorque, bool bInvalidate )


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & AngularAcceleration() const


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & AngularAcceleration()


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & AngularImpulseVelocity() const


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & AngularImpulseVelocity()


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & CenterOfMass() const


code: void ClearInertiaConditioningDirty()


code: void ClearUseIgnoreCollisionManager()


code: uint32 CollisionConstraintFlags() const


code: const [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [TBVHParticles](API\Runtime\Chaos\Chaos\TBVHParticles)< T, d > > & CollisionParticles() const


code: [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [TBVHParticles](API\Runtime\Chaos\Chaos\TBVHParticles)< T, d > > & CollisionParticles()


code: void CollisionParticlesInitIfNeeded()


code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > ConditionedI() const


code: int32 CollisionParticlesSize() const


description: Get the conditioned inertia for use in constraint solvers.

code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > ConditionedInvI() const


code: static [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [TPBDRigidParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDRigidParticleHandleImp)< T, d, bPersistent > > CreateParticleHandle ( [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [TPBDRigidParticles](API\Runtime\Chaos\TPBDRigidParticles)< T, d >> InParticles, int32 InParticleIdx, int32 InHandleIdx, const [FPBDRigidParticleParameters](API\Runtime\Chaos\Chaos\FPBDRigidParticleParameters) & Params )


description: Deprecated* This method should not be used anymore. SetDisabled should be used instead.

code: bool & Disabled()


description: Really only useful when using a transient handle.

code: const [TPBDRigidParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDRigidParticleHandleImp)< T, d, true > * Handle() const


code: [TPBDRigidParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDRigidParticleHandleImp)< T, d, true > * Handle()


code: bool HasCollisionConstraintFlag ( const [ECollisionConstraintFlags](API\Runtime\Chaos\Chaos\Collision\Chaos__ECollisionConstraintFlags) Flag ) const


description: ConditionedInvI()

code: const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & I() const


code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & I()


code: bool InertiaConditioningEnabled() const


description: Initialize the transform (sets X,R and P,Q)

code: void InitTransform ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & InP, const [FRotation3](API\Runtime\ChaosCore\Chaos\FRotation3) & InQ )


description: ConditionedInvI()

code: const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & InvI() const


code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & InvI()


description: Get the inertia conditioning scales. This is a scale applied to the inverse inertia for use by the constraint solvers to improve stability and is calculated based on the attached joints and potential collision positions (approximated by object size)

code: const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & InvIConditioning() const


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & LinearImpulseVelocity() const


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & LinearImpulseVelocity()


className: TPBDRigidParticleHandleImp::operator TPBDRigidParticleHandleImp< T, d, false > &

code: operator TPBDRigidParticleHandleImp< T, d, false > &()


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & P() const


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & P()


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > PCom() const


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & PreV() const


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & PreV()


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & PreW()


code: const [TRotation](API\Runtime\Chaos\Chaos\TRotation)< T, d > & Q() const


code: [TRotation](API\Runtime\Chaos\Chaos\TRotation)< T, d > & Q()


code: const [TRotation](API\Runtime\Chaos\Chaos\TRotation)< T, d > QCom() const


description: World-space center of mass rotation.

code: const [TRotation](API\Runtime\Chaos\Chaos\TRotation)< T, d > RCom() const


code: void RemoveCollisionConstraintFlag ( const [ECollisionConstraintFlags](API\Runtime\Chaos\Chaos\Collision\Chaos__ECollisionConstraintFlags) Flag )


code: const [TRotation](API\Runtime\Chaos\Chaos\TRotation)< T, d > & RotationOfMass() const


code: void SetAcceleration ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InAcceleration )


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & PreW() const


code: void SetAngularAcceleration ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InAngularAcceleration )


code: void SetAngularImpulseVelocity ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InAngularImpulseVelocity, bool bInvalidate )


code: void SetAngularEtherDrag ( const T & InAngularEtherDrag )


code: void SetCCDEnabled ( bool bEnabled )


code: void SetCenterOfMass ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InCenterOfMass, bool bInvalidate )


code: void SetCollisionConstraintFlags ( const uint32 Flags )


code: void SetCollisionGroup ( const int32 InCollisionGroup )


code: void SetCollisionParticles ( [TParticles](API\Runtime\Chaos\Chaos\TParticles)< T, d > && Points )


description: NOTE: ControlFlags should not be changed by the solver during the tick. These are externally controlled settings.

code: void SetControlFlags ( const [FRigidParticleControlFlags](API\Runtime\Chaos\Chaos\FRigidParticleControlFlags) Flags )


code: void SetDisableCounter ( int8 DisableCounter )


code: void SetDisabled ( const bool InDisabled )


description: See Comment on TRigidParticle::SetDisabledLowLevel. State changes in Evolution should accompany this call.

code: void SetDisabledLowLevel ( bool disabled )


description: Deprecated* Moved toFPBDRigidsSolver

code: void SetDynamicMisc ( const [FParticleDynamicMisc](API\Runtime\Chaos\Chaos\FParticleDynamicMisc) & DynamicMisc, [FPBDRigidsEvolutionBase](API\Runtime\Chaos\Chaos\FPBDRigidsEvolutionBase) & Evolution )


code: void SetDynamics ( const [FParticleDynamics](API\Runtime\Chaos\Chaos\FParticleDynamics) & Dynamics )


code: void SetGravityEnabled ( bool bEnabled )


code: void SetGravityGroupIndex ( int32 GravityGroupIndex )


code: void SetI ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & InI )


code: void SetInertiaConditioningEnabled ( bool bEnabled )


code: void SetInvI ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & InInvI )


code: void SetInvIConditioning ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & InInvIConditioning )


code: void SetLinearEtherDrag ( const T & InLinearEtherDrag )


code: void SetLinearImpulseVelocity ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InLinearImpulseVelocity, bool bInvalidate )


code: void SetMassProps ( const [FParticleMassProps](API\Runtime\Chaos\Chaos\FParticleMassProps) & Props )


code: void SetMaxAngularSpeedSq ( const T & InMaxAngularSpeed )


code: void SetMaxLinearSpeedSq ( const T & InMaxLinearSpeed )


code: void SetObjectStateLowLevel ( [EObjectStateType](API\Runtime\Chaos\Chaos\Chaos__EObjectStateType) InState )


code: void SetOneWayInteraction ( bool bEnabled )


code: void SetP ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InP )


code: void SetPreObjectStateLowLevel ( [EObjectStateType](API\Runtime\Chaos\Chaos\Chaos__EObjectStateType) InState )


code: void SetPreV ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InPreV )


code: void SetPreW ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InPreW )


code: void SetQ ( const [TRotation](API\Runtime\Chaos\Chaos\TRotation)< T, d > & InQ )


code: void SetRotationOfMass ( const [TRotation](API\Runtime\Chaos\Chaos\TRotation)< T, d > & InRotationOfMass, bool bInvalidate )


code: void SetSleepCounter ( int8 SleepCounter )


code: void SetSleeping ( bool bSleeping )


code: void SetSleepType ( [ESleepType](API\Runtime\Chaos\Chaos\Chaos__ESleepType) SleepType )


code: void SetSolverBodyIndex ( const int32 InSolverBodyIndex )


code: void SetTorque ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InTorque, bool bInvalidate )


description: Set world-space center of mass transform.

code: void SetTransformPQCom ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InPCom, const [TRotation](API\Runtime\Chaos\Chaos\TRotation)< T, d > & InQCom )


code: void SetUpdateKinematicFromSimulation ( bool bUpdateKinematicFromSimulation )


code: void SetUseIgnoreCollisionManager()


code: void SetVSmooth ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InVSmooth )


code: void SetWSmooth ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & InWSmooth )


code: static constexpr [EParticleType](API\Runtime\Chaos\Chaos\Chaos__EParticleType) StaticType()


code: [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [TPBDRigidParticleHandleImp](API\Runtime\Chaos\Chaos\TPBDRigidParticleHandleImp)< T, d, bPersistent > > ToSerializable() const


code: typedef [TPBDRigidParticles](API\Runtime\Chaos\TPBDRigidParticles)< T, d > TSOAType


code: typedef [TTransientPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\TTransientPBDRigidParticleHandle)< T, d > TTransientHandle


code: bool UseIgnoreCollisionManager() const


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & VSmooth() const


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & VSmooth()


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & WSmooth() const


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & WSmooth()


description: World-space center of mass position.

code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > XCom() const


description: Needed for serialization

code: TPBDRigidParticleHandleImp()


code: TPBDRigidParticleHandleImp ( [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [TPBDRigidParticles](API\Runtime\Chaos\TPBDRigidParticles)< T, d >> Particles, int32 InIdx, int32 InGlobalIdx, const [FPBDRigidParticleParameters](API\Runtime\Chaos\Chaos\FPBDRigidParticleParameters) & Params )


className: TPBDRigidParticleHandleImp

code: template<typename T, int d, bool bPersistent> class TPBDRigidParticleHandleImp : public [Chaos::TKinematicGeometryParticleHandleImp< T, d, bPersistent >](API\Runtime\Chaos\Chaos\TKinematicGeometryParticleHandle-)


className: TPBDRigidsEvolution

code: template<class T, int d> class TPBDRigidsEvolution


code: TPerCellBoundaryConditions ( const [TKinematicGeometryParticles](API\Runtime\Chaos\Chaos\TKinematicGeometryParticles)< T, d > & CollisionParticles, const [TKinematicGeometryParticles](API\Runtime\Chaos\Chaos\TKinematicGeometryParticles)< T, d > & SourceParticles )


code: void ApplyDirichlet ( const [TUniformGrid](API\Runtime\Chaos\Chaos\TUniformGrid)< T, d > & Grid, [TArrayND](API\Runtime\Chaos\Chaos\TArrayND)< bool, d > & BoundaryConditions, [TArrayND](API\Runtime\Chaos\Chaos\TArrayND)< T, d > & Density, const T Dt, const [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, d > & Index )


code: void ApplyNeumann ( const [TUniformGrid](API\Runtime\Chaos\Chaos\TUniformGrid)< T, d > & Grid, [TArrayFaceND](API\Runtime\Chaos\Chaos\TArrayFaceND)< bool, d > & BoundaryConditions, [TArrayFaceND](API\Runtime\Chaos\Chaos\TArrayFaceND)< T, d > & Velocity, const T Dt, const [Pair](API\Runtime\ChaosCore\Chaos\Pair)< int32, [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, d >> & Index )


className: TPerCellBoundaryConditions

code: template<class T, int d> class TPerCellBoundaryConditions


code: void Apply ( const [TUniformGrid](API\Runtime\Chaos\Chaos\TUniformGrid)< T, d > & Grid, [TArrayFaceND](API\Runtime\Chaos\Chaos\TArrayFaceND)< T, d > & Velocity, const T Dt, const [Pair](API\Runtime\ChaosCore\Chaos\Pair)< int32, [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, d >> Index ) const


code: TPerCellBuoyancy ( const [TArrayND](API\Runtime\Chaos\Chaos\TArrayND)< T, 3 > & Density, const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & Direction, const T Magnitude )


className: TPerCellBuoyancy

code: template<class T, int d> class TPerCellBuoyancy