code: const [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * GetOtherParticle ( const [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * InParticle ) const


description: Get the time of impact. This is as a fraction of total movement and will be in the range [0,1] if a hit was found.

module: Chaos


description: Get the sweep impact position for the specified body NOTE: See class comments.

code: [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) GetWorldSweepHitLocation ( const int32 ParticleIndex ) const


description: Get the sweep impact normal NOTE: See class comments.


description: Accessor functions

code: bool IsSweepHit() const


code: FCCDModifier &40; FCCDModifierAccessor &42; InAccessor, FPBDCollisionConstraint &42; InConstraint &41;


className: FCCDModifier

description: FContactPairModifier

code: class FCCDModifier


description: Get an object which allows for range iteration over the CCD modifiers for a particle.

code: [FCCDModifierParticleRange](API\Runtime\Chaos\Chaos\FCCDModifierParticleRange) GetModifiers ( [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * Particle )


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


className: FCCDModifierAccessor

description: Provides access to CCD modifiers

code: class FCCDModifierAccessor


className: FCCDModifierParticleIterator

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

code: class FCCDModifierParticleIterator


code: FCCDModifierParticleRange ( [FCCDModifierAccessor](API\Runtime\Chaos\Chaos\FCCDModifierAccessor) * InAccessor, [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * InParticle )


className: FCCDModifierParticleRange

description: Represents all the swept constraints on a particle to allow for iteration.

code: class FCCDModifierParticleRange


code: void AddConstraint ( [FCCDConstraint](API\Runtime\Chaos\Chaos\FCCDConstraint) *const Constraint )


code: void AddOverlappingDynamicParticle ( [FCCDParticle](API\Runtime\Chaos\Chaos\FCCDParticle) *const InParticle )


code: FCCDParticle ( [TPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\TPBDRigidParticleHandle)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * InParticle )


className: FCCDParticle

description: FCCDParticleholds data used for applying CCD constraints. We create aFCCDParticlefor each dynamic particle involved in CCD constraints, but not for kinematic or static particles. The dynamic particle could be CCD-enabled, or not CCD-enabled but colliding with another CCD-enabled dynamic particle.

code: struct FCCDParticle

AttachedCCDConstraints

type: TArray<FCCDCon...

Done

type: bool

OverlappingDynamicParticles

type: TArray<FCCDPar...

Particle

type: TPBDRigidPartic...

TOI

type: FReal


code: template<typename T, ESPMode Mode> void SerializeConstPtr ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< const T, Mode > & Obj )


code: template<typename T> void SerializePtr ( [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< T > & Obj )


code: template<typename T> void SerializePtr ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< T > & Obj )


code: template<typename T, ESPMode Mode> void SerializePtr ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< T, Mode > & Obj )


code: void SetContext ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FChaosArchiveContext](API\Runtime\Chaos\Chaos\FChaosArchiveContext) > && InContext )


code: FChaosArchive ( [FArchive](API\Runtime\Core\Serialization\FArchive) & ArIn )


className: FChaosArchive

code: class FChaosArchive : public [FArchiveProxy](API\Runtime\Core\Serialization\FArchiveProxy)


code: int32 GetObjectTag ( const void * ObjectPtr ) const


code: template<typename T, ESPMode Mode> [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< T, Mode > & ToSharedPointerHelper ( [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< T > & Obj )


className: FChaosArchiveContext

code: class FChaosArchiveContext

ObjToTag

type: TMap< void *...

PendingAdds

type: TSet< void *...

TagToObject

type: TArray< void &#...


code: FChaosArchiveScopedMemory ( [FChaosArchive](API\Runtime\Chaos\Chaos\FChaosArchive) & ArIn, const [FName](API\Runtime\Core\UObject\FName) & SectionName, const bool bAbsorbChildren )


className: FChaosArchiveScopedMemory

code: class FChaosArchiveScopedMemory


code: [FColor](API\Runtime\Core\Math\FColor) GetColorFromShapeType ( [EImplicitObjectType](API\Runtime\Chaos\Chaos\EImplicitObjectType) ShapeType ) const


code: FChaosDebugDrawColorsByShapeType ( [FColor](API\Runtime\Core\Math\FColor) InSimpleTypeColor, [FColor](API\Runtime\Core\Math\FColor) InConvexColor, [FColor](API\Runtime\Core\Math\FColor) InHeightFieldColor, [FColor](API\Runtime\Core\Math\FColor) InTriangleMeshColor, [FColor](API\Runtime\Core\Math\FColor) InLevelSetColor )


className: FChaosDebugDrawColorsByShapeType

code: struct FChaosDebugDrawColorsByShapeType

ConvexColor

type: FColor

SimpleTypeColor

description: Note: add entries in order to avoid serialization issues (but before IsInstanced)


code: [FColor](API\Runtime\Core\Math\FColor) GetColorFromState ( [EObjectStateType](API\Runtime\Chaos\Chaos\Chaos__EObjectStateType) State ) const


code: FChaosDebugDrawColorsByState ( [FColor](API\Runtime\Core\Math\FColor) InDynamicColor, [FColor](API\Runtime\Core\Math\FColor) InSleepingColor, [FColor](API\Runtime\Core\Math\FColor) InKinematicColor, [FColor](API\Runtime\Core\Math\FColor) InStaticColor )


className: FChaosDebugDrawColorsByState

code: struct FChaosDebugDrawColorsByState


className: FChaosDebugDrawJointFeatures

description: A bitmask of features to show when drawing joints.

code: class FChaosDebugDrawJointFeatures


code: FChaosDebugDrawSettings ( [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InArrowSize, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InBodyAxisLen, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InContactLen, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InContactWidth, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InContactPhiWidth, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InContactInfoWidth, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InContactOwnerWidth, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InConstraintAxisLen, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InJointComSize, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InLineThickness, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InDrawScale, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InFontHeight, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InFontScale, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InShapeThicknesScale, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InPointSize, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InVelScale, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InAngVelScale, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InImpulseScale, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InPushOutScale, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) InInertiaScale, int32 InDrawPriority, bool bInShowSimpleCollision, bool bInShowComplexCollision, bool bInShowLevelSetCollision, const [FChaosDebugDrawColorsByState](API\Runtime\Chaos\Chaos\FChaosDebugDrawColorsByState) & InShapesColorsPerState, const [FChaosDebugDrawColorsByShapeType](API\Runtime\Chaos\Chaos\FChaosDebugDrawColorsByShapeType) & InShapesColorsPerShapeType, const [FChaosDebugDrawColorsByState](API\Runtime\Chaos\Chaos\FChaosDebugDrawColorsByState) & InBoundsColorsPerState, const [FChaosDebugDrawColorsByShapeType](API\Runtime\Chaos\Chaos\FChaosDebugDrawColorsByShapeType) & InBoundsColorsPerShapeType )


className: FChaosDebugDrawSettings

code: struct FChaosDebugDrawSettings

AngVelScale

type: FRealSingle

BoundsColorsPerShapeType

type: FChaosDebugDraw...


code: void AddSimCallbackInputData_External ( [ISimCallbackObject](API\Runtime\Chaos\Chaos\ISimCallbackObject) * SimCallbackObject, [FSimCallbackInput](API\Runtime\Chaos\Chaos\FSimCallbackInput) * InputData )


description: Hands pull data off to external thread

code: void FinalizePullData_Internal ( int32 LatestExternalTimestampConsumed, [FReal](API\Runtime\ChaosCore\Chaos\FReal) SimStartTime, [FReal](API\Runtime\ChaosCore\Chaos\FReal) DeltaTime )


description: May record data to history, or may free immediately depending on rewind needs. Either way you should assume data is gone after calling this

code: void FreeDataToHistory_Internal ( [FPushPhysicsData](API\Runtime\Chaos\Chaos\FPushPhysicsData) * PushData )


description: Frees the push data back into the pool. Internal thread should call this when finished processing data

code: void FreeData_Internal ( [FPushPhysicsData](API\Runtime\Chaos\Chaos\FPushPhysicsData) * PushData )


description: Frees the pull data back into the pool. External thread should call this when finished processing data

code: void FreePullData_External ( [FPullPhysicsData](API\Runtime\Chaos\Chaos\FPullPhysicsData) * PullData )


description: Returns the current pull data being written to. This holds the results of dirty data to be read later by external thread


description: Returns the timestamp associated with inputs enqueued.


description: Returns the amount of external time pushed so far. Any external commands or events should be associated with this time


description: Returns the internal step that the current PushData will be associated with once it is marshalled over

code: int32 GetInternalStep_External() const


description: Return the size of the history queue

code: int32 GetNumHistory_Internal() const


description: Grabs the producer data to write into. Should only be called by external thread


description: Pops and returns the earliest pull data available. nullptr means results are not ready or no work is pending


code: void RegisterSimCallbackObject_External ( [ISimCallbackObject](API\Runtime\Chaos\Chaos\ISimCallbackObject) * SimCallbackObject )


code: void RegisterSimCommand_External ( [FSimCallbackCommandObject](API\Runtime\Chaos\Chaos\FSimCallbackCommandObject) * SimCommand )


description: Used to delay marshalled data. This is mainly used for testing at the moment

code: void SetTickDelay_External ( int32 InDelay )


code: void SetHistoryLength_Internal ( int32 InHistoryLength )


description: Returns the history buffer of the latest NumFrames. The history that comes before these frames is discarded

code: [TArray](API\Runtime\Core\Containers\TArray)< [FPushPhysicsData](API\Runtime\Chaos\Chaos\FPushPhysicsData) * > StealHistory_Internal ( int32 NumFrames )


description: Step the internal time forward if possible


description: Step forward using the external delta time. Should only be called by external thread

code: void Step_External ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) ExternalDT, const int32 NumSteps, bool bSolverSubstepped )


