className: FManagedBitArrayBase

code: class FManagedBitArrayBase : public [FManagedArrayBase](API\Runtime\Chaos\GeometryCollection\FManagedArrayBase)


className: FRecordedFrame

description: Structure describing necessary data to record the results of a physics simulation for rigids. Primarily for recording the results of a geometry collection simulation for later playback

module: Chaos

code: struct FRecordedFrame

Breakings

type: TArray<FSolver...

DisabledFlags

type: TArray< bool >

description: Per-particle list of whether or not they were disabled on this frame.

PreviousTransformIndices

type: TArray< int32 >

description: Maps to the position in the Transforms array of thepreviousframe that this entry existed.

Timestamp

type: float

Trailings

type: TSet<FSolverTr...

TransformIndices

description: After processing, this will map a transform index within this frame out to a body/particle index for the component.

Transforms

type: TArray< FTransf...

description: List of transforms recorded for this frame.


description: Finds the index of the key immediately before the provided time. Or the exact frame in the case of an exact time match

code: int32 FindLastKeyBefore ( float InTime ) const


description: Find a frame index at InTime if available within a specified tolarance of the timestamp

code: int32 FindRecordedFrameIndex ( float InTime, float InTolerance ) const


description: Find a frame at InTime if available within a specified tolarance of the timestamp

code: [FRecordedFrame](API\Runtime\Chaos\GeometryCollection\FRecordedFrame) * FindRecordedFrame ( float InTime, float InTolerance )


code: const [FRecordedFrame](API\Runtime\Chaos\GeometryCollection\FRecordedFrame) * FindRecordedFrame ( float InTime, float InTolerance ) const


description: Get an interpolated angular velocity for the specified particle at the provided time - using SampleWidth to pick out a window of interpolation

code: FVector GetAngularVelocityAtTime ( int32 InIndex, float InTime, float SampleWidth ) const


description: Get whether a particle is disabled at a provided time

code: bool GetDisabledAtTime ( int32 InIndex, float InTime ) const


description: Given a time, return either one or two frames. If InTime is exactly on a frame then only that frame is returned. If we are beyond the end of the track only the last is returned. For times in the middle of the track that are not exactly on a frame then the frame before and after the time are returned.

code: void GetFramesForTime ( float InTime, const [FRecordedFrame](API\Runtime\Chaos\GeometryCollection\FRecordedFrame) *& OutFirst, const [FRecordedFrame](API\Runtime\Chaos\GeometryCollection\FRecordedFrame) *& OutSecond ) const


description: Get an interpolated linear velocity for the specified particle at the provided time - using SampleWidth to pick out a window of interpolation

code: FVector GetLinearVelocityAtTime ( int32 InIndex, float InTime, float SampleWidth ) const


description: Given a time, get an interpolated transform from the track for a provided particle

code: FTransform GetTransformAtTime ( int32 InIndex, float InTime ) const


description: Given two times, find out if the provided particle was ever active within them

code: bool GetWasActiveInWindow ( int32 InIndex, float InBeginTime, float InEndTime ) const


description: Validates that the time is within the track timestamp bounds (inclusive)

code: bool IsTimeValid ( float InTime ) const


code: static [FRecordedTransformTrack](API\Runtime\Chaos\GeometryCollection\FRecordedTransformTrack) ProcessRawRecordedData ( const [FRecordedTransformTrack](API\Runtime\Chaos\GeometryCollection\FRecordedTransformTrack) & InCache )


className: FRecordedTransformTrack

code: struct FRecordedTransformTrack

Records

type: TArray<FRecord...


code: FSharedSimulationParameters ( ECollisionTypeEnum InCollisionType, EImplicitTypeEnum InImplicitType, int32 InMinLevelSetResolution, int32 InMaxLevelSetResolution, int32 InMinClusterLevelSetResolution, int32 InMaxClusterLevelSetResolution, bool InMassAsDensity, float InMass, float InMinimumMassClamp, float InMaximumMassClamp, float InMinimumBoundingExtentClamp, float InMaximumBoundingExtentClamp, float InMinimumInertiaTensorDiagonalClamp, float InMaximumInertiaTensorDiagonalClamp, float InCollisionParticlesFraction, int32 InMaximumCollisionParticleCount, float InCollisionMarginFraction, bool InUseImportedCollisionImplicits )


className: FSharedSimulationParameters

description: Simulation Parameters

code: struct FSharedSimulationParameters

bMassAsDensity

type: bool

SizeSpecificData

type: TArray<FShared...


code: bool operator< ( const [FSharedSimulationSizeSpecificData](API\Runtime\Chaos\GeometryCollection\FSharedSimulationSizeSpecificDat-) & Rhs ) const


code: FSharedSimulationSizeSpecificData()


className: FSharedSimulationSizeSpecificData

CollisionShapesData

type: TArray<FCollec...


code: FSimulationParameters ( const [FSimulationParameters](API\Runtime\Chaos\GeometryCollection\FSimulationParameters) & Other )


className: FSimulationParameters

code: struct FSimulationParameters

CacheType

type: EGeometryCollec...

DamageEvaluationModel

description: This is the lower level damage model for clustering, used at runm time

DamageModel

type: EDamageModelTyp...

description: This is the user expose damage model, used for creation of the particles

DamageThreshold

type: TArray< float >

InitialAngularVelocity

type: FVector

InitializationCommands

type: TArray<FFieldS...

InitialVelocityType

type: EInitialVelocit...

Name

type: FString

ObjectType

type: EObjectStateTyp...

PrevWorldTransform

type: FTransform

QueryFilterData

type: FCollisionFilte...

RecordedTrack

type: constFRecorded...

RestCollection

type: constFGeometry...

Shared

type: FSharedSimulati...

UserData

type: void *


className: FSolverBreakingData

code: struct FSolverBreakingData

Mass

type: float


code: FSolverCollisionData ( FVector InLocation, FVector InAccumulatedImpulse, FVector InNormal, FVector InVelocity1, FVector InVelocity2, FVector InAngularVelocity1, FVector InAngularVelocity2, float InMass1, float InMass2, int32 InParticleIndex, int32 InLevelsetIndex, int32 InParticleIndexMesh, int32 InLevelsetIndexMesh )


className: FSolverCollisionData

code: struct FSolverCollisionData


code: FSolverTrailingData ( FVector InLocation, FVector InVelocity, FVector InAngularVelocity, float InMass, int32 InParticleIndex, int32 InParticleIndexMesh )


className: FSolverTrailingData

code: struct FSolverTrailingData


description: Append Collection and reindex dependencies on this collection.

code: virtual void Append ( const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & Collection )


description: AppendTransform: Append a transform at the end of the collection without parenting.

code: int32 AppendTransform ( const [FTransformCollection](API\Runtime\Chaos\GeometryCollection\FTransformCollection) & GeometryCollection, const FTransform & TransformRoot )


className: ChildrenAttribute

code: static const [FName](API\Runtime\Core\UObject\FName) ChildrenAttribute = "Children";


description: Schema