code: void UnregisterSimCallbackObject_External ( [ISimCallbackObject](API\Runtime\Chaos\Chaos\ISimCallbackObject) * SimCallbackObject )


className: FChaosMarshallingManager

description: Manages data that gets marshaled from GT to PT using a timestamp

code: class FChaosMarshallingManager


code: static [ECombineMode](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterial\ECombineMode) ChooseCombineMode ( [ECombineMode](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterial\ECombineMode) A, [ECombineMode](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterial\ECombineMode) B )


code: static [FReal](API\Runtime\ChaosCore\Chaos\FReal) CombineHelper ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) A, [FReal](API\Runtime\ChaosCore\Chaos\FReal) B, [ECombineMode](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterial\ECombineMode) Mode )


className: ECombineMode

description: The different combine modes to determine the friction / restitution of two actors. If the two materials have two different combine modes, we use the largest one (Min beats Avg, Max beats Multiply, etc...)

code: enum ECombineMode { Avg, Min, Multiply, Max, }


className: IsSerializablePtr

code: static constexpr bool IsSerializablePtr = true;


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


code: static void StaticSerialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [FChaosPhysicsMaterial](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterial) > & Serializable )


className: FChaosPhysicsMaterial

code: class FChaosPhysicsMaterial

FrictionCombineMode

type: ECombineMode

description: Variable defaults are used for[UChaosPhysicalMaterial](API\Runtime\PhysicsCore\Chaos\UChaosPhysicalMaterial)_UPROPERTY_ defaults.

Strength

type: FChaosPhysicsMa...

UserData

type: void *


code: static void StaticSerialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [FChaosPhysicsMaterialMask](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterialMask) > & Serializable )


className: FChaosPhysicsMaterialMask

code: class FChaosPhysicsMaterialMask

MaskData

type: TArray< uint32 ...


description: Using concrete as default ( lowest values of it )

code: FChaosPhysicsMaterialStrength()


className: FChaosPhysicsMaterialStrength

code: struct FChaosPhysicsMaterialStrength

CompressionStrength

type: float

TensileStrength

description: Unit is Kg/(cm.s2)


className: FClosestPhysicsObjectResult

code: struct FClosestPhysicsObjectResult

ClosestDistance

type: double

ClosestLocation

type: FVector


className: EConnectionMethod

code: enum EConnectionMethod { PointImplicit = 0, DelaunayTriangulation, MinimalSpanningSubsetDelaunayTriangulation, PointImplicitAugmentedWithMinimalDelaunay, BoundsOverlapFilteredDelaunayTriangulation, None, }


code: FClusterCreationParameters ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) CoillisionThicknessPercentIn, int32 MaxNumConnectionsIn, bool bCleanCollisionParticlesIn, bool bCopyCollisionParticlesIn, bool bGenerateConnectionGraphIn, [EConnectionMethod](API\Runtime\Chaos\Chaos\FClusterCreationParameters\EConnectionMethod) ConnectionMethodIn, [FReal](API\Runtime\ChaosCore\Chaos\FReal) ConnectionGraphBoundsFilteringMarginIn, [FBVHParticles](API\Runtime\Chaos\Chaos\FBVHParticles) * CollisionParticlesIn, [Chaos::TPBDRigidClusteredParticleHandle](API\Runtime\Chaos\Chaos\TPBDRigidClusteredParticleHandle)< [Chaos::FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * ClusterParticleHandleIn, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & ScaleIn, bool bIsAnchoredIn )


className: FClusterCreationParameters

code: struct FClusterCreationParameters

bCleanCollisionParticles

type: bool

CollisionParticles

type: FBVHParticles&...

ConnectionMethod

type: EConnectionMeth...


className: FClusterDestoryParameters

code: struct FClusterDestoryParameters

bReturnInternalOnly

type: bool:  true


className: FClusterUnion

code: struct FClusterUnion

bAnchorLock

description: Whether or not the anchor got set by the GT and we shouldn't try to recompute its value.

bCheckConnectivity

description: Whether or not we need to check for connectivity for this cluster union.

bNeedsXRInitialization

description: Whether or not the position/rotation needs to be computed the first time a particle is added.

ChildParticles

type: TArray<FPBDRig...

description: All the particles that belong to this cluster.

ChildProperties

type: TMap<FPBDRigid...

description: Additional properties that are only relevant for particles that have been added into a cluster union.

ClusterUnionParameters

type: FClusterUnionCr...

description: Other parameters that aren't related to clusters generally but are related to info we need about the cluster union.

ExplicitIndex

type: FClusterUnionEx...

description: An explicit index set by the user if any.

InternalCluster

type: FPBDRigidCluste...

description: The root cluster particle that we created internally to represent the cluster.

InternalIndex

type: FClusterUnionIn...

description: The internal index used to reference the cluster union.

Parameters

type: FClusterCreatio...

description: Need to remember the parameters used to create the cluster so we can update it later.

PendingConnectivityOperations

type: TArray< TPair< ...

description: Pending particles that need to be added into the connectivity graph.

SharedGeometry

type: TSharedPtr<FIm...

description: The thread-safe collision geometry that can be shared between the GT and PT.


className: FClusterUnionChildToParentUpdate

code: struct FClusterUnionChildToParentUpdate

ChildToParent

type: FTransform


className: FClusterUnionCreationParameters

code: struct FClusterUnionCreationParameters

UniqueIndex

type: constFUniqueId...


className: FClusterUnionIndex

code: typedef int32 FClusterUnionIndex


code: void AddPendingClusterIndexOperation ( [FClusterUnionIndex](API\Runtime\Chaos\Chaos\FClusterUnionIndex) Index, [EClusterUnionOperation](API\Runtime\Chaos\Chaos\Chaos__EClusterUnionOperation) Op, const [TArray](API\Runtime\Core\Containers\TArray)< [FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * > & Particles )


description: Creates a new cluster union with an automatically assigned cluster union index.

code: [FClusterUnionIndex](API\Runtime\Chaos\Chaos\FClusterUnionIndex) CreateNewClusterUnion ( const [FClusterCreationParameters](API\Runtime\Chaos\Chaos\FClusterCreationParameters) & Parameters, const [FClusterUnionCreationParameters](API\Runtime\Chaos\Chaos\FClusterUnionCreationParameters) & ClusterUnionParameters )


description: Add a new operation to the queue. Note that we currently only support the pending/flush operations for explicit operations. The behavior is legacy anyway so this should be fine.

code: void AddPendingExplicitIndexOperation ( [FClusterUnionExplicitIndex](API\Runtime\Chaos\Chaos\FClusterUnionExplicitIndex) Index, [EClusterUnionOperation](API\Runtime\Chaos\Chaos\Chaos__EClusterUnionOperation) Op, const [TArray](API\Runtime\Core\Containers\TArray)< [FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * > & Particles )


code: template<[EThreadContext](API\Runtime\Chaos\Framework\Chaos__EThreadContext) Id> static [FImplicitObjectTransformed](API\Runtime\Chaos\Chaos\FImplicitObjectTransformed) * CreateTransformGeometryForClusterUnion ( [TThreadRigidParticle](API\Runtime\Chaos\Chaos\TThreadRigidParticle)< Id > * Child, const FTransform & Frame )


description: Destroy a given cluster union.

code: void DestroyClusterUnion ( [FClusterUnionIndex](API\Runtime\Chaos\Chaos\FClusterUnionIndex) Index )


className: FClusterOpMap

code: typedef [TMap](API\Runtime\Core\Containers\TMap)< [EClusterUnionOperation](API\Runtime\Chaos\Chaos\Chaos__EClusterUnionOperation), [TArray](API\Runtime\Core\Containers\TArray)< [FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * >> FClusterOpMap


description: Access the cluster union externally.

code: [FClusterUnion](API\Runtime\Chaos\Chaos\FClusterUnion) * FindClusterUnion ( [FClusterUnionIndex](API\Runtime\Chaos\Chaos\FClusterUnionIndex) Index )


description: Access the cluster union externally.

code: [FClusterUnion](API\Runtime\Chaos\Chaos\FClusterUnion) * FindClusterUnionFromExplicitIndex ( [FClusterUnionExplicitIndex](API\Runtime\Chaos\Chaos\FClusterUnionExplicitIndex) Index )


code: [FClusterUnionIndex](API\Runtime\Chaos\Chaos\FClusterUnionIndex) FindClusterUnionIndexFromParticle ( [FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * Particle )


description: Will be called at the beginning of every time step to ensure that all the expected cluster unions have been modified.

code: void FlushPendingOperations()


code: [FClusterUnion](API\Runtime\Chaos\Chaos\FClusterUnion) * FindClusterUnionFromParticle ( [FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * Particle )


description: Returns all cluster unions. Really meant only to be used for debugging.

code: const [TMap](API\Runtime\Core\Containers\TMap)< [FClusterUnionIndex](API\Runtime\Chaos\Chaos\FClusterUnionIndex), [FClusterUnion](API\Runtime\Chaos\Chaos\FClusterUnion) > & GetAllClusterUnions() const


description: Actually performs the change specified in the FClusterUnionOperationData structure.

code: void HandleAddOperation ( [FClusterUnionIndex](API\Runtime\Chaos\Chaos\FClusterUnionIndex) ClusterIndex, const [TArray](API\Runtime\Core\Containers\TArray)< [FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * > & Particles, bool bReleaseClustersFirst )


description: Update cluster union properties here if they were deferred. This can be called manually but will otherwise also be handled in FlushPendingOperations.


description: Helper function to remove particles given only the particle handle. This will consult the lookup table to find which cluster the particle is in before doing a normal remove operation.

code: void HandleRemoveOperationWithClusterLookup ( const [TArray](API\Runtime\Core\Containers\TArray)< [FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * > & InParticles, [EClusterUnionOperationTiming](API\Runtime\Chaos\Chaos\Chaos__EClusterUnionOperationTim-) UpdateClusterPropertiesTiming )


description: Removes the specified particles from the specified cluster.

code: void HandleRemoveOperation ( [FClusterUnionIndex](API\Runtime\Chaos\Chaos\FClusterUnionIndex) ClusterIndex, const [TArray](API\Runtime\Core\Containers\TArray)< [FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * > & Particles, [EClusterUnionOperationTiming](API\Runtime\Chaos\Chaos\Chaos__EClusterUnionOperationTim-) UpdateClusterPropertiesTiming )


description: Performs the queued child to parent modifications.

code: void HandleUpdateChildToParentOperation ( [FClusterUnionIndex](API\Runtime\Chaos\Chaos\FClusterUnionIndex) ClusterIndex, const [TArray](API\Runtime\Core\Containers\TArray)< [FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * > & Particles )


description: An extension to FindClusterUnionIndexFromParticle to check whether or not the given particle is the cluster union particle itself.

code: bool IsClusterUnionParticle ( [FPBDRigidClusteredParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidClusteredParticleHandle) * Particle )


description: Put in a deferred request to update the properties of the specified cluster union. Flags can limit the scope of the update.

code: void RequestDeferredClusterPropertiesUpdate ( [FClusterUnionIndex](API\Runtime\Chaos\Chaos\FClusterUnionIndex) ClusterIndex, [EUpdateClusterUnionPropertiesFlags](API\Runtime\Chaos\Chaos\Chaos__EUpdateClusterUnionProper-) Flags )


description: Update the cluster union's properties after its set of particle changes.

code: void UpdateAllClusterUnionProperties ( [FClusterUnion](API\Runtime\Chaos\Chaos\FClusterUnion) & ClusterUnion, [EUpdateClusterUnionPropertiesFlags](API\Runtime\Chaos\Chaos\Chaos__EUpdateClusterUnionProper-) Flags )


className: TClusterIndexOpMap

code: typedef [TMap](API\Runtime\Core\Containers\TMap)< TIndex, [FClusterOpMap](API\Runtime\Core\Containers\TMap) > TClusterIndexOpMap


description: Changes the ChildToParent of a number of particles in a cluster union. bLock will prevent other functions from overriding the ChildToParent (aside from another call to UpdateClusterUnionParticlesChildToParent).

code: void UpdateClusterUnionParticlesChildToParent ( [FClusterUnionIndex](API\Runtime\Chaos\Chaos\FClusterUnionIndex) Index, const [TArray](API\Runtime\Core\Containers\TArray)< [FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * > & Particles, const [TArray](API\Runtime\Core\Containers\TArray)< FTransform > & ChildToParent, bool bLock )


code: FClusterUnionManager ( [FRigidClustering](API\Runtime\Chaos\Chaos\FRigidClustering) & InClustering, [FPBDRigidsEvolutionGBF](API\Runtime\Chaos\Chaos\FPBDRigidsEvolutionGBF) & InEvolution )


className: FClusterUnionManager

description: This class is used by Chaos to create internal clusters that will cause one or more clusters to simulate together as a single rigid particle.

code: class FClusterUnionManager


className: FClusterUnionParticleProperties

code: struct FClusterUnionParticleProperties

bIsAuxiliaryParticle

description: An auxiliary particle will be removed from the cluster union ifFRigidClustering::HandleConnectivityOnReleaseClusterParticledetects an island made up of only auxiliary particles.


className: FlagsName

code: static const [FName](API\Runtime\Core\UObject\FName) FlagsName;


code: template<typename T> TConstArrayView< T > GetArray ( const [FName](API\Runtime\Core\UObject\FName) & Name ) const


description: Deprecated* uint8 GetFlags(int32) is deprecated and will soon be replaced by ECollectionPropertyFlags GetFlags(int32).

code: uint8 GetFlags ( int32 KeyIndex ) const


description: Deprecated* uint8 GetFlags(const FString&, uint8, int32*) is deprecated and will soon be replaced by ECollectionPropertyFlags GetFlags(const FString&, uint8, int32*).

code: uint8 GetFlags ( const [FString](API\Runtime\Core\Containers\FString) & Key, uint8 Default, int32 * OutKeyIndex ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> T GetHighValue ( int32 KeyIndex ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> T GetHighValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const T & Default, int32 * OutKeyIndex ) const


description: Return the property name (key) for the specified index.

code: const [FString](API\Runtime\Core\Containers\FString) & GetKey ( int32 KeyIndex ) const


description: Return the property index for the specified key if it exists, or INDEX_NONE otherwise.

code: int32 GetKeyIndex ( const [FString](API\Runtime\Core\Containers\FString) & Key ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> T GetLowValue ( int32 KeyIndex ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> T GetLowValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const T & Default, int32 * OutKeyIndex ) const


code: const [FString](API\Runtime\Core\Containers\FString) & GetStringValue ( int32 KeyIndex ) const


description: Deprecated* Use GetStringValue(int32) or GetStringValue(const FString&, const FString&, int32*) instead.

code: const [FString](API\Runtime\Core\Containers\FString) & GetStringValue ( int32 KeyIndex, const [FString](API\Runtime\Core\Containers\FString) & Default ) const


code: [FString](API\Runtime\Core\Containers\FString) GetStringValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [FString](API\Runtime\Core\Containers\FString) & Default, int32 * OutKeyIndex ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> T GetValue ( int32 KeyIndex ) const


code: template<> CHAOS_API bool GetValue ( int32 KeyIndex, const TConstArrayView< FVector3f > & ValueArray ) const


code: template<> CHAOS_API int32 GetValue ( int32 KeyIndex, const TConstArrayView< FVector3f > & ValueArray ) const


code: template<> CHAOS_API float GetValue ( int32 KeyIndex, const TConstArrayView< FVector3f > & ValueArray ) const


code: template<typename T, typename ElementType> T GetValue ( int32 KeyIndex, const TConstArrayView< ElementType > & ValueArray ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> T GetValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const T & Default, int32 * OutKeyIndex ) const


code: FVector2f GetWeightedFloatValue ( int32 KeyIndex ) const


code: FVector2f GetWeightedFloatValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const float & Default, int32 * OutKeyIndex ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> TPair< T, T > GetWeightedValue ( int32 KeyIndex ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> TPair< T, T > GetWeightedValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const T & Default, int32 * OutKeyIndex ) const


code: bool HasAnyFlags ( int32 KeyIndex, [ECollectionPropertyFlags](API\Runtime\Chaos\Chaos\Chaos__Softs__ECollectionPropert-) Flags ) const


className: HighValueName

code: static const [FName](API\Runtime\Core\UObject\FName) HighValueName;


code: bool IsAnimatable ( int32 KeyIndex ) const


code: bool IsAnimatable ( const [FString](API\Runtime\Core\Containers\FString) & Key, bool bDefault, int32 * OutKeyIndex ) const


code: bool IsDirty ( int32 KeyIndex ) const


code: bool IsDirty ( const [FString](API\Runtime\Core\Containers\FString) & Key, bool bDefault, int32 * OutKeyIndex ) const


code: bool IsEnabled ( int32 KeyIndex ) const


code: bool IsEnabled ( const [FString](API\Runtime\Core\Containers\FString) & Key, bool bDefault, int32 * OutKeyIndex ) const


code: bool IsLegacy ( int32 KeyIndex ) const


code: bool IsLegacy ( const [FString](API\Runtime\Core\Containers\FString) & Key, bool bDefault, int32 * OutKeyIndex ) const


code: bool IsStringDirty ( int32 KeyIndex ) const


code: bool IsStringDirty ( const [FString](API\Runtime\Core\Containers\FString) & Key, bool bDefault, int32 * OutKeyIndex ) const


description: Return whether the facade is defined on the collection.

code: bool IsValid() const


className: KeyName

code: static const [FName](API\Runtime\Core\UObject\FName) KeyName;


className: LowValueName

code: static const [FName](API\Runtime\Core\UObject\FName) LowValueName;


description: Return the number of properties in this collection.

code: int32 Num() const


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


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


className: PropertyGroup

description: Attribute groups, predefined data member of the collection.

code: static const [FName](API\Runtime\Core\UObject\FName) PropertyGroup;


description: Rebuild the search map.

code: void RebuildKeyIndices()


code: template<typename CallableType, typename ReturnType> ReturnType SafeGet ( const [FString](API\Runtime\Core\Containers\FString) & Key, CallableType && Callable, ReturnType Default, int32 * OutKeyIndex ) const


className: StringValueName

code: static const [FName](API\Runtime\Core\UObject\FName) StringValueName;


description: Update the array views.

code: void UpdateArrays()


code: FCollectionPropertyConstFacade ( const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) > & InManagedArrayCollection )


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


description: No init constructor forFCollectionPropertyFacade.

code: FCollectionPropertyConstFacade ( const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) > & InManagedArrayCollection, ENoInit )


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


className: FCollectionPropertyConstFacade

description: Defines common API for reading simulation properties data and metadata. This is mainly used for the cloth simulation properties to provide weighted values that works in conjunction with weight maps.

code: class FCollectionPropertyConstFacade

FlagsArray

type: TConstArrayView...

KeyArray

description: Property Group array views.

KeyIndices

type: TMap<FString, ...

description: Key to index search map.

ManagedArrayCollection

type: TSharedPtr< con...

description: Property collection.


code: const [TArrayView](API\Runtime\Core\Containers\TArrayView)< [ECollectionPropertyFlags](API\Runtime\Chaos\Chaos\Chaos__Softs__ECollectionPropert-) > & GetFlagsArray()


code: const [TArrayView](API\Runtime\Core\Containers\TArrayView)< FVector3f > & GetHighValueArray()


code: const [TArrayView](API\Runtime\Core\Containers\TArrayView)< FVector3f > & GetLowValueArray()


code: const [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FString](API\Runtime\Core\Containers\FString) > & GetKeyArray()


description: Access to a writeable ManagedArrayCollection is protected, use an FPropertyCollectionMutableAdapter if needed to get a non const pointer.


code: const [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FString](API\Runtime\Core\Containers\FString) > & GetStringValueArray()


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


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


code: void SetAnimatable ( int32 KeyIndex, bool bAnimatable )


code: int32 SetAnimatable ( const [FString](API\Runtime\Core\Containers\FString) & Key, bool bAnimatable )


code: int32 SetDirty ( const [FString](API\Runtime\Core\Containers\FString) & Key )


description: Deprecated* SetDirty can only be set, to unset use ClearDirtyFlags instead.

code: void SetDirty ( int32 KeyIndex, bool bDirty )


code: int32 SetDirty ( const [FString](API\Runtime\Core\Containers\FString) & Key, bool bDirty )


code: void SetEnabled ( int32 KeyIndex, bool bEnabled )


code: int32 SetEnabled ( const [FString](API\Runtime\Core\Containers\FString) & Key, bool bEnabled )


description: SetFlags cannot be used to remove Dirty or StringDirty flags. Use ClearDirtyFlags to remove dirty flags.

code: void SetFlags ( int32 KeyIndex, [ECollectionPropertyFlags](API\Runtime\Chaos\Chaos\Chaos__Softs__ECollectionPropert-) Flags )


description: Deprecated* UseSetFlags(int32, ECollectionPropertyFlags)instead.

code: void SetFlags ( int32 KeyIndex, uint8 Flags )


code: int32 SetFlags ( const [FString](API\Runtime\Core\Containers\FString) & Key, [ECollectionPropertyFlags](API\Runtime\Chaos\Chaos\Chaos__Softs__ECollectionPropert-) Flags )


description: Deprecated* UseSetFlags(const FString&, ECollectionPropertyFlags)instead.

code: int32 SetFlags ( const [FString](API\Runtime\Core\Containers\FString) & Key, uint8 Flags )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> void SetHighValue ( int32 KeyIndex, const T & Value )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> int32 SetHighValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const T & Value )


code: void SetLegacy ( int32 KeyIndex, bool bLegacy )


code: int32 SetLegacy ( const [FString](API\Runtime\Core\Containers\FString) & Key, bool bLegacy )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> void SetLowValue ( int32 KeyIndex, const T & Value )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> int32 SetLowValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const T & Value )


code: void SetStringDirty ( int32 KeyIndex )


code: int32 SetStringDirty ( const [FString](API\Runtime\Core\Containers\FString) & Key )


code: void SetStringValue ( int32 KeyIndex, const [FString](API\Runtime\Core\Containers\FString) & Value )


code: int32 SetStringValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [FString](API\Runtime\Core\Containers\FString) & Value )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> void SetValue ( int32 KeyIndex, const T & Value )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> int32 SetValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const T & Value )


code: template<typename T> void SetValue &40; int32 KeyIndex, const TArrayView< T > & ValueArray, const T & Value &41;


code: void SetWeightedFloatValue ( int32 KeyIndex, const FVector2f & Value )


code: int32 SetWeightedFloatValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const FVector2f & Value )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> void SetWeightedValue ( int32 KeyIndex, const T & LowValue, const T & HighValue )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> int32 SetWeightedValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const T & LowValue, const T & HighValue )


code: FCollectionPropertyFacade ( const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) > & InManagedArrayCollection )


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


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


description: No init constructor forFCollectionPropertyMutableFacade.

code: FCollectionPropertyFacade ( const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) > & InManagedArrayCollection, ENoInit )


code: virtual ~FCollectionPropertyFacade()


className: FCollectionPropertyFacade

description: Note: Int property values are stored as float and therefore limited to 24 bits (-16777215 to 16777215).

code: class FCollectionPropertyFacade : public [Chaos::Softs::FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade)


description: Add new properties, and return the index of the first added property.

code: int32 AddProperties ( const [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & Keys, [ECollectionPropertyFlags](API\Runtime\Chaos\Chaos\Chaos__Softs__ECollectionPropert-) Flags )


code: int32 AddProperties ( const [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & Keys, bool bEnabled, bool bAnimatable )


description: Add a single property, and return its index.

code: int32 AddProperty ( const [FString](API\Runtime\Core\Containers\FString) & Key, [ECollectionPropertyFlags](API\Runtime\Chaos\Chaos\Chaos__Softs__ECollectionPropert-) Flags )


code: int32 AddProperty ( const [FString](API\Runtime\Core\Containers\FString) & Key, bool bEnabled, bool bAnimatable )


code: int32 AddStringValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [FString](API\Runtime\Core\Containers\FString) & Value, [ECollectionPropertyFlags](API\Runtime\Chaos\Chaos\Chaos__Softs__ECollectionPropert-) Flags )


code: int32 AddStringValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const [FString](API\Runtime\Core\Containers\FString) & Value, bool bEnabled, bool bAnimatable )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> int32 AddValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const T & Value, [ECollectionPropertyFlags](API\Runtime\Chaos\Chaos\Chaos__Softs__ECollectionPropert-) Flags )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> int32 AddValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const T & Value, bool bEnabled, bool bAnimatable )