code: static void DefineTransformSchema ( [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & )


description: Construct

code: void Construct()


code: virtual bool IsAType ( [FName](API\Runtime\Core\UObject\FName) InTypeName ) const


className: LevelAttribute

code: static const [FName](API\Runtime\Core\UObject\FName) LevelAttribute = "Level";


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


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


className: ParentAttribute

code: static const [FName](API\Runtime\Core\UObject\FName) ParentAttribute = "Parent";


description: ParentTransforms Parent Transforms under the specified node using local parent hierarchy compensation. .

code: void ParentTransforms ( const int32 TransformIndex, const int32 ChildIndex )


code: void ParentTransforms ( const int32 TransformIndex, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & SelectedBones )


className: ParticlesAttribute

code: static const [FName](API\Runtime\Core\UObject\FName) ParticlesAttribute = "Particles";


description: RelativeTransformation Modify the specified index by the local matrix offset.

code: void RelativeTransformation ( const int32 & Index, const FTransform & LocalOffset )


description: RemoveElements Remove elements from the transform collection. Transform children are re-parented under the deleted elements parent using local parent compensation [relative local matrices].

code: virtual void RemoveElements ( const [FName](API\Runtime\Core\UObject\FName) & Group, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & SortedDeletionList, [FProcessingParameters](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection\FProcessingParam-) Params )


description: Reset internal state

code: virtual void Reset()


description: Serialize

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


description: SingleTransform: Create a single transform.

code: static [FTransformCollection](API\Runtime\Chaos\GeometryCollection\FTransformCollection) SingleTransform ( const FTransform & TransformRoot )


className: TransformAttribute

code: static const [FName](API\Runtime\Core\UObject\FName) TransformAttribute = "Transform";


className: TransformGroup

code: static const [FName](API\Runtime\Core\UObject\FName) TransformGroup = "Transform";


code: void UnparentTransform ( const int32 ChildIndex )


code: FTransformCollection ( [FTransformCollection](API\Runtime\Chaos\GeometryCollection\FTransformCollection) & )


code: FTransformCollection ( [FTransformCollection](API\Runtime\Chaos\GeometryCollection\FTransformCollection) && )


className: FTransformCollection

description: FTransformCollectionComponent

code: class FTransformCollection : public [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection)

BoneColor

type: TManagedArray< ...

Transform

description: Transform Group.


description: AttributeTransfer implementation.

code: namespace GeometryCollection { template<class T> void GeometryCollection::AttributeTransfer ( const [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) * FromCollection, [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) * ToCollection, const [FName](API\Runtime\Core\UObject\FName) FromAttributeName, const [FName](API\Runtime\Core\UObject\FName) ToAttributeName ) }


code: namespace ManageArrayAccessor { enum EPersistencePolicy { KeepExistingPersistence, MakePersistent, } }


code: namespace GeometryCollection { template<class TV3_PTS, class TV3_NORM, class TV2, class TV_INT3> [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) > GeometryCollection::MakeMeshElement ( const [TArray](API\Runtime\Core\Containers\TArray)< TV3_PTS > & PointsIn, const [TArray](API\Runtime\Core\Containers\TArray)< TV3_NORM > & NormalsIn, const [TArray](API\Runtime\Core\Containers\TArray)< TV_INT3 > & TrianglesIn, const [TArray](API\Runtime\Core\Containers\TArray)< TV2 > & UVsIn, const FTransform & Xf, const FTransform & GeoXf, const int NumberOfMaterials ) }


code: namespace ManagedArrayTypeSize { template<typename T> SIZE_T ManagedArrayTypeSize::GetAllocatedSize ( const [TArray](API\Runtime\Core\Containers\TArray)< T > & Array ) }


code: namespace ManagedArrayTypeSize { template<typename T> SIZE_T ManagedArrayTypeSize::GetAllocatedSize ( const T & Value ) }


code: namespace ManagedArrayTypeSize { template<typename T> SIZE_T ManagedArrayTypeSize::GetAllocatedSize ( const [TBitArray](API\Runtime\Core\Containers\TBitArray)<> & Array ) }


code: namespace ManagedArrayTypeSize { template<typename T> SIZE_T ManagedArrayTypeSize::GetAllocatedSize ( const [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< T > & Ptr ) }


code: namespace ManagedArrayTypeSize { template<typename T> SIZE_T ManagedArrayTypeSize::GetAllocatedSize ( const [TSet](API\Runtime\Core\Containers\TSet)< T > & Set ) }


code: namespace ManagedArrayTypeSize { template<typename T, ESPMode Mode> SIZE_T ManagedArrayTypeSize::GetAllocatedSize ( const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< T, Mode > & Ptr ) }


code: namespace ManagedArrayTypeSize { SIZE_T ManagedArrayTypeSize::GetAllocatedSize ( const [Chaos::FImplicitObject3](API\Runtime\Chaos\Chaos\FImplicitObject3) * ImplicitObjectPtr ) }


code: namespace ManagedArrayTypeSize { SIZE_T ManagedArrayTypeSize::GetAllocatedSize ( const [Chaos::FBVHParticlesFloat3](API\Runtime\Chaos\Chaos\FBVHParticlesFloat3) & BVHParticles ) }


code: [TManagedArray](API\Runtime\Chaos\GeometryCollection\TManagedArray) & operator= ( [TManagedArray](API\Runtime\Chaos\GeometryCollection\TManagedArray)< InElementType > && Other )


code: TManagedArray ( const [TArray](API\Runtime\Core\Containers\TArray)< InElementType > & Other )


code: TManagedArray ( [TArray](API\Runtime\Core\Containers\TArray)< InElementType > && Other )


code: TManagedArray ( [TManagedArray](API\Runtime\Chaos\GeometryCollection\TManagedArray)< InElementType > && Other )


code: TManagedArray ( const [TManagedArray](API\Runtime\Chaos\GeometryCollection\TManagedArray)< InElementType > & Other )


className: TManagedArray

code: template<class InElementType> class TManagedArray : public [TManagedArrayBase< InElementType >](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase)


description: Add the attribute if it does not exists yet

code: [TManagedArray](API\Runtime\Chaos\GeometryCollection\TManagedArray)< T > & Add ( [ManageArrayAccessor::EPersistencePolicy](API\Runtime\Chaos\GeometryCollection\ManageArrayAccessor__EPersistenc-) PersistencePolicy, [FName](API\Runtime\Core\UObject\FName) InGroupDependency )


description: Add and fill the attribute if it does not exist yet

code: void AddAndFill ( const T & Value, [ManageArrayAccessor::EPersistencePolicy](API\Runtime\Chaos\GeometryCollection\ManageArrayAccessor__EPersistenc-) PersistencePolicy, [FName](API\Runtime\Core\UObject\FName) InGroupDependency )


code: int32 AddElements ( int32 NumElements ) const


description: Copy from another attribute ( create if necessary )

code: void Copy ( const [TManagedArrayAccessor](API\Runtime\Chaos\GeometryCollection\TManagedArrayAccessor)< T > & FromAttribute )


description: Fill the attribute with a specific value

code: void Fill ( const T & Value )


description: Find the attribute for read only

code: const [TManagedArray](API\Runtime\Chaos\GeometryCollection\TManagedArray)< T > * Find() const


code: const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & GetConstCollection() const


description: Get the attribute for read only

code: const [TManagedArray](API\Runtime\Chaos\GeometryCollection\TManagedArray)< T > & Get() const


code: bool IsValidIndex ( int32 Index ) const


description: Get the attribute for modification

code: [TManagedArray](API\Runtime\Chaos\GeometryCollection\TManagedArray)< T > & Modify()


description: Per index modification

code: void ModifyAt ( int32 Index, const T & NewValue )


description: Array style accessor

code: const T & operator[] ( int32 Index ) const


code: TManagedArrayAccessor ( const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & InCollection, const [FName](API\Runtime\Core\UObject\FName) & InAttributeName, const [FName](API\Runtime\Core\UObject\FName) & InAttributeGroup, const [FName](API\Runtime\Core\UObject\FName) & InGroupDependency )


code: TManagedArrayAccessor ( [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & InCollection, const [FName](API\Runtime\Core\UObject\FName) & InAttributeName, const [FName](API\Runtime\Core\UObject\FName) & InAttributeGroup, const [FName](API\Runtime\Core\UObject\FName) & InGroupDependency )


className: TManagedArrayAccessor

description: This class wraps a managed array this provides a convenient API for optional attributes in a collection facade

code: template<typename T> struct TManagedArrayAccessor


description: DO NOT USE DIRECTLY STL-like iterators to enable range-based for loop support.


code: bool Contains ( const [ElementType](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase\ElementType) & Item ) const


description: Copy from a predefined Array of matching type

code: virtual void CopyRange ( const [FManagedArrayBase](API\Runtime\Chaos\GeometryCollection\FManagedArrayBase) & ConstArray, int32 Start, int32 Stop, int32 Offset )


description: Count the number of entries match `Item_.

code: int32 Count ( const [ElementType](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase\ElementType) & Item ) const


className: ElementType

code: typedef InElementType ElementType


description: Perform a memory move between the two arrays

code: virtual void ExchangeArrays ( [FManagedArrayBase](API\Runtime\Chaos\GeometryCollection\FManagedArrayBase) & Src )


description: Fill the array with `Value_.

code: void Fill ( const [ElementType](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase\ElementType) & Value )


description: Find first index of the element

code: int32 Find ( const [ElementType](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase\ElementType) & Item ) const


description: Get allocated memory

code: virtual SIZE_T GetAllocatedSize() const


description:
Helper function for returning the internal const array
const array of all the elements

code: const [TArray](API\Runtime\Core\Containers\TArray)< [ElementType](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase\ElementType) > & GetConstArray()


code: const [TArray](API\Runtime\Core\Containers\TArray)< [ElementType](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase\ElementType) > & GetConstArray() const


description:
Helper function for returning a typed pointer to the first array entry.
Pointer to first array entry or nullptr if ArrayMax == 0.


code: const [ElementType](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase\ElementType) * GetData() const


description: Init from a predefined Array of matching type

code: virtual void Init ( const [FManagedArrayBase](API\Runtime\Chaos\GeometryCollection\FManagedArrayBase) & NewArray )


description:
Helper function returning the size of the inner type.
Size in bytes of array type.

code: virtual size_t GetTypeSize() const


description: Return true if index is in array range.

code: bool IsValidIndex ( int32 Index ) const


description: The reserved length of the array.

code: virtual int32 Max() const


description:
Returning the size of the array
Array size

code: virtual int32 Num() const


description: Assignment operator

code: [TManagedArrayBase](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase) & operator= ( [TManagedArrayBase](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase)< [ElementType](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase\ElementType) > && Other )


code: [TManagedArrayBase](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase) & operator= ( [TArray](API\Runtime\Core\Containers\TArray)< [ElementType](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase\ElementType) > && Other )


description:
Returning a reference to the element at index.
Array element reference

code: [ElementType](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase\ElementType) & operator[] ( int Index )


code: const [ElementType](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase\ElementType) & operator[] ( int Index ) const


description: Checks if index is in array range.

code: void RangeCheck ( int32 Index ) const


description: Remove elements

code: virtual void RemoveElements ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & SortedDeletionList )


description: Serialization Support

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


description: Constructor (default) Build an empty shared array

code: TManagedArrayBase()


description: Constructor (TArray)

code: TManagedArrayBase ( const [TArray](API\Runtime\Core\Containers\TArray)< [ElementType](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase\ElementType) > & Other )


description: Copy Constructor (default)

code: TManagedArrayBase ( const [TManagedArrayBase](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase)< [ElementType](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase\ElementType) > & Other )


description: Move Constructor

code: TManagedArrayBase ( [TManagedArrayBase](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase)< [ElementType](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase\ElementType) > && Other )


code: TManagedArrayBase ( [TArray](API\Runtime\Core\Containers\TArray)< [ElementType](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase\ElementType) > && Other )


description: Virtual Destructor

code: virtual ~TManagedArrayBase()


className: TManagedArrayBase

code: template<class InElementType> class TManagedArrayBase : public [FManagedArrayBase](API\Runtime\Chaos\GeometryCollection\FManagedArrayBase)


className: TManagedArray< bool >

code: template<> class TManagedArray< bool > : public [FManagedBitArrayBase](API\Runtime\Chaos\GeometryCollection\FManagedBitArrayBase)


className: TManagedArray< FIntVector >::operator=

code: TManagedArray & operator&61; &40; TManagedArray< FIntVector > && Other &41;


className: TManagedArray< FIntVector >::Reindex

description: Reindex - Adjust index dependent elements. Offsets is the size of the dependent group; Final is post resize of dependent group used for bounds checking on remapped indices.

code: virtual void Reindex &40; const TArray< int32 > & Offsets, const int32 & FinalSize, const TArray< int32 > & SortedDeletionList, const TSet< int32 > & DeletionSet &41;


description: Set default values.

code: virtual void SetDefaults &40; uint32 StartSize, uint32 NumElements, bool bHasGroupIndexDependency &41;


description: Reindex given a lookup table

code: virtual void ReindexFromLookup &40; const TArray< int32 > & InverseNewOrder &41;


code: TManagedArray &40; const TArray< FIntVector > & Other &41;


code: TManagedArray &40; const TManagedArray< FIntVector > & Other &41;


code: TManagedArray &40; TArray< FIntVector > && Other &41;


code: TManagedArray &40; TManagedArray< FIntVector > && Other &41;


className: TManagedArray< FIntVector2 >::operator=

code: TManagedArray & operator&61; &40; TManagedArray< FIntVector2 > && Other &41;


className: TManagedArray< FIntVector2 >::Reindex


code: TManagedArray &40; const TArray< FIntVector2 > & Other &41;


className: TManagedArray< FIntVector >

code: template<> class TManagedArray< FIntVector > : public [TManagedArrayBase< FIntVector >](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase)


code: TManagedArray &40; const TManagedArray< FIntVector2 > & Other &41;


code: TManagedArray &40; TManagedArray< FIntVector2 > && Other &41;


code: TManagedArray &40; TArray< FIntVector2 > && Other &41;


className: TManagedArray< FIntVector2 >

code: template<> class TManagedArray< FIntVector2 > : public [TManagedArrayBase< FIntVector2 >](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase)


className: TManagedArray< FIntVector4 >::Reindex


className: TManagedArray< FIntVector4 >::operator=

code: TManagedArray & operator&61; &40; TManagedArray< FIntVector4 > && Other &41;


code: TManagedArray &40; const TArray< FIntVector4 > & Other &41;


code: TManagedArray &40; const TManagedArray< FIntVector4 > & Other &41;


code: TManagedArray &40; TManagedArray< FIntVector4 > && Other &41;


code: TManagedArray &40; TArray< FIntVector4 > && Other &41;


className: TManagedArray< FIntVector4 >

code: template<> class TManagedArray< FIntVector4 > : public [TManagedArrayBase< FIntVector4 >](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase)


className: TManagedArray< int32 >::operator=

code: TManagedArray & operator&61; &40; TManagedArray< int32 > && Other &41;


className: TManagedArray< int32 >::Reindex

code: virtual void Reindex &40; const TArray< int32 > & Offsets, const int32 & FinalSize, const TArray< int32 > & SortedDeletionList, const TSet< int32 > & DeletionSet &41;


description: Reindex given a lookup table

code: virtual void ReindexFromLookup &40; const TArray< int32 > & InverseNewOrder &41;


className: TManagedArray< int32 >::SetDefaults

description: Set default values.

code: virtual void SetDefaults &40; uint32 StartSize, uint32 NumElements, bool bHasGroupIndexDependency &41;


className: TManagedArray< int32 >::TManagedArray

code: TManagedArray &40; const TArray< int32 > & Other &41;


code: TManagedArray &40; const TManagedArray< int32 > & Other &41;


code: TManagedArray &40; TManagedArray< int32 > && Other &41;


code: TManagedArray &40; TArray< int32 > && Other &41;


className: TManagedArray< int32 >::~TManagedArray

code: virtual &126;TManagedArray&40;&41;


description: Compute surface area and contact estimates for two convex hulls in the same local space, with the second hull optionally expanded.

code: namespace UE { namespace GeometryCollectionConvexUtility { void UE::GeometryCollectionConvexUtility::HullIntersectionStats ( const ::[Chaos::FConvex](API\Runtime\Chaos\Chaos\FConvex) * HullA, const ::[Chaos::FConvex](API\Runtime\Chaos\Chaos\FConvex) * HullB, float HullBExpansion, float & OutArea, float & OutMaxArea, float & OutSharpContact, float & OutMaxSharpContact ) } }


className: TManagedArray< int32 >

code: template<> class TManagedArray< int32 > : public [TManagedArrayBase< int32 >](API\Runtime\Chaos\GeometryCollection\TManagedArrayBase)


description: Compute the intersection of ClipHull and UpdateHull, with ClipHull optionally offset, and place the result in ResultHull. Note ResultHull can point to the same FConvex as UpdateHull. If optional transforms are provided, ClipHull will be transformed into the local space of UpdateHull, and finally transformed by UpdateToResultTransform. Otherwise, all FConvex are assumed to be in the same coordinate space.

code: namespace UE { namespace GeometryCollectionConvexUtility { void UE::GeometryCollectionConvexUtility::IntersectConvexHulls ( ::[Chaos::FConvex](API\Runtime\Chaos\Chaos\FConvex) * ResultHull, const ::[Chaos::FConvex](API\Runtime\Chaos\Chaos\FConvex) * ClipHull, float ClipHullOffset, const ::[Chaos::FConvex](API\Runtime\Chaos\Chaos\FConvex) * UpdateHull, const FTransform * ClipHullTransform, const FTransform * UpdateHullTransform, const FTransform * UpdateToResultTransform, double SimplificationDistanceThreshold ) } }


code: virtual float GetMinDeltaVelocityForHitEvents() const


code: virtual int32 GetPhysicsHistoryCount() const


code: virtual bool GetPhysicsPredictionEnabled() const


code: virtual bool GetPhysicsResimulationEnabled() const


code: virtual float GetResimulationErrorThreshold() const


className: IChaosSettingsProvider

description: Class that external users can implement and set on the module to provide various settings to the system (seeFChaosSolversModule::SetSettingsProvider)

code: class IChaosSettingsProvider


code: [UClass](API\Runtime\CoreUObject\UObject\UClass) * GetSolverActorClass() const


className: IChaosSolverActorClassProvider

description: Classes that want to set the solver actor class can implement this.

code: class IChaosSolverActorClassProvider


code: bool GetInterestedProxyOwners ( [TArray](API\Runtime\Core\Containers\TArray)< [UObject](API\Runtime\CoreUObject\UObject\UObject) * > & Output ) const


code: void HandleEvent ( const void * EventData ) const


className: IEventHandler

description: Interface for event handler

code: class IEventHandler


description: Called after any presim callbacks are triggered and after physics data has marshalled over in order to modify the sim callback outputs

code: virtual void ApplyCallbacks_Internal ( int32 PhysicsStep, const [TArray](API\Runtime\Core\Containers\TArray)< [ISimCallbackObject](API\Runtime\Chaos\Chaos\ISimCallbackObject) * > & SimCallbackObjects )


code: virtual void InjectInputs_External ( int32 PhysicsStep, int32 NumSteps )


description: Called after each rewind step. This is to give user code the opportunity to trigger other code after each rewind step Usually to simulate external systems that ran in lock step with the physics sim

code: virtual void PostResimStep_Internal ( int32 PhysicsStep )


description: Called before each rewind step. This is to give user code the opportunity to trigger other code before each rewind step Usually to simulate external systems that ran in lock step with the physics sim

code: virtual void PreResimStep_Internal ( int32 PhysicsStep, bool bFirstStep )


description: Called before any inputs are marshalled over to the physics thread. The physics state has not been applied yet, and cannot be inspected anyway because this is triggered from the external thread (game thread) Gives user the ability to modify inputs or record them - this can help with reducing latency if you want to act on inputs immediately

code: virtual void ProcessInputs_External ( int32 PhysicsStep, const [TArray](API\Runtime\Core\Containers\TArray)< [FSimCallbackInputAndObject](API\Runtime\Chaos\Chaos\FSimCallbackInputAndObject) > & SimCallbackInputs )


description: Called before any sim callbacks are triggered but after physics data has marshalled over This means brand new physics particles are already created for example, and any pending game thread modifications have happened SeeISimCallbackObjectfor recording inputs to callbacks associated with this PhysicsStep

code: virtual void ProcessInputs_Internal ( int32 PhysicsStep, const [TArray](API\Runtime\Core\Containers\TArray)< [FSimCallbackInputAndObject](API\Runtime\Chaos\Chaos\FSimCallbackInputAndObject) > & SimCallbackInputs )


description: Register a sim callback onto the rewind callback

code: virtual void RegisterRewindableSimCallback_Internal ( [ISimCallbackObject](API\Runtime\Chaos\Chaos\ISimCallbackObject) * Callback )


description: Called after sim step to give the option to rewind. Any pending inputs for the next frame will remain in the queue Return the PhysicsStep to start resimulating from. Resim will run up until latest step passed into RecordInputs (i.e. latest physics sim simulated so far) Return INDEX_NONE to indicate no rewind

code: virtual int32 TriggerRewindIfNeeded_Internal ( int32 LatestStepCompleted )


description: Called When resim is finished with debug information about the resim

code: virtual void SetResimDebugInfo_Internal ( const [FResimDebugInfo](API\Runtime\Chaos\FResimDebugInfo) & ResimDebugInfo )


className: IRewindCallback

description: Used by user code to determine when rewind should occur and gives it the opportunity to record any additional data

code: class IRewindCallback

RewindData

description: Rewind Data holding the callback


code: static bool Helper ( const [THandle](API\Runtime\Chaos\Chaos\Framework\THandle) & Handle )


className: NoEntryInSync

description: NoEntryInSync< THandle, T, false >

code: template<typename [THandle](API\Runtime\Chaos\Chaos\Framework\THandle), typename T, bool bNoEntryIsHead> struct NoEntryInSync


className: NoEntryInSync< THandle, T, false >::Helper

code: static bool Helper &40; const THandle & Handle &41;


className: NoEntryInSync< THandle, T, false >

code: template<typename [THandle](API\Runtime\Chaos\Chaos\Framework\THandle), typename T> struct NoEntryInSync< THandle, T, false >


description: Update the particle handles integer parameters based on the field evaluation

code: namespace Chaos { static void Chaos::FieldIntegerParameterUpdate ( [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidSolver, const [FFieldSystemCommand](API\Runtime\Chaos\Field\FFieldSystemCommand) & FieldCommand, [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * > & ParticleHandles, [FFieldContext](API\Runtime\Chaos\Field\FFieldContext) & FieldContext, [Chaos::FPBDPositionConstraints](API\Runtime\Chaos\Chaos\FPBDPositionConstraints) & PositionTarget, [TMap](API\Runtime\Core\Containers\TMap)< int32, int32 > & TargetedParticles, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & FinalResults ) }


description: Update the particle handles scalar parameters based on the field evaluation

code: namespace Chaos { static void Chaos::FieldScalarParameterUpdate ( [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidSolver, const [FFieldSystemCommand](API\Runtime\Chaos\Field\FFieldSystemCommand) & FieldCommand, [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * > & ParticleHandles, [FFieldContext](API\Runtime\Chaos\Field\FFieldContext) & FieldContext, [Chaos::FPBDPositionConstraints](API\Runtime\Chaos\Chaos\FPBDPositionConstraints) & PositionTarget, [TMap](API\Runtime\Core\Containers\TMap)< int32, int32 > & TargetedParticles, [TArray](API\Runtime\Core\Containers\TArray)< float > & FinalResults ) }


code: namespace Chaos { static void Chaos::FieldVectorForceUpdate ( [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidSolver, const [FFieldSystemCommand](API\Runtime\Chaos\Field\FFieldSystemCommand) & FieldCommand, [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * > & ParticleHandles, [FFieldContext](API\Runtime\Chaos\Field\FFieldContext) & FieldContext, [TArray](API\Runtime\Core\Containers\TArray)< FVector > & FinalResults ) }


description: Init the enable/disable boolean array of the particle handles to be processed by the field

code: namespace Chaos { static void Chaos::InitActivateDisabledResults ( const [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * > & ParticleHandles, [FFieldContext](API\Runtime\Chaos\Field\FFieldContext) & FieldContext, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & LocalResults ) }


description: Update the particle handles vector parameters based on the field evaluation

code: namespace Chaos { static void Chaos::FieldVectorParameterUpdate ( [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidSolver, const [FFieldSystemCommand](API\Runtime\Chaos\Field\FFieldSystemCommand) & FieldCommand, [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * > & ParticleHandles, [FFieldContext](API\Runtime\Chaos\Field\FFieldContext) & FieldContext, [Chaos::FPBDPositionConstraints](API\Runtime\Chaos\Chaos\FPBDPositionConstraints) & PositionTarget, [TMap](API\Runtime\Core\Containers\TMap)< int32, int32 > & TargetedParticles, [TArray](API\Runtime\Core\Containers\TArray)< FVector > & FinalResults ) }


description: Init the dynamics state of the particle handles to be processed by the field

code: namespace Chaos { static void Chaos::InitDynamicStateResults ( const [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * > & ParticleHandles, [FFieldContext](API\Runtime\Chaos\Field\FFieldContext) & FieldContext, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & LocalResults ) }


description: Report the dynamic state result onto the handle

code: namespace Chaos { static bool Chaos::ReportDynamicStateResult ( [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidSolver, const [Chaos::EObjectStateType](API\Runtime\Chaos\Chaos\Chaos__EObjectStateType) FieldState, [Chaos::FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * RigidHandle, const bool HasInitialLinearVelocity, const [Chaos::FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & InitialLinearVelocity, const bool HasInitialAngularVelocity, const [Chaos::FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & InitialAngularVelocity ) }


description: Set the dynamic state of a particle handle

code: namespace Chaos { static void Chaos::SetParticleDynamicState ( [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidSolver, const [Chaos::EObjectStateType](API\Runtime\Chaos\Chaos\Chaos__EObjectStateType) FieldState, [Chaos::FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * RigidHandle ) }


description: Build the sample points positions and indices based on the resolution and filter type

code: namespace Chaos { template<typename PhysicsProxy> static bool Chaos::BuildFieldSamplePoints ( PhysicsProxy * LocalProxy, [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidSolver, const [FFieldSystemCommand](API\Runtime\Chaos\Field\FFieldSystemCommand) & FieldCommand, [FFieldExecutionDatas](API\Runtime\Chaos\Field\FFieldExecutionDatas) & ExecutionDatas, EFieldResolutionType & PrevResolutionType, EFieldFilterType & PrevFilterType, EFieldObjectType & PrevObjectType, EFieldPositionType & PrevPositionType ) }


description: Update the handle disable linear and angular theshold

code: namespace Chaos { static void Chaos::UpdateMaterialDisableThreshold ( [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidSolver, [Chaos::FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * RigidHandle, const [Chaos::FReal](API\Runtime\ChaosCore\Chaos\FReal) ResultThreshold ) }


description: Update the handle sleeping linear and angular theshold

code: namespace Chaos { static void Chaos::UpdateMaterialSleepingThreshold ( [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidSolver, [Chaos::FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * RigidHandle, const [Chaos::FReal](API\Runtime\ChaosCore\Chaos\FReal) ResultThreshold ) }


description: Update all the clustered particles object state to static/kinematic if one of its children state has been changed to static/kinematic

code: namespace Chaos { static void Chaos::UpdateSolverParticlesState ( [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidSolver, const [TFieldArrayView](API\Runtime\Chaos\Field\TFieldArrayView)< [FFieldContextIndex](API\Runtime\Chaos\Field\FFieldContextIndex) > & UpdatedParticleIndices, const [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * > & Particles ) }


code: int32 Add ( const FTransform & InitialXf, Chaos::TBox< [Chaos::FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * Box )


code: int32 Add ( const FTransform & InitialXf, Chaos::FCapsule * Capsule )


code: int32 Add ( const FTransform & InitialXf, [Chaos::TSphere](API\Runtime\Chaos\Chaos\TSphere)< [Chaos::FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * Sphere )


code: int32 Add ( const FTransform & InitialXf, [Chaos::FConvex](API\Runtime\Chaos\Chaos\FConvex) * ConvexHull )


code: int32 Add ( const FTransform & InitialXf, [Chaos::FLevelSet](API\Runtime\Chaos\Chaos\FLevelSet) * LevelSet )


code: void AddChild ( [FAnalyticImplicitGroup](API\Runtime\Chaos\PhysicsProxy\FAnalyticImplicitGroup) * Child )


code: [Chaos::FMassProperties](API\Runtime\Chaos\Chaos\FMassProperties) BuildMassProperties ( const [Chaos::FReal](API\Runtime\ChaosCore\Chaos\FReal) Density, [Chaos::FReal](API\Runtime\ChaosCore\Chaos\FReal) & TotalMass )


code: [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > * BuildSamplePoints ( const [Chaos::FReal](API\Runtime\ChaosCore\Chaos\FReal) ParticlesPerUnitArea, const int32 MinParticles, const int32 MaxParticles )


code: [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< int32 > > BuildSampleTopology() const


description: Transfers ownership of sub structures to the returned implicit object.


code: int32 Add ( const FTransform & InitialXf, [Chaos::FTaperedCylinder](API\Runtime\Chaos\Chaos\FTaperedCylinder) * TaperedCylinder )


code: void CullDeepPoints ( [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & Points, const int32 SkipIndex )


code: template<class TImplicitShape> void CullDeepPoints ( [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & Points, const TImplicitShape & Shape, const FTransform & Xf )


code: const [FName](API\Runtime\Core\UObject\FName) & GetBoneName() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticImplicitGroup](API\Runtime\Chaos\PhysicsProxy\FAnalyticImplicitGroup) * > & GetChildren() const


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


code: const [FAnalyticImplicitGroup](API\Runtime\Chaos\PhysicsProxy\FAnalyticImplicitGroup) * GetParent() const


code: const int32 GetParentBoneIndex() const


code: void Init ( const int32 NumStructures, const bool DoCollGeom )


description: The number of analytic shapes in this group.

code: int32 NumStructures() const


code: void SetCollisionTopology ( const int32 Index, [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > && Points, [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< int32 >> && Triangles )


code: void SetParent ( [FAnalyticImplicitGroup](API\Runtime\Chaos\PhysicsProxy\FAnalyticImplicitGroup) * InParent )


code: void SetParentBoneIndex ( const int32 InParentBoneIndex )


code: void SetRigidBodyId ( const int32 InRigidBodyId )


code: void SetRigidBodyState ( const EObjectStateTypeEnum State )


code: [Chaos::FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) * TransferImplicitObj ( int32 Idx )


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


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


code: FAnalyticImplicitGroup ( const [FName](API\Runtime\Core\UObject\FName) & InBoneName, const int32 InBoneIndex )


className: FAnalyticImplicitGroup

description: Currently we use this class to represent bones even if they don't have any implicit shapes.

code: class FAnalyticImplicitGroup

BoneName

type: FName

Boxes

type: TArray< Chaos::...

description: FKBoxElem.

Capsules

description: FKSphylElem- Z axis is capsule axis.

Children

type: TArray<FAnalyt...

CollisionPoints

type: TArray<TArray<...

ConvexHulls

description: FKConvexElem.

LevelSets

description: Chaos::TConvex replacement.

Parent

type: FAnalyticImplic...

Spheres

description: FkSphereElem andFKTaperedCapsuleElemends.

TaperedCylinders

description: FKTaperedCapsuleElem- Z axis is the capsule axis.

Transforms

type: TArray< FTransf...


description: Write the output constraint data from the physics thread to the buffer

code: void BufferPhysicsResults ( [FDirtyCharacterGroundConstraintData](API\Runtime\Chaos\Chaos\FDirtyCharacterGroundConstraintD-) & Buffer )


description: Deletes the game thread constraint.

code: void DestroyOnGameThread()


description: Member Access.


description: Removes references to the physics thread constraint and deletes it.

code: void DestroyOnPhysicsThread ( [FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * InSolver )


description: IPhysicsProxyBaseImplementation.

code: virtual void * GetHandleUnsafe() const


code: const [FCharacterGroundConstraint](API\Runtime\Chaos\Chaos\Character\FCharacterGroundConstraint) * GetGameThreadAPI() const


code: const [FCharacterGroundConstraintHandle](API\Runtime\Chaos\Chaos\Character\FCharacterGroundConstraintHandle) * GetPhysicsThreadAPI() const


description: Gets the data from the game thread via the RemoteData and creates a constraint on the physics thread

code: void InitializeOnPhysicsThread ( [FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * InSolver, [FDirtyPropertiesManager](API\Runtime\Chaos\Chaos\FDirtyPropertiesManager) & Manager, int32 DataIdx, [FDirtyChaosProperties](API\Runtime\Chaos\Chaos\FDirtyChaosProperties) & RemoteData )


description: Write the output constraint data from the buffer to the game thread.

code: bool PullFromPhysicsState ( const [FDirtyCharacterGroundConstraintData](API\Runtime\Chaos\Chaos\FDirtyCharacterGroundConstraintD-) & Buffer, const int32 SolverSyncTimestamp )


description: Pushes any changed data from the game thread constraint to the remote data.

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


description: Reads changed data from the game thread constraint into the physics thread constraint via the remote data.

code: void PushStateOnPhysicsThread ( [FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * InSolver, const [FDirtyPropertiesManager](API\Runtime\Chaos\Chaos\FDirtyPropertiesManager) & Manager, int32 DataIdx, const [FDirtyChaosProperties](API\Runtime\Chaos\Chaos\FDirtyChaosProperties) & RemoteData )


code: FCharacterGroundConstraintProxy ( [FCharacterGroundConstraint](API\Runtime\Chaos\Chaos\Character\FCharacterGroundConstraint) * InConstraintGT, [FCharacterGroundConstraintHandle](API\Runtime\Chaos\Chaos\Character\FCharacterGroundConstraintHandle) * InConstraintPT, [UObject](API\Runtime\CoreUObject\UObject\UObject) * InOwner )


className: FCharacterGroundConstraintProxy

description: Proxy class to manage access to and syncing of character ground constraint data between the game thread and physics thread

code: class FCharacterGroundConstraintProxy : public [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase)


className: FClusterUnionChildData

code: struct FClusterUnionChildData

ParticleIdx

type: FUniqueIdx


className: FClusterUnionInitData

code: struct FClusterUnionInitData

bCheckConnectivity

type: bool


code: void AddForceCallback ( [FParticlesType](API\Runtime\Chaos\Chaos\Framework\TPhysicsProxy\FParticlesType) & InParticles, const float InDt, const int32 InIndex )


description: Add physics objects to the cluster union. Should only be called from the game thread.

code: void AddPhysicsObjects_External ( const [TArray](API\Runtime\Core\Containers\TArray)< [FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) > & Objects )


code: void BufferPhysicsResults_External ( [FDirtyClusterUnionData](API\Runtime\Chaos\Chaos\FDirtyClusterUnionData) & BufferData )


code: void BindParticleCallbackMapping ( [Chaos::TArrayCollectionArray](API\Runtime\Engine\Physics\Experimental\TArrayCollectionArray)< [PhysicsProxyWrapper](API\Runtime\Chaos\Chaos\Framework\PhysicsProxyWrapper) > & PhysicsProxyReverseMap, [Chaos::TArrayCollectionArray](API\Runtime\Engine\Physics\Experimental\TArrayCollectionArray)< int32 > & ParticleIDReverseMap )


code: void BufferPhysicsResults_Internal ( [FDirtyClusterUnionData](API\Runtime\Chaos\Chaos\FDirtyClusterUnionData) & BufferData )


code: void BulkSetChildToParent_External ( const [TArray](API\Runtime\Core\Containers\TArray)< [FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) > & Objects, const [TArray](API\Runtime\Core\Containers\TArray)< FTransform > & Transforms, bool bLock )


code: static EPhysicsProxyType ConcreteType()


code: void CreateRigidBodyCallback ( [FParticlesType](API\Runtime\Chaos\Chaos\Framework\TPhysicsProxy\FParticlesType) & InOutParticles )


code: void DisableCollisionsCallback ( [TSet](API\Runtime\Core\Containers\TSet)< [TTuple](API\Runtime\Core\Misc\TTuple)< int32, int32 >> & InPairs )


code: void EndFrameCallback ( const float InDt )


className: FExternalParticle

description: The mismatch here is fine since we really only need to sync a few properties between the PT and the GT.

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


className: FInternalParticle

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


description: Todo: remove this

code: virtual void * GetHandleUnsafe() const


code: const [FProxyInterpolationBase](API\Runtime\Chaos\Chaos\Framework\FProxyInterpolationBase) & GetInterpolationData() const


description: Set Object State.


code: const [FClusterUnionSyncedData](API\Runtime\Chaos\PhysicsProxy\FClusterUnionSyncedData) & GetSyncedData_External() const


description: Cluster union proxy initialization happens in two first on the game thread (external) then on the physics thread (internal). Cluster unions are a primarily physics concept so the things exposed to an external context is just there to be able to safely query the state on the physics thread and to be able to add/remove things to the proxy itself (rather than to move it, for example).

code: void Initialize_External()


code: void Initialize_Internal ( [FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidsSolver, [FPBDRigidsSolver::FParticlesType](API\Runtime\Chaos\FPBDRigidsSolver\FParticlesType) & Particles )


code: bool PullFromPhysicsState ( const [FDirtyClusterUnionData](API\Runtime\Chaos\Chaos\FDirtyClusterUnionData) & PullData, int32 SolverSyncTimestamp, const [FDirtyClusterUnionData](API\Runtime\Chaos\Chaos\FDirtyClusterUnionData) * NextPullData, const [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) * Alpha )


description: These functions take care of marshaling data back and forth between the game thread and the physics thread.

code: void PushToPhysicsState ( const [FDirtyPropertiesManager](API\Runtime\Chaos\Chaos\FDirtyPropertiesManager) & Manager, int32 DataIdx, const [FDirtyProxy](API\Runtime\Chaos\Chaos\FDirtyProxy) & Dirty )


description: Remove physics objects from the cluster union.

code: void RemovePhysicsObjects_External ( const [TSet](API\Runtime\Core\Containers\TSet)< [FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) > & Objects )


code: void SetAngularVelocity_External ( const FVector & W )


code: void SetChildToParent_External ( [FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) Child, const FTransform & RelativeTransform, bool bLock )


description: Set/Remove any anchors on the cluster particle.

code: void SetIsAnchored_External ( bool bIsAnchored )


code: void SetLinearVelocity_External ( const FVector & V )


description: Set GT geometry - this is only for smoothing over any changes until the PT syncs back to the GT.

code: void SetSharedGeometry_External ( const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [Chaos::FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject), ESPMode::ThreadSafe > & Geometry, const [TArray](API\Runtime\Core\Containers\TArray)< [FPBDRigidParticle](API\Runtime\Chaos\Chaos\FPBDRigidParticle) * > & ShapeParticles )


code: void SetObjectState_External ( [EObjectStateType](API\Runtime\Chaos\Chaos\Chaos__EObjectStateType) State )


code: void SetXR_External ( const FVector & X, const FQuat & R )


code: void StartFrameCallback ( const float InDt, const float InTime )


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


code: void UpdateKinematicBodiesCallback ( const [FParticlesType](API\Runtime\Chaos\Chaos\Framework\TPhysicsProxy\FParticlesType) & InParticles, const float InDt, const float InTime, FKinematicProxy & InKinematicProxy )


code: FClusterUnionPhysicsProxy ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * InOwner, const [FClusterCreationParameters](API\Runtime\Chaos\Chaos\FClusterCreationParameters) & InParameters, const [FClusterUnionInitData](API\Runtime\Chaos\PhysicsProxy\FClusterUnionInitData) & InInitData )


className: FClusterUnionPhysicsProxy

code: class FClusterUnionPhysicsProxy : public [TPhysicsProxy< FClusterUnionPhysicsProxy, void, FClusterUnionProxyTimestamp >](API\Runtime\Chaos\Chaos\Framework\TPhysicsProxy)


className: FClusterUnionSyncedData

description: Extra data that needs to be synced between the PT and GT for cluster unions.

code: struct FClusterUnionSyncedData

bIsAnchored

description: Whether the cluster is anchored or not.

ChildParticles

type: TArray<FCluste...

description: Data on every child particle in the cluster union.


className: FConstraintProxy

code: template<typename T> class FConstraintProxy


className: FDamageData

code: struct FDamageData


code: const [FDamageData](API\Runtime\Chaos\PhysicsProxy\FDamageCollector\FDamageData) & operator[] ( int32 TransformIndex ) const


className: FDamageCollector

description: The watcher collects runtime data about damage on each piece of the geometry collection

code: struct FDamageCollector


code: void SampleDamage ( int32 TransformIndex, float Damage, float DamageThreshold )


code: static [FGeometryCollectionItemIndex](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionItemIndex) CreateFromExistingItemIndex ( int32 ItemIndex )


code: static [FGeometryCollectionItemIndex](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionItemIndex) CreateInternalClusterItemIndex ( int32 ClusterUniqueIdx )


code: static [FGeometryCollectionItemIndex](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionItemIndex) CreateTransformItemIndex ( int32 TransformIndex )


code: int32 GetInternalClusterIndex() const


className: InternalClusterBaseIndex

code: static const int32 InternalClusterBaseIndex = TNumericLimits<int32>::Lowest();


code: bool operator== ( const [FGeometryCollectionItemIndex](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionItemIndex) & Other ) const


code: FGeometryCollectionItemIndex ( const [FGeometryCollectionItemIndex](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionItemIndex) & Other )


code: FGeometryCollectionItemIndex &40; int32 Index, bool bInternalCluster &41;


className: FGeometryCollectionItemIndex

description: Index abstraction for HitResults this allows regular bones and internal clusters to be represented by a unique int32 index that can be passed to HitResults and in return understood by the geometry collection physics proxy

code: struct FGeometryCollectionItemIndex


code: void AddForceCallback ( [FParticlesType](API\Runtime\Chaos\Chaos\Framework\TPhysicsProxy\FParticlesType) & InParticles, const float InDt, const int32 InIndex )


description: Adjust scalar mass to account for per component scale properties ( from material override and world transform scale )

code: float AdjustMassForScale ( float Mass ) const


description: Adjust inertia to account for per component scale properties ( from material override and world transform scale )

code: [Chaos::FVec3f](API\Runtime\ChaosCore\Chaos\FVec3f) AdjustInertiaForScale ( const [Chaos::FVec3f](API\Runtime\ChaosCore\Chaos\FVec3f) & Inertia ) const


code: void ApplyAngularVelocity_External ( [FGeometryCollectionItemIndex](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionItemIndex) ItemIndex, const FVector & AngularVelocity )


code: void ApplyBreakingAngularVelocity_External ( [FGeometryCollectionItemIndex](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionItemIndex) ItemIndex, const FVector & AngularVelocity )


code: void ApplyExternalStrain_External ( [FGeometryCollectionItemIndex](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionItemIndex) ItemIndex, const FVector & WorldLocation, float Radius, int32 PropagationDepth, float PropagationFactor, float StrainValue )


code: void ApplyBreakingLinearVelocity_External ( [FGeometryCollectionItemIndex](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionItemIndex) ItemIndex, const FVector & LinearVelocity )


code: void ApplyForceAt_External ( FVector Force, FVector WorldLocation )


code: void ApplyImpulseAt_External ( FVector Force, FVector WorldLocation )


code: void ApplyInternalStrain_External ( [FGeometryCollectionItemIndex](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionItemIndex) ItemIndex, const FVector & WorldLocation, float Radius, int32 PropagationDepth, float PropagationFactor, float StrainValue )


code: void ApplyLinearVelocity_External ( [FGeometryCollectionItemIndex](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionItemIndex) ItemIndex, const FVector & LinearVelocity )


code: void BindParticleCallbackMapping ( [Chaos::TArrayCollectionArray](API\Runtime\Engine\Physics\Experimental\TArrayCollectionArray)< [PhysicsProxyWrapper](API\Runtime\Chaos\Chaos\Framework\PhysicsProxyWrapper) > & PhysicsProxyReverseMap, [Chaos::TArrayCollectionArray](API\Runtime\Engine\Physics\Experimental\TArrayCollectionArray)< int32 > & ParticleIDReverseMap )


code: void BreakActiveClusters_External()


code: void BreakClusters_External ( [TArray](API\Runtime\Core\Containers\TArray)< [FGeometryCollectionItemIndex](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionItemIndex) > && ItemIndices )


description: Enqueue a fieldCommand_ to be processed byProcessCommands()or `FieldForcesUpdateCallback().

code: void BufferCommand ( [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidsSolver, const [FFieldSystemCommand](API\Runtime\Chaos\Field\FFieldSystemCommand) & Command )


description: Push PT state into the `PhysToGameInterchange_.

code: void BufferPhysicsResults_Internal ( [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * CurrentSolver, [Chaos::FDirtyGeometryCollectionData](API\Runtime\Chaos\Chaos\FDirtyGeometryCollectionData) & BufferData )


description: Push GT state into the `PhysToGameInterchange_ for async physics

code: void BufferPhysicsResults_External ( [Chaos::FDirtyGeometryCollectionData](API\Runtime\Chaos\Chaos\FDirtyGeometryCollectionData) & BufferData )


code: [Chaos::TPBDGeometryCollectionParticleHandle](API\Runtime\Chaos\Chaos\TPBDGeometryCollectionParticleHa-)< [Chaos::FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * BuildNonClusters_Internal ( const uint32 CollectionClusterIndex, [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidsSolver, float Mass, [Chaos::FVec3f](API\Runtime\ChaosCore\Chaos\FVec3f) Inertia )


description: Traverses the parents of TransformGroupIdx counting number of levels, and sets levels array value for TransformGroupIdx and its parents if not yet initialized. If level is already set, retrieve stored level. Uninitialized level array should be correct size and defaulted to zeros.

code: static int32 CalculateAndSetLevel ( int32 TransformGroupIdx, const [TManagedArray](API\Runtime\Chaos\GeometryCollection\TManagedArray)< int32 > & Parent, [TManagedArray](API\Runtime\Chaos\GeometryCollection\TManagedArray)< int32 > & Levels )


code: int32 CalculateEffectiveParticles ( const [FGeometryDynamicCollection](API\Runtime\Chaos\FGeometryDynamicCollection) & DynamicCollection, int32 NumTransform, [TBitArray](API\Runtime\Core\Containers\TBitArray)<> & EffectiveParticles ) const


description: Traverses the parents ofTransformIndex_ inGeometryCollection_, counting the number of levels until the next parent is `INDEX_NONE_.

code: static int32 CalculateHierarchyLevel ( const [FGeometryDynamicCollection](API\Runtime\Chaos\FGeometryDynamicCollection) & DynamicCollection, int32 TransformIndex )


description: Called at the end of `FPBDRigidsSolver::PushPhysicsStateExec()_.

code: void ClearAccumulatedData()


description: Build a physics thread cluster parent particle.CollectionClusterIndex_ - the source geometry collection transform index.ChildHandles_ - physics particle handles of the cluster children. `ChildTransformGroupIndices_ - geometry collection indices of the children.  Parameters - uh, yeah... Other parameters.

code: [Chaos::FPBDRigidClusteredParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidClusteredParticleHandle) * BuildClusters_Internal ( const uint32 CollectionClusterIndex, [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * > & ChildHandles, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & ChildTransformGroupIndices, const [Chaos::FClusterCreationParameters](API\Runtime\Chaos\Chaos\FClusterCreationParameters) & Parameters, const [Chaos::FUniqueIdx](API\Runtime\Chaos\Chaos\FUniqueIdx) * ExistingIndex )


code: float ComputeMaterialBasedDamageThreshold_Internal ( [Chaos::FPBDRigidClusteredParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidClusteredParticleHandle) & ClusteredParticle ) const


code: float ComputeMaterialBasedDamageThreshold_Internal ( int32 TransformIndex ) const


description: Compute user defined damage threshold for a specific transform this account for component level damage threshold as well as size specific ones

code: float ComputeUserDefinedDamageThreshold_Internal ( int32 TransformIndex ) const


code: static EPhysicsProxyType ConcreteType()


code: void CreateNonClusteredParticles ( [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidsSolver, const [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & RestCollection, const [FGeometryDynamicCollection](API\Runtime\Chaos\FGeometryDynamicCollection) & DynamicCollection, const [TBitArray](API\Runtime\Core\Containers\TBitArray)<> & EffectiveParticles )


code: void CreateRigidBodyCallback ( [FParticlesType](API\Runtime\Chaos\Chaos\Framework\TPhysicsProxy\FParticlesType) & InOutParticles )


code: void DirtyAllParticles ( const [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) & RigidsSolver )


code: void DisableCollisionsCallback ( [TSet](API\Runtime\Core\Containers\TSet)< [TTuple](API\Runtime\Core\Misc\TTuple)< int32, int32 >> & InPairs )


code: void EndFrameCallback ( const float InDt )


code: void DisableParticles_External ( [TArray](API\Runtime\Core\Containers\TArray)< int32 > && TransformGroupIndices )


className: EReplicationMode

code: enum EReplicationMode { Unknown, Server, Client, }


className: FClusterHandle

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


code: void FieldForcesUpdateCallback ( [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidSolver )


code: void FieldParameterUpdateCallback ( [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidSolver, const bool bUpdateViews )


code: [Chaos::FPBDRigidClusteredParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidClusteredParticleHandle) * FindClusteredParticleHandleByItemIndex_Internal ( [FGeometryCollectionItemIndex](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionItemIndex) ItemIndex ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * FindInternalClusterChildrenTransformIndices_External ( [FGeometryCollectionItemIndex](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionItemIndex) ItemIndex ) const


description: Does nothing as `BufferPhysicsResults()_ already did this.

code: void FlipBuffer()


className: FParticle

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


className: FParticleCollisionFilterData

code: struct FParticleCollisionFilterData


className: FParticleHandle

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


code: [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) > GetAllPhysicsObjects() const


code: const [FGeometryCollectionResults](API\Runtime\Chaos\FGeometryCollectionResults) * GetConsumerResultsGT() const


code: [TManagedArray](API\Runtime\Chaos\GeometryCollection\TManagedArray)< [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FParticle](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionPhysicsProxy\FParticle) > > & GetExternalParticles()


description: Get all the geometry collection particle handles filtered by object state

code: void GetFilteredParticleHandles ( [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< [Chaos::FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * > & Handles, const [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidSolver, const EFieldFilterType FilterType, const EFieldObjectType ObjectType )


description: Implemented so we can construct TAccelerationStructureHandle.

code: virtual void * GetHandleUnsafe() const


code: [FGeometryCollectionItemIndex](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionItemIndex) GetInternalClusterParentItemIndex_External ( int32 ChildTransformIndex ) const


code: const [FProxyInterpolationBase](API\Runtime\Chaos\Chaos\Framework\FProxyInterpolationBase) & GetInterpolationData() const


code: [FGeometryCollectionItemIndex](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionItemIndex) GetItemIndexFromGTParticleNoInternalCluster_External ( const [FParticle](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionPhysicsProxy\FParticle) * GTPParticle ) const


code: [FGeometryCollectionItemIndex](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionItemIndex) GetItemIndexFromGTParticle_External ( const [FParticle](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionPhysicsProxy\FParticle) * GTPParticle ) const


code: [FParticle](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionPhysicsProxy\FParticle) * GetParticleByIndex_External ( int32 Index )


code: const [FParticle](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionPhysicsProxy\FParticle) * GetParticleByIndex_External ( int32 Index ) const


code: [FParticleHandle](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionPhysicsProxy\FParticleHandle) * GetParticleByIndex_Internal ( int32 Index )


code: const [FParticleHandle](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionPhysicsProxy\FParticleHandle) * GetParticleByIndex_Internal ( int32 Index ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FClusterHandle](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionPhysicsProxy\FClusterHandle) * > GetParticles() const


code: [Chaos::FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) GetPhysicsObjectByIndex ( int32 Index ) const


code: void GetRelevantParticleHandles ( [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< [Chaos::FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * > & Handles, const [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidSolver, EFieldResolutionType ResolutionType )


code: const [FSimulationParameters](API\Runtime\Chaos\GeometryCollection\FSimulationParameters) & GetSimParameters() const


code: [TArray](API\Runtime\Core\Containers\TArray)< [FClusterHandle](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionPhysicsProxy\FClusterHandle) * > & GetSolverClusterHandles()


code: [TArray](API\Runtime\Core\Containers\TArray)< [FClusterHandle](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionPhysicsProxy\FClusterHandle) * > & GetSolverParticleHandles()


code: int32 GetTransformGroupIndexFromHandle ( const [FParticleHandle](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionPhysicsProxy\FParticleHandle) * Handle ) const


code: void GetTransformGroupIndicesFromHandles ( const [TArray](API\Runtime\Core\Containers\TArray)< [FParticleHandle](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionPhysicsProxy\FParticleHandle) * > Handles, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & IndicesOut ) const


code: [FName](API\Runtime\Core\UObject\FName) GetTransformName_External ( [FGeometryCollectionItemIndex](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionItemIndex) ItemIndex ) const


description: Construct `PTDynamicCollection_, copying attributes from the game thread, and prepare for simulation.

code: void Initialize ( [Chaos::FPBDRigidsEvolutionBase](API\Runtime\Chaos\Chaos\FPBDRigidsEvolutionBase) * Evolution )


description: Called by solver command registered by `FPBDRigidsSolver::RegisterObject()_.

code: void InitializeBodiesPT ( [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidsSolver, typename [Chaos::FPBDRigidsSolver::FParticlesType](API\Runtime\Chaos\FPBDRigidsSolver\FParticlesType) & Particles )


code: static void InitializeDynamicCollection ( [FGeometryDynamicCollection](API\Runtime\Chaos\FGeometryDynamicCollection) & DynamicCollection, const [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & RestCollection, const [FSimulationParameters](API\Runtime\Chaos\GeometryCollection\FSimulationParameters) & Params )


description: NOTE - Making any changes to data stored on the rest collection below MUST be accompanied by a rotation of the DDC key inFDerivedDataGeometryCollectionCooker::GetVersionString

code: static void InitializeSharedCollisionStructures ( [Chaos::FErrorReporter](API\Runtime\Chaos\Chaos\FErrorReporter) & ErrorReporter, [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & RestCollection, const [FSharedSimulationParameters](API\Runtime\Chaos\GeometryCollection\FSharedSimulationParameters) & SharedParams )


description: Redirects to `BufferGameState()_, and returns nullptr as this class manages data transport to the physics thread itself, without allocating memory.


code: void OnRemoveFromSolver ( [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RBDSolver )


code: void PrepareBufferData ( [Chaos::FDirtyGeometryCollectionData](API\Runtime\Chaos\Chaos\FDirtyGeometryCollectionData) & BufferData, const [FGeometryDynamicCollection](API\Runtime\Chaos\FGeometryDynamicCollection) & ThreadCollection, [Chaos::FReal](API\Runtime\ChaosCore\Chaos\FReal) SolverLastDt )


description: Push data from the game thread to the physics thread

code: void PushStateOnGameThread ( [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * InSolver )


description: Apply the state changes on the physics thread

code: void PushToPhysicsState()


code: void SetAnchoredByIndex_External ( int32 Index, bool bAnchored )


code: void SetAnchoredByTransformedBox_External ( const FBox & Box, const FTransform & Transform, bool bAnchored, int32 MaxLevel )


code: void SetClusteredParticleKinematicTarget_Internal ( [Chaos::FPBDRigidClusteredParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidClusteredParticleHandle) * Handle, const FTransform & WorldTransform )


code: void SetCollisionParticlesPerObjectFraction ( float CollisionParticlesPerObjectFractionIn )


code: void SetEnableDamageFromCollision_External ( bool bEnable )


code: void SetNotifyBreakings_External ( bool bNotify )


description: Pulls data out of the PhysToGameInterchange and updates `GTDynamicCollection_. Called from FPhysScene_ChaosInterface::SyncBodies(), NOT the solver.

code: bool PullFromPhysicsState ( const [Chaos::FDirtyGeometryCollectionData](API\Runtime\Chaos\Chaos\FDirtyGeometryCollectionData) & BufferData, const int32 SolverSyncTimestamp, const [Chaos::FDirtyGeometryCollectionData](API\Runtime\Chaos\Chaos\FDirtyGeometryCollectionData) * NextPullData, const [Chaos::FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) * Alpha )


code: void SetNotifyCrumblings_External ( bool bNotify, bool bIncludeChildren )


code: void SetNotifyGlobalBreakings_External ( bool bNotify )


code: void SetNotifyGlobalCrumblings_External ( bool bNotify, bool bIncludeChildren )


code: void SetNotifyGlobalRemovals_External ( bool bNotify )


code: void SetNotifyRemovals_External ( bool bNotify )


code: void SetPostPhysicsSyncCallback ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void()> Callback )


code: void SetReplicationMode ( [EReplicationMode](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionPhysicsProxy\EReplicationMode) Mode )


code: void SetSleepingState ( const [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) & RigidsSolver )


description: Set the world transform ( this needs to be called on the game thread )

code: void SetWorldTransform_External ( const FTransform & WorldTransform )


code: void StartFrameCallback ( const float InDt, const float InTime )


code: void UpdateFilterData_External ( const [FCollisionFilterData](API\Runtime\Chaos\Chaos\FCollisionFilterData) & NewSimFilter, const [FCollisionFilterData](API\Runtime\Chaos\Chaos\FCollisionFilterData) & NewQueryFilter )


code: void UpdateKinematicBodiesCallback ( const [FParticlesType](API\Runtime\Chaos\Chaos\Framework\TPhysicsProxy\FParticlesType) & InParticles, const float InDt, const float InTime, FKinematicProxy & InKinematicProxy )


code: void UpdatePerParticleFilterData_External ( const [TArray](API\Runtime\Core\Containers\TArray)< [FParticleCollisionFilterData](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionPhysicsProxy\FParticleCollisi-) > & Data )


description: InOwner_InDynamicCollection_ game thread owned geometry collection.InInitFunc_ callback invoked fromInitialize().InCacheSyncFunc_ callback invoked fromPullFromPhysicsState().InFinalSyncFunc_ callback invoked fromSyncBeforeDestory()_.

code: FGeometryCollectionPhysicsProxy ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * InOwner, [FGeometryDynamicCollection](API\Runtime\Chaos\FGeometryDynamicCollection) & GameThreadCollection, const [FSimulationParameters](API\Runtime\Chaos\GeometryCollection\FSimulationParameters) & SimulationParameters, [FCollisionFilterData](API\Runtime\Chaos\Chaos\FCollisionFilterData) InSimFilter, [FCollisionFilterData](API\Runtime\Chaos\Chaos\FCollisionFilterData) InQueryFilter, [FGuid](API\Runtime\Core\Misc\FGuid) InCollectorGuid, const [Chaos::EMultiBufferMode](API\Runtime\Chaos\Chaos\Framework\Chaos__EMultiBufferMode) BufferMode )


className: FGeometryCollectionPhysicsProxy

description: Class to manage sharing data between the game thread and the simulation thread (which may not be different than the game thread) for a `FGeometryDynamicCollection_.

code: class FGeometryCollectionPhysicsProxy : public [TPhysicsProxy< FGeometryCollectionPhysicsProxy, FStubGeometryCollectionData, FGeometryCollectionProxyTimestamp >](API\Runtime\Chaos\Chaos\Framework\TPhysicsProxy)


code: FInitialState ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) MassIn, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InvMassIn, FVector InertiaTensorIn )


code: typedef [TThreadedJointConstraintPhysicsProxyBase](API\Runtime\Chaos\PhysicsProxy\TThreadedJointConstraintPhysicsP-)< true > FJointConstraintHandle_External


code: typedef [TThreadedJointConstraintPhysicsProxyBase](API\Runtime\Chaos\PhysicsProxy\TThreadedJointConstraintPhysicsP-)< false > FJointConstraintHandle_Internal


description: Threading API

code: void BufferPhysicsResults ( [FDirtyJointConstraintData](API\Runtime\Chaos\Chaos\FDirtyJointConstraintData) & Buffer )


code: void DestroyOnPhysicsThread ( [FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * InSolver )


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


code: const [Chaos::FJointConstraintHandle_External](API\Runtime\Chaos\PhysicsProxy\FJointConstraintHandle_External) & GetGameThreadAPI() const


description: Member Access


code: const [FPBDJointConstraintHandle](API\Runtime\Chaos\Chaos\FPBDJointConstraintHandle) * GetHandle() const


description: Todo: remove this

code: virtual void * GetHandleUnsafe() const


code: static [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * GetParticleHandleFromProxy ( [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) * ProxyBase )


description: Note this is a pointer because the internal handle may have already been deleted.


code: const [Chaos::FJointConstraintHandle_Internal](API\Runtime\Chaos\PhysicsProxy\FJointConstraintHandle_Internal) * GetPhysicsThreadAPI() const


description: Lifespan Management

code: void InitializeOnPhysicsThread ( [FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * InSolver, [FDirtyPropertiesManager](API\Runtime\Chaos\Chaos\FDirtyPropertiesManager) & Manager, int32 DataIdx, [FDirtyChaosProperties](API\Runtime\Chaos\Chaos\FDirtyChaosProperties) & RemoteData )


code: bool PullFromPhysicsState ( const [FDirtyJointConstraintData](API\Runtime\Chaos\Chaos\FDirtyJointConstraintData) & Buffer, const int32 SolverSyncTimestamp )


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


code: void PushStateOnPhysicsThread ( [FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * InSolver, const [FDirtyPropertiesManager](API\Runtime\Chaos\Chaos\FDirtyPropertiesManager) & Manager, int32 DataIdx, const [FDirtyChaosProperties](API\Runtime\Chaos\Chaos\FDirtyChaosProperties) & RemoteData )


code: void SetHandle ( [FPBDJointConstraintHandle](API\Runtime\Chaos\Chaos\FPBDJointConstraintHandle) * InHandle )


className: FJointConstraintPhysicsProxy

code: class FJointConstraintPhysicsProxy : public [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase)


code: FJointConstraintPhysicsProxy ( [FJointConstraint](API\Runtime\Chaos\Chaos\FJointConstraint) * InConstraint, [FPBDJointConstraintHandle](API\Runtime\Chaos\Chaos\FPBDJointConstraintHandle) * InHandle, [UObject](API\Runtime\CoreUObject\UObject\UObject) * InOwner )


description: Add the persistent field command

code: void AddPersistentCommand ( const [FFieldSystemCommand](API\Runtime\Chaos\Field\FFieldSystemCommand) & FieldCommand )


description: Add the transient field command

code: void AddTransientCommand ( const [FFieldSystemCommand](API\Runtime\Chaos\Field\FFieldSystemCommand) & FieldCommand )


description: Supported fields: FieldPhysicsType::Field_LinearVelocity EFieldPhysicsType::Field_LinearForce EFieldPhysicsType::Field_AngularVelocity EFieldPhysicsType::Field_AngularrTorque

code: void ComputeFieldRigidImpulse ( const [Chaos::FReal](API\Runtime\ChaosCore\Chaos\FReal) SolverTime )


description: Supported fields: EFieldPhysicsType::Field_LinearVelocity EFieldPhysicsType::Field_LinearForce

code: void ComputeFieldLinearImpulse ( const [Chaos::FReal](API\Runtime\ChaosCore\Chaos\FReal) SolverTime )


description: Supported fields: EFieldPhysicsType::Field_LinearForce EFieldPhysicsType::Field_AngularTorque

code: void FieldForcesUpdateCallback ( [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidSolver )


description: Supported fields: EFieldPhysicsType::Field_DynamicState EFieldPhysicsType::Field_ActivateDisabled EFieldPhysicsType::Field_ExternalClusterStrain (clustering) EFieldPhysicsType::Field_Kill EFieldPhysicsType::Field_LinearVelocity EFieldPhysicsType::Field_AngularVelociy EFieldPhysicsType::Field_SleepingThreshold EFieldPhysicsType::Field_DisableThreshold EFieldPhysicsType::Field_InternalClusterStrain (clustering) EFieldPhysicsType::Field_CollisionGroup EFieldPhysicsType::Field_PositionStatic EFieldPhysicsType::Field_PositionTarget EFieldPhysicsType::Field_PositionAnimated EFieldPhysicsType::Field_DynamicConstraint

code: void FieldParameterUpdateCallback ( [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * InSolver, [Chaos::FPBDPositionConstraints](API\Runtime\Chaos\Chaos\FPBDPositionConstraints) & PositionTarget, [TMap](API\Runtime\Core\Containers\TMap)< int32, int32 > & TargetedParticles )


description: WhenFilterType_ is set toActive_ the complete particle mapping is provided from theParticles.X_ toParticles.Attribute_.

code: static void GetFilteredParticleHandles ( [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * > & ParticleHandles, const [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidSolver, const EFieldFilterType FilterType, const EFieldObjectType ObjectType )


description: Get the const array of the output results given an output type

code: const [TArray](API\Runtime\Core\Containers\TArray)< FVector > & GetOutputResults ( const EFieldCommandOutputType OutputType ) const


description: Get the non const array of the output results given an output type

code: [TArray](API\Runtime\Core\Containers\TArray)< FVector > & GetOutputResults ( const EFieldCommandOutputType OutputType )


description: Get all the non const persistent field commands

code: [TArray](API\Runtime\Core\Containers\TArray)< [FFieldSystemCommand](API\Runtime\Chaos\Field\FFieldSystemCommand) > & GetPersistentCommands()


description: Get all the const persistent field commands

code: const [TArray](API\Runtime\Core\Containers\TArray)< [FFieldSystemCommand](API\Runtime\Chaos\Field\FFieldSystemCommand) > & GetPersistentCommands() const


description: Get the const array of sample indices

code: const [TArray](API\Runtime\Core\Containers\TArray)< [FFieldContextIndex](API\Runtime\Chaos\Field\FFieldContextIndex) > & GetSampleIndices() const


description: WhenResolutionType_ is set toMaximum_ the complete particle mapping is provided from theParticles.X_ toParticles.Attribute_. WhenMinimum_ is set only the ActiveIndices and the direct children of the active clusters are set in theIndicesArray_.

code: static void GetRelevantParticleHandles ( [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * > & ParticleHandles, const [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * RigidSolver, const EFieldResolutionType ResolutionType )


description: Get the non const array of sample indices

code: [TArray](API\Runtime\Core\Containers\TArray)< [FFieldContextIndex](API\Runtime\Chaos\Field\FFieldContextIndex) > & GetSampleIndices()


description: Get the const array of sample positions

code: [TArray](API\Runtime\Core\Containers\TArray)< FVector > & GetSamplePositions()


description: Get the non const array of sample positions

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


description: Get all the non const transient field commands

code: [TArray](API\Runtime\Core\Containers\TArray)< [FFieldSystemCommand](API\Runtime\Chaos\Field\FFieldSystemCommand) > & GetTransientCommands()


description: Get all the const transient field commands

code: const [TArray](API\Runtime\Core\Containers\TArray)< [FFieldSystemCommand](API\Runtime\Chaos\Field\FFieldSystemCommand) > & GetTransientCommands() const


description: Check if a per solver field system has no commands.

code: bool IsEmpty() const


description: Remove the persistent field command

code: void RemovePersistentCommand ( const [FFieldSystemCommand](API\Runtime\Chaos\Field\FFieldSystemCommand) & FieldCommand )


className: FPerSolverFieldSystem

code: class FPerSolverFieldSystem


description: Remove the transient field command

code: void RemoveTransientCommand ( const [FFieldSystemCommand](API\Runtime\Chaos\Field\FFieldSystemCommand) & FieldCommand )


className: FPhysicsProxyKinematicUpdate

code: struct FPhysicsProxyKinematicUpdate

NewTransform

type: FTransform

NewVelocity

type: FVector


className: Base

code: typedef [TThreadedSingleParticlePhysicsProxyBase](API\Runtime\Chaos\PhysicsProxy\TThreadedSingleParticlePhysicsPr-)< true > Base


code: void ClearForces ( bool bInvalidate )


code: void ClearTorques ( bool bInvalidate )


code: bool IsKinematicTargetDirty() const


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


code: void MergeShapesArray ( [FShapesArray](API\Runtime\Chaos\Chaos\FShapesArray) && OtherShapesArray )


code: void RemoveShape ( [FPerShapeData](API\Runtime\Chaos\Chaos\FPerShapeData) * InShape, bool bWakeTouching )


code: void SetCCDEnabled ( bool bEnabled )


description: Todo: geometry should not be owned by particle

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


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


code: void SetIgnoreAnalyticCollisions ( bool bIgnoreAnalyticCollisions )


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 SetMaxAngularSpeedSq ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InNewSpeed )


code: void SetMaxLinearSpeedSq ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InNewSpeed )


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


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


code: void SetR ( const [FRotation3](API\Runtime\ChaosCore\Chaos\FRotation3) & InR, bool bInvalidate )


code: void SetShapeCollisionTraceType ( int32 InShapeIndex, [EChaosCollisionTraceFlag](API\Runtime\Chaos\Chaos\Chaos__EChaosCollisionTraceFlag) TraceType )


code: void SetShapeQueryCollisionEnabled ( int32 InShapeIndex, bool bInEnabled )


description: Note: this must be called after setting geometry. This API seems bad. Should probably be part of setting geometry.

code: void SetShapesArray ( [FShapesArray](API\Runtime\Chaos\Chaos\FShapesArray) && InShapesArray )


code: void SetShapeSimCollisionEnabled ( int32 InShapeIndex, bool bInEnabled )


code: void SetShapeSimData ( int32 InShapeIndex, const [FCollisionFilterData](API\Runtime\Chaos\Chaos\FCollisionFilterData) & SimData )


code: void SetSmoothEdgeCollisionsEnabled ( bool bEnabled )


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


code: void SetUserData ( void * InUserData )


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


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


code: void UpdateShapeBounds ( const FTransform & Transform )


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

code: class FRigidBodyHandle_External : public [Chaos::TThreadedSingleParticlePhysicsProxyBase< true >](API\Runtime\Chaos\PhysicsProxy\TThreadedSingleParticlePhysicsPr-)


code: typedef [TThreadedSingleParticlePhysicsProxyBase](API\Runtime\Chaos\PhysicsProxy\TThreadedSingleParticlePhysicsPr-)< false > Base


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


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


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


code: void SetR ( const [FRotation3](API\Runtime\ChaosCore\Chaos\FRotation3) & InR, bool bInvalidate )


code: class FRigidBodyHandle_Internal : public [Chaos::TThreadedSingleParticlePhysicsProxyBase< false >](API\Runtime\Chaos\PhysicsProxy\TThreadedSingleParticlePhysicsPr-)


code: void AddCollector ( const [FGuid](API\Runtime\Core\Misc\FGuid) & Guid, int32 TransformNum )


code: void RemoveCollector ( const [FGuid](API\Runtime\Core\Misc\FGuid) & Guid )


code: [FDamageCollector](API\Runtime\Chaos\PhysicsProxy\FDamageCollector) * Find ( const [FGuid](API\Runtime\Core\Misc\FGuid) & Guid )


code: static [FRuntimeDataCollector](API\Runtime\Chaos\PhysicsProxy\FRuntimeDataCollector) & GetInstance()


className: FRuntimeDataCollector

code: struct FRuntimeDataCollector


code: void BufferPhysicsResults_External ( [FDirtyRigidParticleData](API\Runtime\Chaos\Chaos\FDirtyRigidParticleData) & )


code: void BufferPhysicsResults ( [FDirtyRigidParticleData](API\Runtime\Chaos\Chaos\FDirtyRigidParticleData) & )


code: static [FSingleParticlePhysicsProxy](API\Runtime\Chaos\PhysicsProxy\FSingleParticlePhysicsProxy) * Create ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FGeometryParticle](API\Runtime\Chaos\Chaos\FGeometryParticle) > && Particle )


code: const [FRigidBodyHandle_External](API\Runtime\Chaos\PhysicsProxy\FRigidBodyHandle_External) & GetGameThreadAPI() const


description: Todo: remove this

code: virtual void * GetHandleUnsafe() const


description: Returns the underlying physics thread particle. Note this should only be needed for internal book keeping type tasks. API may change, use GetPhysicsThreadAPI instead.


code: const [FParticleHandle](API\Runtime\Chaos\PhysicsProxy\FSingleParticlePhysicsProxy\FParticleHandle) * GetHandle_LowLevel() const


code: const [FProxyInterpolationBase](API\Runtime\Chaos\Chaos\Framework\FProxyInterpolationBase) & GetInterpolationData() const


description: Returns the underlying game thread particle. Note this should only be needed for internal book keeping type tasks. API may change, use GetGameThreadAPI instead.

code: const [PARTICLE_TYPE](API\Runtime\Chaos\PhysicsProxy\FSingleParticlePhysicsProxy\PARTICLE_TYPE) * GetParticle_LowLevel() const


code: const [FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) GetPhysicsObject() const


description: Note this is a pointer because the internal handle may have already been deleted.


code: const [FRigidBodyHandle_Internal](API\Runtime\Chaos\PhysicsProxy\FRigidBodyHandle_Internal) * GetPhysicsThreadAPI() const


code: const [FPBDRigidParticle](API\Runtime\Chaos\Chaos\FPBDRigidParticle) * GetRigidParticleUnsafe() const


code: bool PullFromPhysicsState ( const [FDirtyRigidParticleData](API\Runtime\Chaos\Chaos\FDirtyRigidParticleData) & PullData, int32 SolverSyncTimestamp, const [FDirtyRigidParticleData](API\Runtime\Chaos\Chaos\FDirtyRigidParticleData) * NextPullData, const [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) * Alpha, const [FDirtyRigidParticleReplicationErrorData](API\Runtime\Chaos\Chaos\FDirtyRigidParticleReplicationEr-) * Error, const [Chaos::FReal](API\Runtime\ChaosCore\Chaos\FReal) AsyncFixedTimeStep )


code: void PushToPhysicsState ( const [FDirtyPropertiesManager](API\Runtime\Chaos\Chaos\FDirtyPropertiesManager) & Manager, int32 DataIdx, const [FDirtyProxy](API\Runtime\Chaos\Chaos\FDirtyProxy) & Dirty, [FShapeDirtyData](API\Runtime\Chaos\Chaos\FShapeDirtyData) * ShapesData, [FReal](API\Runtime\ChaosCore\Chaos\FReal) ExternalDt )


code: void SetHandle ( [FParticleHandle](API\Runtime\Chaos\PhysicsProxy\FSingleParticlePhysicsProxy\FParticleHandle) * InHandle )


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


code: FSingleParticlePhysicsProxy ( [FSingleParticlePhysicsProxy](API\Runtime\Chaos\PhysicsProxy\FSingleParticlePhysicsProxy) && )


description: Use static Create

code: FSingleParticlePhysicsProxy &40; TUniquePtr< PARTICLE_TYPE > && InParticle, FParticleHandle &42; InHandle, UObject &42; InOwner &41;


code: virtual ~FSingleParticlePhysicsProxy()


code: void AddForceCallback ( [FParticlesType](API\Runtime\Chaos\Chaos\Framework\TPhysicsProxy\FParticlesType) & InParticles, const float InDt, const int32 InIndex )


className: FSingleParticlePhysicsProxy

code: class FSingleParticlePhysicsProxy : public [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase)

Handle

type: FParticleHandle...

Particle

type: TUniquePtr<PAR...

Reference

type: FPhysicsObjectU...


code: void BindParticleCallbackMapping ( [Chaos::TArrayCollectionArray](API\Runtime\Engine\Physics\Experimental\TArrayCollectionArray)< [PhysicsProxyWrapper](API\Runtime\Chaos\Chaos\Framework\PhysicsProxyWrapper) > & PhysicsProxyReverseMap, [Chaos::TArrayCollectionArray](API\Runtime\Engine\Physics\Experimental\TArrayCollectionArray)< int32 > & ParticleIDReverseMap )


code: void BufferCommand ( [Chaos::FPhysicsSolver](API\Runtime\Chaos\Chaos\FPhysicsSolver) * InSolver, const [FFieldSystemCommand](API\Runtime\Chaos\Field\FFieldSystemCommand) & InCommmand )


description: Capture the current animation pose for use by the physics. Called by game thread via the owning component's tick.

code: void CaptureInputs ( const float Dt, const [FInputFunc](API\Runtime\Chaos\PhysicsProxy\FSkeletalMeshPhysicsProxy\FInputFunc) & InputFunc )


code: void CreateRigidBodyCallback ( [FParticlesType](API\Runtime\Chaos\Chaos\Framework\TPhysicsProxy\FParticlesType) & InOutParticles )


code: void DisableCollisionsCallback ( [TSet](API\Runtime\Core\Containers\TSet)< [TTuple](API\Runtime\Core\Misc\TTuple)< int32, int32 >> & InPairs )


code: void EndFrameCallback ( const float InDt )


className: FInputFunc

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< bool(const float Dt, [FSkeletalMeshPhysicsProxyParams](API\Runtime\Chaos\PhysicsProxy\FSkeletalMeshPhysicsProxyParams) &OutParams)> FInputFunc


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


code: const [FSkeletalMeshPhysicsProxyOutputs](API\Runtime\Chaos\PhysicsProxy\FSkeletalMeshPhysicsProxyOutputs) * GetOutputs() const


description: Solver Object interface

code: void Initialize()


code: void ParameterUpdateCallback ( [FParticlesType](API\Runtime\Chaos\Chaos\Framework\TPhysicsProxy\FParticlesType) & InParticles, const float InTime )


code: bool PullFromPhysicsState ( const int32 SolverSyncTimestamp )


code: void PushToPhysicsState ( const [Chaos::FParticleData](API\Runtime\Chaos\Chaos\FParticleData) * )


code: void StartFrameCallback ( const float InDt, const float InTime )


code: FSkeletalMeshPhysicsProxy ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * InOwner, const [FInitFunc](API\Runtime\Chaos\PhysicsProxy\FSkeletalMeshPhysicsProxy\FInitFunc) & InitFunc )


code: void UpdateKinematicBodiesCallback ( const [FParticlesType](API\Runtime\Chaos\Chaos\Framework\TPhysicsProxy\FParticlesType) & Particles, const float Dt, const float Time, FKinematicProxy & Proxy )


className: FSkeletalMeshPhysicsProxy

code: class FSkeletalMeshPhysicsProxy : public [TPhysicsProxy< FSkeletalMeshPhysicsProxy, FSkeletalMeshPhysicsProxyOutputs, FProxyTimestampBase >](API\Runtime\Chaos\Chaos\Framework\TPhysicsProxy)


className: FSkeletalMeshPhysicsProxyInputs

code: struct FSkeletalMeshPhysicsProxyInputs

AngularVelocities

type: TArray< FVector...


className: FSkeletalMeshPhysicsProxyOutputs

code: struct FSkeletalMeshPhysicsProxyOutputs : public [Chaos::FParticleData](API\Runtime\Chaos\Chaos\FParticleData)


className: FSkeletalMeshPhysicsProxyParams

code: struct FSkeletalMeshPhysicsProxyParams

BoneHierarchy

type: FBoneHierarchy

description: Analytic implicit representation

CollisionType

type: ECollisionTypeE...

Density

type: float

InitialTransform

description: Transform hierarchy

MeshVertexPositions

description: Mesh

Name

type: FString

ObjectType

type: EObjectStateTyp...

Triangles

type: TArray< FIntVec...


code: void AddForceCallback ( [FParticlesType](API\Runtime\Chaos\Chaos\Framework\TPhysicsProxy\FParticlesType) & InParticles, const float InDt, const int32 InIndex )


code: void BindParticleCallbackMapping ( [Chaos::TArrayCollectionArray](API\Runtime\Engine\Physics\Experimental\TArrayCollectionArray)< [PhysicsProxyWrapper](API\Runtime\Chaos\Chaos\Framework\PhysicsProxyWrapper) > & PhysicsProxyReverseMap, [Chaos::TArrayCollectionArray](API\Runtime\Engine\Physics\Experimental\TArrayCollectionArray)< int32 > & ParticleIDReverseMap )


code: void BufferCommand ( [Chaos::FPhysicsSolver](API\Runtime\Chaos\Chaos\FPhysicsSolver) * InSolver, const [FFieldSystemCommand](API\Runtime\Chaos\Field\FFieldSystemCommand) & InCommand )


description: Stores latest update, to be applied at next opportunity (via UpdateKinematicBodiesCallback).

code: void BufferKinematicUpdate ( const [FPhysicsProxyKinematicUpdate](API\Runtime\Chaos\PhysicsProxy\FPhysicsProxyKinematicUpdate) & InParamUpdate )


code: void CreateRigidBodyCallback ( [FParticlesType](API\Runtime\Chaos\Chaos\Framework\TPhysicsProxy\FParticlesType) & InOutParticles )


code: void DisableCollisionsCallback ( [TSet](API\Runtime\Core\Containers\TSet)< [TTuple](API\Runtime\Core\Misc\TTuple)< int32, int32 >> & InPairs )


code: void EndFrameCallback ( const float InDt )


className: FCallbackInitFunc

description: Engine interface functions.


className: FShapeParams

code: struct FShapeParams


className: FSyncDynamicFunc

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(const FTransform &)> FSyncDynamicFunc


description: Solver Object interface

code: bool IsSimulating() const


code: void ParameterUpdateCallback ( [FParticlesType](API\Runtime\Chaos\Chaos\Framework\TPhysicsProxy\FParticlesType) & InParticles, const float InTime )


className: Params

code: struct Params

ShapeParams

type: FShapeParams

ShapeType

type: EImplicitTypeEn...

TargetTransform

type: FTransform *...


code: void PushToPhysicsState ( const [Chaos::FParticleData](API\Runtime\Chaos\Chaos\FParticleData) * )


code: bool PullFromPhysicsState ( const int32 SolverSyncTimestamp )


code: void StartFrameCallback ( const float InDt, const float InTime )


code: void UpdateKinematicBodiesCallback ( const [FParticlesType](API\Runtime\Chaos\Chaos\Framework\TPhysicsProxy\FParticlesType) & Particles, const float Dt, const float Time, FKinematicProxy & Proxy )


code: FStaticMeshPhysicsProxy ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * InOwner, [FCallbackInitFunc](API\Runtime\Chaos\PhysicsProxy\FStaticMeshPhysicsProxy\FCallbackInitFunc) InInitFunc, [FSyncDynamicFunc](API\Runtime\Chaos\PhysicsProxy\FStaticMeshPhysicsProxy\FSyncDynamicFunc) InSyncFunc )


className: FStaticMeshPhysicsProxy

code: class FStaticMeshPhysicsProxy : public [TPhysicsProxy< FStaticMeshPhysicsProxy, FStubSkeletalMeshData, FProxyTimestampBase >](API\Runtime\Chaos\Chaos\Framework\TPhysicsProxy)


code: const [FGeometryCollectionResults](API\Runtime\Chaos\FGeometryCollectionResults) * GetStateData() const


code: FStubGeometryCollectionData ( const [FGeometryCollectionResults](API\Runtime\Chaos\FGeometryCollectionResults) * DataIn )


className: FStubGeometryCollectionData

code: class FStubGeometryCollectionData : public [Chaos::FParticleData](API\Runtime\Chaos\Chaos\FParticleData)


className: FStubSkeletalMeshData

code: struct FStubSkeletalMeshData : public [Chaos::FParticleData](API\Runtime\Chaos\Chaos\FParticleData)


code: void DestroyOnPhysicsThread ( [FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * InSolver )


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


description: Member Access


code: const [FPBDSuspensionConstraintHandle](API\Runtime\Chaos\Chaos\FPBDSuspensionConstraintHandle) * GetHandle() const


description: Todo: remove this

code: virtual void * GetHandleUnsafe() const