code: int32 AddWeightedFloatValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const FVector2f & Value, [ECollectionPropertyFlags](API\Runtime\Chaos\Chaos\Chaos__Softs__ECollectionPropert-) Flags )


code: int32 AddWeightedFloatValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const FVector2f & Value, bool bEnabled, bool bAnimatable )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> int32 AddWeightedValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const T & LowValue, const T & HighValue, [ECollectionPropertyFlags](API\Runtime\Chaos\Chaos\Chaos__Softs__ECollectionPropert-) Flags )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsWeightedType](API\Runtime\Chaos\Chaos\TIsWeightedType)< T >::Value, int >::type> int32 AddWeightedValue ( const [FString](API\Runtime\Core\Containers\FString) & Key, const T & LowValue, const T & HighValue, bool bEnabled, bool bAnimatable )


description: Deprecated* Use SharedPtr version of Append to avoid additional copy.

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


description: Append all properties and values from an existing collection to this property collection. This won't copy any other groups, only data from PropertyGroup. Modified properties will be marked dirty.

code: void Append ( const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) > & InManagedArrayCollection, bool bUpdateExistingProperties )


description: Copy all properties and values from an existing collection to this property collection. Dirty flags will be copied directly. This won't copy any other groups, only data from PropertyGroup. Any pre-xisting data will be removed/replaced.

code: void Copy ( const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & InManagedArrayCollection )


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


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


description: Update all properties and values from an existing collection to this property collection. This won't copy any other groups, only data from PropertyGroup. Modified properties will be marked dirty.

code: void Update ( const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) > & InManagedArrayCollection, [ECollectionPropertyUpdateFlags](API\Runtime\Chaos\Chaos\Chaos__Softs__ECollectionPropert-_1) UpdateFlags )


code: FCollectionPropertyMutableFacade ( const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) > & InManagedArrayCollection )


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


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


className: FCollectionPropertyMutableFacade

description: Defines common API for reading and writing, and adding/removing simulation properties data and metadata. This is mainly used for the cloth simulation properties to provide weighted values that works in conjunction with weight maps.

code: class FCollectionPropertyMutableFacade : public [Chaos::Softs::FCollectionPropertyFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyFacade)


code: FCollidingData ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InLocation, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InAccumulatedImpulse, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InNormal, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InVelocity1, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InVelocity2, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InDeltaVelocity1, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InDeltaVelocity2, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InAngularVelocity1, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InAngularVelocity2, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InMass1, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InMass2, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InPenetrationDepth, [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) * InProxy1, [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) * InProxy2, int32 InShapeIndex1, int32 InShapeIndex2, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InSolverTime )


description: Create this facade's groups and attributes.

code: void DefineSchema()


className: FCollidingData

description: Collision event data stored for use by other systems (e.g. Niagara, gameplay events)

code: struct FCollidingData

bProbe

type: bool

type: FReal

type: FMaterialHandle

type: IPhysicsProxyBa...

description: The pointers to the proxies should be used with caution on the Game Thread.


code: FCollidingDataExt ( const [FCollidingData](API\Runtime\Chaos\Chaos\FCollidingData) & InCollisionData )


code: FCollidingDataExt ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InLocation, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InAccumulatedImpulse, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InNormal, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InVelocity1, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InVelocity2, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InAngularVelocity1, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InAngularVelocity2, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InMass1, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InMass2, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InBoundingboxVolume, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InBoundingboxExtentMin, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InBoundingboxExtentMax, int32 InSurfaceType1, int32 InSurfaceType2 )


className: FCollidingDataExt

description: CollisionData used in the subsystems

code: struct FCollidingDataExt

type: FName


code: FCollisionContactModifier ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FPBDCollisionConstraint](API\Runtime\Chaos\Chaos\Collision\FPBDCollisionConstraint) *const > & InConstraints, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InDt )


className: FCollisionContactModifier

description: Provides interface for iterating over modifiable contact pairs

code: class FCollisionContactModifier

FContactPairModifier

type: friend


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


className: FCollisionData

code: struct FCollisionData

bIsProbe

type: uint8:  1

CollisionTraceType

type: EChaosCollision...

QueryData

type: FCollisionFilte...

UserData

type: void *


code: bool HasFlag ( [Chaos::EFilterFlags](API\Runtime\Chaos\Chaos\Chaos__EFilterFlags) InFlag ) const


className: FCollisionFilterData

code: struct FCollisionFilterData


className: FCollisionModifierCallback

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(const [FCollisionContactModifier](API\Runtime\Chaos\Chaos\FCollisionContactModifier) &)> FCollisionModifierCallback


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


code: [FComplex](API\Runtime\Chaos\Chaos\FComplex) operator+ ( const [FComplex](API\Runtime\Chaos\Chaos\FComplex) Other ) const


code: [FComplex](API\Runtime\Chaos\Chaos\FComplex) & operator-= ( const [FComplex](API\Runtime\Chaos\Chaos\FComplex) Other )


code: [FComplex](API\Runtime\Chaos\Chaos\FComplex) operator* ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Other ) const


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


code: FComplex ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Real, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Imaginary )


className: FConnectivityEdge

code: typedef [TConnectivityEdge](API\Runtime\Chaos\Chaos\TConnectivityEdge)< [FReal](API\Runtime\ChaosCore\Chaos\FReal) > FConnectivityEdge


className: FConnectivityEdgeArray

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< [FConnectivityEdge](API\Runtime\Chaos\Chaos\FConnectivityEdge) > FConnectivityEdgeArray


code: const [FGenericParticleHandleImp](API\Runtime\Chaos\Chaos\FGenericParticleHandleImp) * Get() const


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


code: FConstGenericParticleHandle ( const [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * InHandle )


code: FConstGenericParticleHandle ( const [FGenericParticleHandle](API\Runtime\Chaos\Chaos\FGenericParticleHandle) InHandle )


className: FConstGenericParticleHandle

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

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


className: FConstImplicitObjectPtr

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


code: const [FChaosPhysicsMaterial](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterial) * Get() const


className: FConstMaterialHandle

description: Helper wrapper to encapsulate the access through the material manager Handles returned from the material manager are only designed to be used (resolved) on the game thread by the physics interface.

code: struct FConstMaterialHandle

InnerHandle

type: FChaosConstMate...


code: const [FChaosPhysicsMaterialMask](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterialMask) * Get() const


className: FConstMaterialMaskHandle

code: struct FConstMaterialMaskHandle


className: FConstParticlePair

code: typedef [TVec2](API\Runtime\ChaosCore\Chaos\TVec2)< const [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * > FConstParticlePair


className: FConstPhysicsObjectHandle

code: typedef const FPhysicsObject * FConstPhysicsObjectHandle


className: FParticleHandlePair

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


description: Template=""> static CastType CastTo(EConstraintType InType) { (InType == Type) ? static_cast: nullptr; }

code: template<typename T> T * GetProxy()


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


code: bool IsDirty ( const [EChaosPropertyFlags](API\Runtime\Chaos\Chaos\Chaos__EChaosPropertyFlags) CheckBits ) const


code: bool IsType ( [EConstraintType](API\Runtime\Chaos\Chaos\Chaos__EConstraintType) InType )


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


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


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


code: FConstraintBase ( [EConstraintType](API\Runtime\Chaos\Chaos\Chaos__EConstraintType) InType )


className: FConstraintBase

code: class FConstraintBase

DirtyFlags

type: FDirtyChaosProp...

Type

type: EConstraintType


description: Implemented in ConstraintContainer.h.

code: template<typename T> T * As()


description: Implemented in ConstraintContainer.h.

code: template<typename T> const T * As() const


description: For use when you absolutely know the type (asserted in non-shipping)

code: template<typename T> T * AsUnsafe()


code: template<typename T> const T * AsUnsafe() const


className: FGeometryParticleHandle

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


code: [TVec2](API\Runtime\ChaosCore\Chaos\TVec2)< [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FConstraintHandle\FGeometryParticleHandle) * > GetConstrainedParticles() const


code: [Private::FPBDIslandConstraint](API\Runtime\Chaos\Chaos\Island\FPBDIslandConstraint) * GetConstraintGraphEdge() const


code: const [FPBDConstraintContainer](API\Runtime\Chaos\Chaos\FPBDConstraintContainer) * GetContainer() const


description: From ConstraintHandle.h

code: int32 GetContainerId() const


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


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


description: NOTE: Should only be called by the IslandManager.

code: void SetConstraintGraphEdge ( [Private::FPBDIslandConstraint](API\Runtime\Chaos\Chaos\Island\FPBDIslandConstraint) * InEdge )


code: virtual void SetWasAwakened ( const bool bInWasAwakened )


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


description: Does this constraint have the concept of sleep? (only really used for debug validation)

code: virtual bool SupportsSleeping() const


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


className: FConstraintHandle

description: FIntrusiveConstraintHandle

code: class FConstraintHandle

ConstraintContainer

type: FPBDConstraintC...


className: FConstraintHandleArray

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< [FConstraintHandle](API\Runtime\Chaos\Chaos\FConstraintHandle) * > FConstraintHandleArray


code: [FConstraintHandle](API\Runtime\Chaos\Chaos\FConstraintHandle) * Get() const


code: virtual void SetIsSleeping ( const bool bInIsSleeping )


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


code: operator FConstraintHandle *() const


code: FConstraintHandleHolder ( [FConstraintHandle](API\Runtime\Chaos\Chaos\FConstraintHandle) * InHandle )


className: FConstraintHandleHolder

description: A debugging utility for tracking down dangling constraint issues This acts as a FConstraintHandle*, but caches some extra debug data useful in tracking down dangling pointer issues when they arise.

code: class FConstraintHandleHolder


description: An invalid constraint handle type for initialization and invalidation.

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


description: Whether this type can be cast to the specified type.

code: bool IsA ( const [FConstraintHandleTypeID](API\Runtime\Chaos\Chaos\FConstraintHandleTypeID) & TypeID ) const


code: FConstraintHandleTypeID ( const [FName](API\Runtime\Core\UObject\FName) & InName, const [FConstraintHandleTypeID](API\Runtime\Chaos\Chaos\FConstraintHandleTypeID) * InBaseType )


className: FConstraintHandleTypeID

description: Every constraint container must provide a GetConstraintHandleType() method to get the constraint type for handles that reference the container.

code: class FConstraintHandleTypeID


className: FConstShapeInstanceProxyPtr

code: typedef [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< const [FShapeInstanceProxy](API\Runtime\Chaos\Chaos\FShapeInstanceProxy) > FConstShapeInstanceProxyPtr


className: FConstShapeInstancePtr

code: typedef [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< const [FShapeInstance](API\Runtime\Chaos\Chaos\FShapeInstance) > FConstShapeInstancePtr


description: Convert the constraint between this pair of bodies into a probe. Collision callbacks will still occur if the bodies collide (a contact occurring in contact modification does not mean a contact actually has occurred yet, but that it may)

code: void ConvertToProbe()


description: Disable all contact points for this pair of bodies.

code: void Disable()


description: Enables all contact points for this pair of bodies. This does nothing unlessDisable()was previously called.

code: void Enable()


description: Geometry of specified particle in contact pair.

code: const [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) * GetContactGeometry ( int32 ParticleIdx )


description: Contact point index of point in manifold penetrating the deepest.

code: int32 GetDeepestContactIndex() const


description: Dynamic friction coefficient of contact.


description: InvInertiaScale of particle.

code: [FReal](API\Runtime\ChaosCore\Chaos\FReal) GetInvInertiaScale ( int32 ParticleIdx ) const


description: InvMassScale of particle.

code: [FReal](API\Runtime\ChaosCore\Chaos\FReal) GetInvMassScale ( int32 ParticleIdx ) const


description: Number of contact points in constraint pair. ContactPointIdx must be below number of contacts.

code: int32 GetNumContacts() const


description: Angular velocity of particle.

code: [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) GetParticleAngularVelocity ( int32 ParticleIdx ) const


description: Retrieve physics handles for particles in contact pair.

code: [TVec2](API\Runtime\ChaosCore\Chaos\TVec2)< [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * > GetParticlePair() const


description: Position of particle. For simulated objects: this is PBD predicted position and not previous position before integrating movement.

code: [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) GetParticlePosition ( int32 ParticleIdx ) const


description: Rotation of particle. For simulated objects: this is PBD predicted rotation and not previous rotation before integrating movement.

code: [FRotation3](API\Runtime\ChaosCore\Chaos\FRotation3) GetParticleRotation ( int32 ParticleIdx ) const


description: Linear velocity of particle.

code: [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) GetParticleVelocity ( int32 ParticleIdx ) const


description: Restitution of contact.


description: Restitution threshold of contact. If velocity of object is below this threshold, no restitution is applied.


description: separation of contact locations in direction of normal.

code: [FReal](API\Runtime\ChaosCore\Chaos\FReal) GetSeparation ( int32 ContactPointIdx ) const


description: Get shape pair from constraint.

code: [TVec2](API\Runtime\ChaosCore\Chaos\TVec2)< const [FPerShapeData](API\Runtime\Chaos\Chaos\FPerShapeData) * > GetShapePair() const


description: Transformation from geometry to world.

code: [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) GetShapeToWorld ( int32 ParticleIdx ) const


description: Static friction coefficient of contact.


description: desired separation of contact locations in direction of normal.

code: [FReal](API\Runtime\ChaosCore\Chaos\FReal) GetTargetSeparation ( int32 ContactPointIdx ) const


description: Contact location. This is midpoint of each body's contact location.

code: [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) GetWorldContactLocation ( int32 ContactPointIdx ) const


description: Get contact location on each body in world space.

code: void GetWorldContactLocations ( int32 ContactPointIdx, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutLocation0, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutLocation1 ) const


description:
The contact normal always points away from the second body. E.g., a sphere lying on a flat ground could return a WorldNormal pointing up or down, depending on whether the sphere is the first or second body in the constraint.
Normal of contact in world space.

code: [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) GetWorldNormal ( int32 ContactPointIdx ) const


description: Check to see if a contact point index is disabled.

code: bool IsContactPointDisabled ( int32 ContactPointIdx ) const


description: Modify dynamic friction coefficient of contact.

code: void ModifyDynamicFriction ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) DynamicFriction )


description: Check to see if a contact point index is an edge contact.

code: bool IsEdgeContactPoint ( int32 ContactPointIdx ) const


code: void ModifyInvInertiaScale ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InvInertiaScale, int32 ParticleIdx )


code: void ModifyInvMassScale ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InvMassScale, int32 ParticleIdx )


description: Modify angular velocity. For simulated objects: Previous frame's rotation is modified to maintain PBD implicit velocity.

code: void ModifyParticleAngularVelocity ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) AngularVelocity, int32 ParticleIdx )


description: For simulated objects: this sets PBD predicted position and not position before integrating movement.

code: void ModifyParticlePosition ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) Position, bool bMaintainVelocity, int32 ParticleIdx )


description: For simulated objects: this sets PBD predicted rotation and not rotation before integrating movement.

code: void ModifyParticleRotation ( [FRotation3](API\Runtime\ChaosCore\Chaos\FRotation3) Rotation, bool bMaintainVelocity, int32 ParticleIdx )


description: Modify linear velocity. For simulated objects: Previous frame's position is modified to maintain PBD implicit velocity.

code: void ModifyParticleVelocity ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) Velocity, int32 ParticleIdx )


description: Modify restitution of contact. If object is moving slowly, RestitutionThreshold may need to be lowered if restitution is desired.

code: void ModifyRestitution ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) Restitution )


description: Modify restitution threshold of contact. If velocity of object is below this threshold, no restitution is applied.

code: void ModifyRestitutionThreshold ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) Restitution )


description: Modify static friction coefficient of contact.

code: void ModifyStaticFriction ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) StaticFriction )


description: Modify contact location of each body in world space. If modifying locations and separation, order of operations should be considered.

code: void ModifyWorldContactLocations ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Location0, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Location1, int32 ContactPointIdx )


description: Set the desired separation at the contact point (negative for penetration).

code: void ModifyTargetSeparation ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) TargetSeparation, int32 ContactPointIdx )


description: The contact normal should always point away from the second body.

code: void ModifyWorldNormal ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Normal, int32 ContactPointIdx )


description: Set a contact point disabled.

code: void SetContactPointDisabled ( int32 ContactPointIdx ) const


code: FContactPairModifier ( [FPBDCollisionConstraint](API\Runtime\Chaos\Chaos\Collision\FPBDCollisionConstraint) * InConstraint, [FCollisionContactModifier](API\Runtime\Chaos\Chaos\FCollisionContactModifier) & InModifier )


className: FContactPairModifier

code: class FContactPairModifier


code: bool operator== ( const [FContactPairModifierIterator](API\Runtime\Chaos\Chaos\FContactPairModifierIterator) & Value ) const


code: bool operator!= ( const [FContactPairModifierIterator](API\Runtime\Chaos\Chaos\FContactPairModifierIterator) & Value ) const


code: FContactPairModifierIterator ( [FCollisionContactModifier](API\Runtime\Chaos\Chaos\FCollisionContactModifier) & InModifier )


className: FContactPairModifierIterator

code: class FContactPairModifierIterator


className: FContactPointf

code: typedef TContactPoint< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > FContactPointf


className: FContactPointLargeManifold

description: A set of contact points for a manifold that may be more than 4 points.

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< FContactPoint > FContactPointLargeManifold


className: FContactPointManifold

description: A set of contact points for a manifold (standard size is up to 4 contacts)

code: typedef [TCArray](API\Runtime\Chaos\Chaos\TCArray)< FContactPoint, 4 > FContactPointManifold


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


code: virtual const [FAABB3](API\Runtime\Chaos\Chaos\FAABB3) BoundingBox() const


code: [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FConvex](API\Runtime\Chaos\Chaos\FConvex) > CopyAsConvex() const


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


code: typedef [TAABB](API\Runtime\Chaos\Chaos\TAABB)< [FRealType](API\Runtime\Chaos\Chaos\FConvex\FRealType), 3 > FAABB3Type


description: Finds the first intersecting face at given position

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


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


description:
Given a normal and a face index, compute the most opposing normal associated with the underlying geometry features. For example a sphere swept against a box may not give a normal associated with one of the box faces. This function will return a normal associated with one of the faces.
The most opposing normal associated with the underlying geometry's feature (like a face)

code: virtual [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) FindGeometryOpposingNormal ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & DenormDir, int32 FaceIndex, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OriginalNormal ) const


description: Returns the most opposing face.Indexof the most opposing face

code: virtual int32 FindMostOpposingFace ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Position, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & UnitDir, int32 HintFaceIndex, [FReal](API\Runtime\ChaosCore\Chaos\FReal) SearchDist ) const


description: Get an array of all the plane indices that belong to a vertex (up to MaxVertexPlanes). Returns the number of planes found.

code: int32 FindVertexPlanes ( int32 VertexIndex, int32 * OutVertexPlanes, int32 MaxVertexPlanes ) const


className: FPlaneType

code: typedef [TPlaneConcrete](API\Runtime\Chaos\Chaos\TPlaneConcrete)< [FRealType](API\Runtime\Chaos\Chaos\FConvex\FRealType), 3 > FPlaneType


code: virtual int32 FindMostOpposingFaceScaled ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Position, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & UnitDir, int32 HintFaceIndex, [FReal](API\Runtime\ChaosCore\Chaos\FReal) SearchDist, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Scale ) const


description: Get the nearest point on an edge and the edge vertices Used for manifold generation

code: [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) GetClosestEdge ( int32 PlaneIndexHint, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Position, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutEdgePos0, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutEdgePos1 ) const


code: typedef [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealType](API\Runtime\Chaos\Chaos\FConvex\FRealType) > FVec3Type


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


code: bool GetClosestEdgeVertices ( int32 PlaneIndex, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Position, int32 & OutVertexIndex0, int32 & OutVertexIndex1 ) const


description: Get the nearest point on an edge of the specified face.

code: [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) GetClosestEdgePosition ( int32 PlaneIndex, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Position ) const


description: Get the plane index of one of the two planes using an edge.

code: int32 GetEdgePlane ( int32 EdgeIndex, int32 EdgePlaneIndex ) const


description: Get the vertex index of one of the two vertices in an edge.

code: int32 GetEdgeVertex ( int32 EdgeIndex, int32 EdgeVertexIndex ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FPlaneType](API\Runtime\Chaos\Chaos\FConvex\FPlaneType) > & GetFaces() const


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


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


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


description: Get the index of the plane that most opposes the normal.

code: int32 GetMostOpposingPlane ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Normal ) const


code: int32 GetMostOpposingPlaneScaled ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Normal, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Scale ) const


description: Get the plane at the specified index (e.g., indices from FindVertexPlanes)

code: const [TPlaneConcrete](API\Runtime\Chaos\Chaos\TPlaneConcrete)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > GetPlane ( int32 FaceIndex ) const


code: void GetPlaneNX ( const int32 FaceIndex, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutN, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutX ) const


code: const [FPlaneType](API\Runtime\Chaos\Chaos\FConvex\FPlaneType) & GetPlaneRaw ( int32 FaceIndex ) const


description: Get the vertex index of one of the vertices making up the corners of the specified face.

code: int32 GetPlaneVertex ( int32 PlaneIndex, int32 PlaneVertexIndex ) const


description: The convex structure data (mainly exposed for testing)

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


description: Get the vertex at the specified index (e.g., indices from GetPlaneVertexs)

code: const [FVec3Type](API\Runtime\Chaos\Chaos\FConvex\FVec3Type) & GetVertex ( int32 VertexIndex ) const


code: int32 GetVertexPlanes3 ( int32 VertexIndex, int32 & PlaneIndex0, int32 & PlaneIndex1, int32 & PlaneIndex2 ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FVec3Type](API\Runtime\Chaos\Chaos\FConvex\FVec3Type) > & GetVertices() const


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


description: Returns a winding order multiplier used in the manifold clipping and required when we have negative scales (See ImplicitObjectScaled)


description: Whether the structure data has been created for this convex (will eventually always be true)

code: bool HasStructureData() const


code: bool IntersectPlanes3 ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & X1, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & N1, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & X2, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & N2, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & X3, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & N3, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutX, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) EpsilonSq ) const


code: virtual bool IsPerformanceWarning() const


code: void MovePlanesAndRebuild ( [FRealType](API\Runtime\Chaos\Chaos\FConvex\FRealType) InDelta )


code: virtual bool IsValidGeometry() const


description: The number of vertices that make up the corners of the specified face.

code: int32 NumPlaneVertices ( int32 PlaneIndex ) const


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


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


description: Return the distance to the surface.

code: virtual [FReal](API\Runtime\ChaosCore\Chaos\FReal) PhiWithNormal ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & X, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Normal ) const


description: Find the closest point on the surface, and return the separating distance and axis.

code: virtual [FReal](API\Runtime\ChaosCore\Chaos\FReal) PhiWithNormalScaled ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Pos, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Scale, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Normal ) const


description: Calls[GJKRaycast()](API\Runtime\Chaos\Chaos\Chaos__GJKRaycast)_, which may returntrue_ but 0 forOutTime_, which means the bodies are touching, but not by enough to determineOutPosition_ and `OutNormal_ should be. The burden for detecting this case is deferred to the caller.

code: virtual bool Raycast ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & StartPoint, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Dir, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Length, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTime, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex ) const


code: bool RaycastFast ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & StartPoint, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Dir, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Length, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTime, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex ) const


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


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


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


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


description: Return support point on the shape

code: [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) Support ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Direction, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, int32 & VertexIndex ) const


description: Return support point on the core shape (the convex shape with all planes moved inwards by margin).

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


code: [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) SupportCoreSimd ( const [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) & Direction, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) InMargin ) const


description: SupportCore with non-uniform scale support. This is required for the margin in scaled space to by uniform. Note in this version all the inputs are in outer container's (scaled shape) space

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


code: [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) SupportScaled ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Direction, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Scale, int32 & VertexIndex ) const


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


description: Print all the datas.


description: A one-line summary of the convex.


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


description: IMPORTANT to keep this copy constructor private to avoid unintented expensive copies.

code: FConvex &40; const FConvex & Other &41;


description: NOTE: This constructor will result in approximate COM and volume calculations, since it does not have face indices for surface particles. NOTE: Convex constructed this way will not contain any structure data

code: FConvex ( [TArray](API\Runtime\Core\Containers\TArray)< [FPlaneType](API\Runtime\Chaos\Chaos\FConvex\FPlaneType) > && InPlanes, [TArray](API\Runtime\Core\Containers\TArray)< [FVec3Type](API\Runtime\Chaos\Chaos\FConvex\FVec3Type) > && InVertices )


code: FConvex ( [TArray](API\Runtime\Core\Containers\TArray)< [FPlaneType](API\Runtime\Chaos\Chaos\FConvex\FPlaneType) > && InPlanes, [TArray](API\Runtime\Core\Containers\TArray)< [TArray](API\Runtime\Core\Containers\TArray)< int32 >> && InFaceIndices, [TArray](API\Runtime\Core\Containers\TArray)< [FVec3Type](API\Runtime\Chaos\Chaos\FConvex\FVec3Type) > && InVertices )


code: FConvex ( const [TArray](API\Runtime\Core\Containers\TArray)< [FVec3Type](API\Runtime\Chaos\Chaos\FConvex\FVec3Type) > & InVertices, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) InMargin, [FConvexBuilder::EBuildMethod](API\Runtime\Chaos\Chaos\FConvexBuilder\EBuildMethod) BuildMethod )


className: FConvex

description: Note: While Convex technically supports a margin, the margin is typically a property of the instance wrapper (ImplicitScaled, ImplicitTransformed, or ImplicitInstanced). Usually the margin on the convex itself is zero.

code: class FConvex : public [Chaos::FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject)


code: static void Build ( const [TArray](API\Runtime\Core\Containers\TArray)< [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) > & InVertices, [TArray](API\Runtime\Core\Containers\TArray)< [FPlaneType](API\Runtime\Chaos\Chaos\TPlaneConcrete) > & OutPlanes, [TArray](API\Runtime\Core\Containers\TArray)< [TArray](API\Runtime\Core\Containers\TArray)< int32 >> & OutFaceIndices, [TArray](API\Runtime\Core\Containers\TArray)< [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) > & OutVertices, [FAABB3Type](API\Runtime\Chaos\Chaos\TAABB) & OutLocalBounds, [EBuildMethod](API\Runtime\Chaos\Chaos\FConvexBuilder\EBuildMethod) BuildMethod )


code: static void BuildConvexHull ( const [TArray](API\Runtime\Core\Containers\TArray)< [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) > & InVertices, [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< int32 >> & OutIndices, const [Params](API\Runtime\Chaos\Chaos\FConvexBuilder\Params) & InParams )


code: static [FTriangleMesh](API\Runtime\Chaos\Chaos\FTriangleMesh) BuildConvexHullTriMesh ( const [TArray](API\Runtime\Core\Containers\TArray)< [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) > & InVertices )


code: static void BuildIndices ( const [TArray](API\Runtime\Core\Containers\TArray)< [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) > & InVertices, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & OutResultIndexData, [EBuildMethod](API\Runtime\Chaos\Chaos\FConvexBuilder\EBuildMethod) BuildMethod )


description: Generate the vertex indices for all planes in CCW order (used to serialize old data that did not have structure data)

code: static void BuildPlaneVertexIndices ( [TArray](API\Runtime\Core\Containers\TArray)< [FPlaneType](API\Runtime\Chaos\Chaos\TPlaneConcrete) > & InPlanes, const [TArray](API\Runtime\Core\Containers\TArray)< [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) > & Vertices, [TArray](API\Runtime\Core\Containers\TArray)< [TArray](API\Runtime\Core\Containers\TArray)< int32 >> & OutFaceVertexIndices, const FRealType DistanceTolerance )


code: static bool bUseGeometryTConvexHull3 = true;


className: ComputeHorizonEpsilonFromMeshExtends

code: static int32 ComputeHorizonEpsilonFromMeshExtends = 1;


className: EBuildMethod

code: enum EBuildMethod { Default = 0, Original = 1, ConvexHull3 = 2, }


code: typedef [TAABB](API\Runtime\Chaos\Chaos\TAABB)< FRealType, 3 > FAABB3Type


description: Make sure faces have CCW winding, remove inside points

code: static void FinalizeFaces ( const [FPlaneType](API\Runtime\Chaos\Chaos\TPlaneConcrete) & Face, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & InOutFaceVertexIndices, const [TArray](API\Runtime\Core\Containers\TArray)< [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) > & Vertices )


code: typedef [TPlaneConcrete](API\Runtime\Chaos\Chaos\TPlaneConcrete)< FRealType, 3 > FPlaneType


code: typedef [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< FRealType > FVec3Type


code: static bool IsPlanarShape ( const [TArray](API\Runtime\Core\Containers\TArray)< [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) > & InVertices, [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) & OutNormal )


code: static bool IsPerformanceWarning ( int32 NumPlanes, int32 NumVertices )


code: static bool IsValidQuad ( const [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) & A, const [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) & B, const [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) & C, const [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) & D, [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) & OutNormal )


code: static bool IsValidTriangle ( const [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) & A, const [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) & B, const [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) & C )


code: static bool IsValidTriangle ( const [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) & A, const [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) & B, const [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) & C, [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) & OutNormal )


description: Find edge pairs that are colinear and remove the unnecessary vertex to make a single edge. If we are left with an invalid face (2 verts or less), remove it. NOTE: a vertex in the middle of two colinear edges on one face may still be required by some other face, although technically those faces could (and should) have been merged.

code: static void MergeColinearEdges ( [TArray](API\Runtime\Core\Containers\TArray)< [FPlaneType](API\Runtime\Chaos\Chaos\TPlaneConcrete) > & InOutPlanes, [TArray](API\Runtime\Core\Containers\TArray)< [TArray](API\Runtime\Core\Containers\TArray)< int32 >> & InOutFaceVertexIndices, [TArray](API\Runtime\Core\Containers\TArray)< [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) > & InOutVertices, FRealType AngleToleranceRad )


description: Convert multi-triangle faces to single n-gons.

code: static void MergeFaces ( [TArray](API\Runtime\Core\Containers\TArray)< [FPlaneType](API\Runtime\Chaos\Chaos\TPlaneConcrete) > & InOutPlanes, [TArray](API\Runtime\Core\Containers\TArray)< [TArray](API\Runtime\Core\Containers\TArray)< int32 >> & InOutFaceVertexIndices, const [TArray](API\Runtime\Core\Containers\TArray)< [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) > & Vertices, FRealType DistanceThreshold )


code: static [FString](API\Runtime\Core\Containers\FString) PerformanceWarningString ( int32 NumPlanes, int32 NumVertices )


code: static bool IsFaceOutlineConvex ( const [FPlaneType](API\Runtime\Chaos\Chaos\TPlaneConcrete) & Plane, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Indices, const [TArray](API\Runtime\Core\Containers\TArray)< [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) > & Vertices )


className: PerformGeometryCheck

description: CVars variables for controlling geometry complexity checking and simplification.

code: static int32 PerformGeometryCheck = 0;


className: PerformGeometryReduction

code: static int32 PerformGeometryReduction = 0;


description: IMPORTANT : vertices are assumed to be sorted CCW.

code: static void RemoveInsideFaceVertices ( const [FPlaneType](API\Runtime\Chaos\Chaos\TPlaneConcrete) & Face, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & InOutFaceVertexIndices, const [TArray](API\Runtime\Core\Containers\TArray)< [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) > & Vertices, const [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) & Centroid )


description: Remove any invalid faces ( less than 3 vertices )

code: static void RemoveInvalidFaces ( [TArray](API\Runtime\Core\Containers\TArray)< [FPlaneType](API\Runtime\Chaos\Chaos\TPlaneConcrete) > & InOutPlanes, [TArray](API\Runtime\Core\Containers\TArray)< [TArray](API\Runtime\Core\Containers\TArray)< int32 >> & InOutFaceVertexIndices )


code: static void Simplify ( [TArray](API\Runtime\Core\Containers\TArray)< [FPlaneType](API\Runtime\Chaos\Chaos\TPlaneConcrete) > & InOutPlanes, [TArray](API\Runtime\Core\Containers\TArray)< [TArray](API\Runtime\Core\Containers\TArray)< int32 >> & InOutFaces, [TArray](API\Runtime\Core\Containers\TArray)< [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) > & InOutVertices, [FAABB3Type](API\Runtime\Chaos\Chaos\TAABB) & InOutLocalBounds )


description: Reorder the vertices to be counter-clockwise about the normal.

code: static void SortFaceVerticesCCW ( const [FPlaneType](API\Runtime\Chaos\Chaos\TPlaneConcrete) & Face, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & InOutFaceVertexIndices, const [TArray](API\Runtime\Core\Containers\TArray)< [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) > & Vertices, const [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) & Centroid )


code: static FRealType SuggestEpsilon ( const [TArray](API\Runtime\Core\Containers\TArray)< [FVec3Type](API\Runtime\ChaosCore\Chaos\TVector_T_3) > & InVertices )


code: static bool UseConvexHull3 ( [EBuildMethod](API\Runtime\Chaos\Chaos\FConvexBuilder\EBuildMethod) BuildMethod )


code: typedef [TConvexFlattenedArrayStructureData](API\Runtime\Chaos\Chaos\TConvexFlattenedArrayStructureDa-)< uint8, uint16 > FConvexFlattenedArrayStructureDataU8


className: VerticesThreshold

code: static int32 VerticesThreshold = 50;


code: typedef [TConvexFlattenedArrayStructureData](API\Runtime\Chaos\Chaos\TConvexFlattenedArrayStructureDa-)< int32, int32 > FConvexFlattenedArrayStructureDataS32


code: FConvexFlattenedArrayStructureData()


code: ~FConvexFlattenedArrayStructureData()


className: FConvexFlattenedArrayStructureData

description: Base class forTConvexFlattenedArrayStructureData. NOTE: Deliberately no-virtual destructor so it should never be deleted from a base class pointer.


code: typedef [TConvexHalfEdgeStructureData](API\Runtime\Chaos\Chaos\TConvexHalfEdgeStructureData)< int16 > FConvexHalfEdgeStructureDataS16


description: Typedefs for the supported index sizes.

code: typedef [TConvexHalfEdgeStructureData](API\Runtime\Chaos\Chaos\TConvexHalfEdgeStructureData)< int32 > FConvexHalfEdgeStructureDataS32


code: typedef [TConvexHalfEdgeStructureData](API\Runtime\Chaos\Chaos\TConvexHalfEdgeStructureData)< uint8 > FConvexHalfEdgeStructureDataU8


code: void CopyFrom ( const [FConvexStructureData](API\Runtime\Chaos\Chaos\FConvexStructureData) & Other )


description: Cats the inner data container to the correct index size Do not use - only public for unit tests

code: const [FConvexStructureDataLarge](API\Runtime\Chaos\Chaos\FConvexStructureData\FConvexStructureDataLarge) & DataL() const


code: const [FConvexStructureDataMedium](API\Runtime\Chaos\Chaos\FConvexStructureData\FConvexStructureDataMedium) & DataM() const


code: const [FConvexStructureDataSmall](API\Runtime\Chaos\Chaos\FConvexStructureData\FConvexStructureDataSmall) & DataS() const


className: EIndexType

description: Note: this is serialized (do not change order without adding a new ObjectVersion and legacy load path)

code: enum EIndexType { None, Small, Medium, Large, }


code: int32 FindVertexPlanes ( int32 VertexIndex, int32 * VertexPlanes, int32 MaxVertexPlanes ) const


code: int32 GetEdgePlane ( int32 EdgeIndex, int32 EdgePlaneIndex ) const


code: int32 GetEdgeVertex ( int32 EdgeIndex, int32 EdgeVertexIndex ) const


description: Get the vertex index (in the outer convex container) of one of the vertices making up the corners of the specified face.

code: int32 GetPlaneVertex ( int32 PlaneIndex, int32 PlaneVertexIndex ) const


code: int32 GetVertexPlanes3 ( int32 VertexIndex, int32 & PlaneIndex0, int32 & PlaneIndex1, int32 & PlaneIndex2 ) const


description: The number of vertices that make up the corners of the specified face.

code: int32 NumPlaneVertices ( int32 PlaneIndex ) const


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


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


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


description: Initialize the structure data from the set of vertices for each face of the convex.

code: bool SetPlaneVertices ( const [TArray](API\Runtime\Core\Containers\TArray)< [TArray](API\Runtime\Core\Containers\TArray)< int32 >> & InPlaneVertices, int32 NumVerts )


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


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


className: FConvexStructureData

description: Metadata for a convex shape used by the manifold generation system and anything else that can benefit from knowing which vertices are associated with the faces.

code: class FConvexStructureData


className: FCrumblingData

description: CrumblingData passed from the physics solver to subsystems

code: struct FCrumblingData : public [Chaos::FBaseEventFlag](API\Runtime\Chaos\Chaos\FBaseEventFlag)

Children

type: TArray< int32 >

description: Optional ( see proxy options )

Proxy

description: The pointer to the proxy should be used with caution on the Game Thread.


code: virtual const [FAABB3](API\Runtime\Chaos\Chaos\FAABB3) BoundingBox() const


description: NumPoints_ specifies how many points to generate.IncludeEndCaps_ determines whether or not points are generated on the end caps of the cylinder.

code: [TArray](API\Runtime\Core\Containers\TArray)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > ComputeLocalSamplePoints ( const int32 NumPoints, const bool IncludeEndCaps ) const


description: PointsPerUnitArea_ specifies how many points to generate per square unit (cm). 0.5 would generate 1 point per 2 square cm.IncludeEndCaps_ determines whether or not points are generated on the end caps of the cylinder.

code: [TArray](API\Runtime\Core\Containers\TArray)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > ComputeLocalSamplePoints ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) PointsPerUnitArea, const bool IncludeEndCaps, const int32 MinPoints, const int32 MaxPoints ) const


code: [TArray](API\Runtime\Core\Containers\TArray)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > ComputeSamplePoints ( const int32 NumPoints, const bool IncludeEndCaps ) const


code: [TArray](API\Runtime\Core\Containers\TArray)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > ComputeSamplePoints ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) PointsPerUnitArea, const bool IncludeEndCaps, const int32 MinPoints, const int32 MaxPoints ) const


code: virtual Pair< FVec3, bool > FindClosestIntersectionImp &40; const FVec3 & StartPoint, const FVec3 & EndPoint, const FReal Thickness &41; const


code: [FReal](API\Runtime\ChaosCore\Chaos\FReal) GetArea ( const bool IncludeEndCaps ) const


code: static [FReal](API\Runtime\ChaosCore\Chaos\FReal) GetArea ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Height, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Radius, const bool IncludeEndCaps )


description: Returns the centroid (center of mass).


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


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


description: Returns the topmost point on the cylinder.

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


description: Returns the bottommost point on the cylinder.

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


code: static [FRotation3](API\Runtime\ChaosCore\Chaos\FRotation3) GetRotationOfMass ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Axis )


code: static [FReal](API\Runtime\ChaosCore\Chaos\FReal) GetVolume ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Height, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Radius )


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


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


description: Find the closest point on the surface, and return the separating distance and axis.

code: virtual [FReal](API\Runtime\ChaosCore\Chaos\FReal) PhiWithNormal ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & x, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Normal ) const


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


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


description: Needed for serialization


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


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


code: FCylinder ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & x1, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & x2, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Radius )


className: FCylinder

code: class FCylinder : public [Chaos::FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject)


description: Points_ to append to.Origin_ is the bottom-most point of the cylinder.Axis_ is the orientation of the cylinder.Radius_ is the radius of the cylinder.Height_ is the height of the cylinder.NumPoints_ is the number of points to generate.IncludeEndCaps_ determines whether or not points are generated on the end caps of the cylinder.SpiralSeed_ is the starting index for golden spiral generation. When using this method to continue a spiral started elsewhere, `SpiralSeed_ should equal the number of particles already created.

code: static void ComputeGoldenSpiralPoints ( [TArray](API\Runtime\Core\Containers\TArray)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & Points, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Origin, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Axis, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Radius, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Height, const int32 NumPoints, const bool IncludeEndCaps, int32 SpiralSeed )


code: static void ComputeGoldenSpiralPoints ( [TArray](API\Runtime\Core\Containers\TArray)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & Points, const [FCylinder](API\Runtime\Chaos\Chaos\FCylinder) & Cylinder, const int32 NumPoints, const bool IncludeEndCaps )


description: Points_ to append to.Radius_ is the radius of the cylinder.Height_ is the height of the cylinder.NumPoints_ is the number of points to generate.IncludeEndCaps_ determines whether or not points are generated on the end caps of the cylinder.SpiralSeed_ is the starting index for golden spiral generation. When using this method to continue a spiral started elsewhere, `SpiralSeed_ should equal the number of particles already created.

code: static void ComputeGoldenSpiralPointsUnoriented ( [TArray](API\Runtime\Core\Containers\TArray)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & Points, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Radius, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Height, const int32 NumPoints, const bool IncludeEndCaps, int32 SpiralSeed )


code: static void ComputeSamplePoints ( [TArray](API\Runtime\Core\Containers\TArray)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & Points, const [FCylinder](API\Runtime\Chaos\Chaos\FCylinder) & Cylinder, const int32 NumPoints, const bool IncludeEndCaps )


code: void DrawDebugBox ( FVector const & Center, FVector const & Extent, const FQuat & Rotation, [FColor](API\Runtime\Core\Math\FColor) const & Color, bool bPersistentLines, float LifeTime, uint8 DepthPriority, float Thickness )


code: void DrawDebugCircle ( const FVector & Center, [FReal](API\Runtime\ChaosCore\Chaos\FReal) Radius, int32 Segments, const [FColor](API\Runtime\Core\Math\FColor) & Color, bool bPersistentLines, float LifeTime, uint8 DepthPriority, float Thickness, const FVector & YAxis, const FVector & ZAxis, bool bDrawAxis )


code: void DrawDebugCapsule ( const FVector & Center, [FReal](API\Runtime\ChaosCore\Chaos\FReal) HalfHeight, [FReal](API\Runtime\ChaosCore\Chaos\FReal) Radius, const FQuat & Rotation, const [FColor](API\Runtime\Core\Math\FColor) & Color, bool bPersistentLines, float LifeTime, uint8 DepthPriority, float Thickness )