Chaos

Windows
MacOS
Linux

Filters

Classes

Name

Description

Public struct

CComplexBVHLeaf

Public struct

CIsUpdatableElement

Public struct

ClusterId

Used within the clustering system to describe the clustering hierarchy.

Public struct

CParticleView

Public struct

CParticleView

Tests whether a type is actually a view on particles or just a generic type to separate some extended functionality for particle types

Public struct

CSerializablePtr

Public struct

FAABBTreeCVars

Copyright Epic Games, Inc. All Rights Reserved.

Public struct

FAABBTreeNode

Public struct

FAABBTreePayloadInfo

Public class

FAccelerationStructureHandle

Wrapper that holds both physics thread data and GT data.

Public struct

FBoundingVolumeCVars

Public struct

FBreakingData

BreakingData passed from the physics solver to subsystems

Public struct

FBreakingDataExt

BreakingData used in the subsystems

Public class

FBVHParticles

Public class

FChaosArchive

Public class

FChaosArchiveContext

Public class

FChaosArchiveScopedMemory

Public class

FChaosDebugDrawJointFeatures

A bitmask of features to show when drawing joints.

Public struct

FChaosDebugDrawSettings

Public class

FChaosMarshallingManager

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

Public class

FChaosPhysicsMaterial

Public class

FChaosPhysicsMaterialMask

Public class

FClusterBuffer

Public struct

FClusterCreationParameters

Public struct

FCollidingData

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

Public struct

FCollidingDataExt

CollisionData used in the subsystems

Public struct

FCollisionData

Public struct

FCollisionFilterData

Copyright Epic Games, Inc. All Rights Reserved.

Public class

FComplex

Public class

FConstGenericParticleHandle

Public struct

FConstMaterialHandle

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.

Public struct

FConstMaterialMaskHandle

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.

Public class

FConstraintBase

Public class

FConstraintHandle

Base class for constraint handles.

Public class

FConstraintRule

Constraint Rules bind constraint collections to the evolution and provide their update algorithm.

Public struct

FContactIterationParameters

Public struct

FContactParticleParameters

Public class

FConvex

Instance wrapper (ImplicitScaled, ImplicitTransformed, or ImplicitInstanced).

Public class

FConvexBuilder

Public class

FConvexFlattenedArrayStructureData

Base class for TConvexFlattenedArrayStructureData.

Public class

FConvexStructureData

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.

Public class

FCylinder

Public struct

FCylinderSpecializeSamplingHelper

Public class

FDebugDrawQueue

A thread safe way to generate latent debug drawing.

Public class

FDenseMatrixSolver

Methods to solves sets of Linear equations stored as AX = B where A is an NxN matrix, and X.B are Nx1 column vectors.

Public struct

FDirtyGeometryCollectionData

Public struct

FDirtyIdx

Public struct

FDirtyJointConstraintData

Public class

FDirtyPropertiesManager

Want this for sparse representation

Public struct

FDirtyProxy

Public struct

FDirtyRigidParticleData

Simple struct for when the simulation dirties a particle. Copies all properties regardless of which changed since they tend to change together.

Public class

FDirtySet

Public struct

FEPAFloodEntry

Public class

FErrorReporter

Public class

FEvolutionResimCache

Public struct

FEvolutionStats

Public class

FFFT3

Public class

FFFTProjection3

Public class

FGenericParticleHandle

A wrapper around any type of particle handle to provide a consistent (read-only) API for all particle types.

Public class

FGenericParticleHandleHandleImp

Public struct

FGeometryParticleParameters

Public class

FGraphColoring

Public class

FHeightField

Public class

FImplicitObject

Base class for implicit collision geometry such as spheres, capsules, boxes, etc.

Public class

FImplicitObjectUnion

Public class

FImplicitObjectUnionClustered

Public struct

FJointConstants

Public class

FJointConstraint

Public struct

FJointConstraintOutputData

Public class

FKinematicGeometryParticleBuffer

Public struct

FKinematicGeometryParticleParameters

Public struct

FLatentDrawCommand

Public class

FLegacyConvexStructureDataLoader

A utility for loading old convex structure data

Public class

FLevelSet

Public class

FMassMatrix

A block-diagonal matrix specifically for use with Mass/Inertia (or more usually inverse mass and inertia) and TDenseMatrix math used by the constraint solvers.

Public struct

FMassProperties

Public struct

FMaterialData

Public struct

FMaterialHandle

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.

Public struct

FMaterialMaskHandle

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.

Public struct

FMTDInfo

Public struct

FMultiChildProxyId

Used with `TMultiChildProxyData_.

Public class

FParticleData

Base class for transient classes used to communicate simulated particle state between game and physics threads, which is managed by proxies.

Public class

FParticleDirtyData

Public class

FParticleDynamicMisc

Public class

FParticleDynamics

Public struct

FParticleID

Public class

FParticleMassProps

Public class

FParticleNonFrequentData

Public class

FParticlePositionRotation

Public class

FParticleRule

Apply an effect to all particles.

Public class

FParticleUniqueIndices

Public class

FParticleVelocities

Public class

FPBDAnimDriveConstraint

Public class

FPBDAxialSpringConstraints

Public class

FPBDAxialSpringConstraintsBase

Public class

FPBDBendingConstraints

Public class

FPBDBendingConstraintsBase

Public class

FPBDChainConstraints

Public class

FPBDChainUpdateFromDeltaPosition

Public class

FPBDCollisionConstraintHandleModification

Used to modify collision constraints via callback

Public class

FPBDCollisionConstraints

A container and solver for collision constraints.

Public class

FPBDCollisionSphereConstraints

Public class

FPBDCollisionSpringConstraints

Public class

FPBDCollisionSpringConstraintsBase

This is an invertible spring class, typical springs are not invertible aware.

Public class

FPBDConstraintColor

Generates color information for a single constraint rule in a connection graph.

Public class

FPBDConstraintContainer

Base class for containers of constraints.

Public class

FPBDConstraintGraph

Build a graph of connected particles, and then a set of independent islands.

Public class

FPBDConstraintGraphRule

Base class for Constraint Rules that use the Contact Graph (which will be most optimized ones).

Public class

FPBDEvolution

Public class

FPBDGeometryCollectionParticle

Public class

FPBDJointConstraintHandle

Public class

FPBDJointConstraints

A joint restricting up to 6 degrees of freedom, with linear and angular limits.

Public class

FPBDJointSettings

Public class

FPBDJointSolverSettings

Public class

FPBDJointState

Public class

FPBDJointUtilities

Public class

FPBDLongRangeConstraints

Public class

FPBDLongRangeConstraintsBase

Public class

FPBDPositionConstraintHandle

Public class

FPBDPositionConstraints

Public class

FPBDRigidDynamicSpringConstraintHandle

Public class

FPBDRigidDynamicSpringConstraints

Public struct

FPBDRigidParticleParameters

Public class

FPBDRigidsEvolutionBase

Public class

FPBDRigidsEvolutionGBF

Public class

FPBDRigidSpringConstraintHandle

Public class

FPBDRigidSpringConstraints

Public class

FPBDRigidsSOAs

Public class

FPBDShapeConstraints

Public class

FPBDShapeConstraintsBase

Public class

FPBDSphericalBackstopConstraint

Public class

FPBDSphericalConstraint

Public class

FPBDSpringConstraints

Public class

FPBDSpringConstraintsBase

Public class

FPBDStiffness

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

Public class

FPBDSuspensionConstraintHandle

Public class

FPBDSuspensionConstraints

Public class

FPBDSuspensionSettings

Public class

FPBDSuspensionSolverSettings

Public class

FPBDTetConstraints

Public class

FPBDTetConstraintsBase

Public class

FPBDVolumeConstraint

Public class

FPBDVolumeConstraintBase

Public struct

FPendingSpatialData

Used for updating intermediate spatial structures when they are finished

Public struct

FPendingSpatialDataQueue

Public class

FPerParticleAddImpulses

Public class

FPerParticleDampVelocity

Public class

FPerParticleEtherDrag

Public class

FPerParticleEulerStepVelocity

Public class

FPerParticleExternalForces

Public class

FPerParticleGravity

Public class

FPerParticleInitForce

Public class

FPerParticlePBDEulerStep

Update position and rotation based on velocity and angular velocity.

Public class

FPerParticlePBDGroundConstraint

Public class

FPerParticlePBDLongRangeConstraints

Public class

FPerParticlePBDShapeConstraints

Public class

FPerParticlePBDSpringConstraints

Public class

FPerParticlePBDTetConstraints

Public class

FPerParticlePBDUpdateFromDeltaPosition

Public class

FPerParticleRule

A Particle Rule that applies some effect to all particles in parallel.

Public class

FPerShapeData

Data that is associated with geometry. If a union is used an entry is created per internal geometry

Public class

FPhysicalMaterialManager

Global manager for physical materials.

Public class

FPullPhysicsData

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

Public struct

FPushPhysicsData

Public struct

FQueryFastData

Public struct

FQueryFastDataVoid

Dummy struct for templatized paths

Public struct

FRigidBodyContactConstraintPGS

Public struct

FSATResult

The results from SATPenetration.

Public struct

FSATSettings

Parameters for SATPenetartion.

Public class

FSegmentMesh

Mesh structure of connected particles via edges.

Public class

FShapeDirtyData

Public class

FSimCallbackCommandObject

Simple callback command object.

Public struct

FSimCallbackInput

Public struct

FSimCallbackInputAndObject

Public struct

FSimCallbackNoInput

Public struct

FSimCallbackNoOutput

Public struct

FSimCallbackOutput

Public class

FSimCallbackOutputHandle

Handle for output that is automatically cleaned up.

Public class

FSimpleConstraintRule

Constraint rule for evolutions that do not use Constraint Graphs or other acceleration schemes.

Public struct

FSimplex

Public struct

FSleepingData

Public class

FSpatialAccelerationCache

The SOA cache used for a single acceleration structure

Public struct

FSpatialAccelerationCacheHandle

The handle the acceleration structure uses to access the data (similar to particle handle)

Public struct

FSpatialAccelerationIdx

Public class

FSuspensionConstraint

Public struct

FSyncState

Public class

FTaperedCapsule

Public struct

FTaperedCapsuleSpecializeSamplingHelper

Public class

FTaperedCylinder

Public struct

FTaperedCylinderSpecializeSamplingHelper

Public class

FTrackedGeometryManager

Public struct

FTrailingData

TrailingData passed from the physics solver to subsystems

Public struct

FTrailingDataExt

TrailingData used in subsystems

Public class

FTriangle

Public class

FTriangleMesh

Public class

FTriangleMeshImplicitObject

Public class

FTrimeshIndexBuffer

Public struct

FUniqueIdx

Public class

FVelocityField

Velocity field basic implementation TODO: Add lift

Public class

FWeakParticleHandle

Holds the data for getting back at the real handle if it's still valid Systems should not use this unless clean-up of direct handle is slow, this uses thread safe shared ptr which is not cheap

Public class

FXPBDAxialSpringConstraints

Public class

FXPBDLongRangeConstraints

Public class

FXPBDSpringConstraints

Public class

IResimCacheBase

Public class

ISimCallbackObject

Callback API used for executing code at different points in the simulation.

Public class

ISpacialDebugDrawInterface

Can be implemented by external, non-chaos systems to collect / render debug information from spacial structures.

Public struct

ISpatialAccelerationCollectionFactory

Public class

ISpatialVisitor

Visitor base class used to iterate through spatial acceleration structures.

Public class

SparseMatrix

Public class

TAABB

Public struct

TAABBSpecializeSamplingHelper

Public class

TAABBTree

Public struct

TAABBTreeIntersectionHelper

DECLARE_CYCLE_STAT(TEXT("AABBTreeGrowPhase"), STAT_AABBTreeGrowPhase, STATGROUP_Chaos); DECLARE_CYCLE_STAT(TEXT("AABBTreeChildrenPhase"), STAT_AABBTreeChildrenPhase, STATGROUP_Chaos);

Public struct

TAABBTreeLeafArray

Public class

TArrayAsMap

Provides a TMap like API but backed by a dense array. The keys provided must implement GetUniqueIdx.

Public class

TArrayFaceND

Public class

TArrayND

Public struct

TBasePullData

Public class

TBoundingVolume

Public class

TBoundingVolumeHierarchy

Public struct

TBoundsWrapperHelper

Public class

TBox

Axis-aligned box collision geometry.

Public struct

TBVCellElement

Public struct

TBVHLeafTraits

Copyright Epic Games, Inc. All Rights Reserved.

Public struct

TBVHNode

Public struct

TBVPayloadInfo

Public class

TChaosPhysicsMaterial

Public struct

TConnectivityEdge

An entry in a clustered particle's ConnectivityEdges_ array, indicating a connection between that body and Sibling, with a strength breakable by a `Strain threshold.

Public class

TConstHandleIterator

Public class

TConstHandleView

Public class

TConstParticleIterator

Public class

TConstParticleView

Public class

TConstraintHandleAllocator

An allocator for constraint handles.

Public class

TContainerConstraintHandle

Utility base class for ConstraintHandles.

Public class

TConvexFlattenedArrayStructureData

A container for the convex structure data arrays.

Public class

TConvexHalfEdgeStructureData

Convex half-edge structure data. Uses indices rather than pointers. Supports different index sizes.

Public struct

TConvexStructureIndexTraits

Default convex structure index traits - assumes signed.

Public class

TDenseMatrix

A matrix with run-time variable dimensions, up to an element limit defined at compile-time.

Public class

TDirtyElementPool

Public class

TDirtyFlags

Public class

TDynamicParticles

Public struct

TEPAEntry

Public class

TGeometryParticle

Public class

TGeometryParticleHandleImp

Public class

TGeometryParticleHandles

Public class

TGeometryParticlesImp

Public struct

TGJKCoreShape

Wraps an FImplicitObject and provides the API required for GJK, treating the shape as if it has a reduced "core" shape with a margin suitable for collision detection where significant overlaps are likely.

Public struct

TGJKShape

Helpers and Wrappers for use with GJK to select the appropriate margin and support function based on context.

Public class

THandleIterator

Public class

THandleView

Public class

TImplicitObjectIntersection

Public struct

TImplicitObjectPtrStorage

Public class

TImplicitObjectTransformed

Transform the contained shape.

Public class

TKinematicGeometryParticle

Public class

TKinematicGeometryParticleHandleImp

Public class

TKinematicGeometryParticlesImp

Public class

TListThreadSafe

Thread-safe single-linked list (lock-free).

Public struct

TMultiChildProxyData

When multiple children are active and can share one collision proxy.

Public class

TOrientedParticles

Public class

TParticleHandleBase

Public class

TParticleIterator

Public class

TParticleProperty

Public class

TParticles

Public class

TParticleView

Public struct

TPayloadBoundsElement

Public class

TPBDActiveView

Index based view, specialized for working with several ranges within a same array such as particles.

Public class

TPBDConstraintColor

Public class

TPBDConstraintColorRule

Level- and Color-based constraint rule.

Public class

TPBDConstraintGraphRuleImpl

ConstraintGraphRule helper base class - templatized on Constraint Container.

Public class

TPBDGeometryCollectionParticleHandleImp

Public class

TPBDGeometryCollectionParticles

Public class

TPBDParticles

Public class

TPBDRigidClusteredParticleHandleImp

Public class

TPBDRigidClusteredParticles

Public class

TPBDRigidClustering

PDBRigidClustering

Public class

TPBDRigidParticle

Public class

TPBDRigidParticleHandleImp

Public class

TPBDRigidsEvolution

Public class

TPerCellBoundaryConditions

Public class

TPerCellBuoyancy

Public class

TPerCellGravity

Public class

TPerCellSemiLagrangianAdvection

Public class

TPerParticlePBDCCDCollisionConstraint

Public class

TPerParticlePBDCollisionConstraint

Public class

TPlane

Public class

TPlaneConcrete

Public class

TPressureProjection

Public struct

TPropertyTypeTrait

Public class

TRigidParticles

Public class

TRigidTransform

Public class

TRotation

Public class

TSegment

Public class

TSerializablePtr

Public class

TShapeProperty

Public class

TSimCallbackObject

Simple templated implementation that uses lock free queues to manage memory

Public class

TSimCallbackOutputHandle

Handle for output that is automatically cleaned up.

Public struct

TSleepData

Public class

TSmokeEvolution

Public struct

TSOAView

Public struct

TSpatialAccelerationBucketEntry

Public class

TSpatialAccelerationCollection

Public struct

TSpatialAccelerationCollectionHelper

Public struct

TSpatialAccelerationTraits

Copyright Epic Games, Inc. All Rights Reserved.

Public struct

TSpatialCollectionBucket

Public class

TSpatialHash

Public class

TSpatialRay

Public struct

TSpatialTypeTuple

Public struct

TSpatialTypeTupleGetter

Public class

TSpatialVisitor

Helper class used to bridge virtual to template implementation of acceleration structures

Public struct

TSpatialVisitorData

A struct which is passed to spatial acceleration visitors whenever there are potential hits.

Public class

TSphere

Public struct

TSphereSpecializeSamplingHelper

Public class

TUniformGrid

Public class

TUniformGridBase

Constants

Name

Description

Chaos::ObjectStateBitCount

Count N, the number of bits needed to store an object state.

Chaos::XPBDAxialSpringMaxCompliance

Stiffness is in N/CM^2, so it needs to be adjusted from the PBD stiffness ranging between [0,1].

Chaos::XPBDLongRangeMaxCompliance

Stiffness is in N/CM^2, so it needs to be adjusted from the PBD stiffness ranging between [0,1].

Chaos::XPBDSpringMaxCompliance

Stiffness is in N/CM^2, so it needs to be adjusted from the PBD stiffness ranging between [0,1].

Typedefs

Name

Description

EImplicitObjectType

FAABB3

FBVHParticlesFloat3

FChaosConstMaterialHandle

FChaosConstMaterialMaskHandle

FChaosMaterialHandle

FChaosMaterialMaskHandle

FCollisionModifierCallback

FConvexFlattenedArrayStructureDataS32

FConvexFlattenedArrayStructureDataU8

FConvexHalfEdgeStructureDataS16

FConvexHalfEdgeStructureDataS32

Typedefs for the supported index sizes.

FConvexHalfEdgeStructureDataU8

FDynamicParticles

FEventManager

FGeometryParticle

FGeometryParticleHandle

FGeometryParticles

FImplicitBox3

FImplicitCapsule3

FImplicitConvex3

FImplicitObject3

FImplicitPlane3

FImplicitSphere3

FJointBreakCallback

FJointConstraintDirtyFlags

FJointPostApplyCallback

FJointPreApplyCallback

FKinematicGeometryClothParticles

FKinematicGeometryParticle

FKinematicGeometryParticleHandle

FKinematicGeometryParticles

FKinematicTarget

FMaterialArray

FMaterialCreatedDelegate

FMaterialDestroyedDelegate

FMaterialMaskArray

FMaterialMaskCreatedDelegate

FMaterialMaskDestroyedDelegate

FMaterialMaskUpdatedDelegate

FMaterialUpdatedDelegate

FOnMaterialCreated

FOnMaterialDestroyed

FOnMaterialMaskCreated

FOnMaterialMaskDestroyed

FOnMaterialMaskUpdated

FOnMaterialUpdated

FParticleDirtyFlags

FParticles

FPBDGeometryCollectionParticleHandle

FPBDParticles

FPBDRigidClusteredParticleHandle

FPBDRigidClusteredParticles

FPBDRigidParticle

FPBDRigidParticleHandle

FPBDRigidParticles

FPBDRigidsEvolution

The default evolution used by unreal.

FPBDRigidsEvolutionCallback

FPBDRigidsEvolutionInternalHandleCallback

FPBDRigidsEvolutionIslandCallback

FPBDRigidsSolver

FPhysicsSolver

FRigidBodyContactConstraintsPostApplyCallback

FRigidBodyContactConstraintsPostApplyPushOutCallback

FRigidBodyContactConstraintsPostComputeCallback

FShapeDirtyFlags

FShapesArray

FSuspensionConstraintDirtyFlags

FTransientKinematicGeometryParticleHandle

FTransientPBDRigidClusteredParticleHandle

FTransientPBDRigidParticleHandle

NotThreadSafeSharedPtr_FImplicitObject

SpatialAccelerationType

TBVHParticles

TGeometryClothParticles

TGeometryParticleFloat3

TGeometryParticleHandle

TGeometryParticles

ThreadSafeSharedPtr_FImplicitObject

TImplicitObjectTransformedNonSerializable

TKinematicGeometryClothParticles

TKinematicGeometryParticleHandle

TKinematicGeometryParticles

TPBDGeometryCollectionParticleHandle

TPBDGeometryCollectionParticleHandleFloat3

TPBDRigidClusteredParticleHandle

TPBDRigidClusteredParticleHandleFloat3

TPBDRigidParticleHandle

TPBDRigidParticleHandleFloat3

TSegmentMesh

TTransientGeometryParticleHandle

TTransientKinematicGeometryParticleHandle

TTransientPBDGeometryCollectionParticleHandle

TTransientPBDRigidClusteredParticleHandle

TTransientPBDRigidParticleHandle

TTriangle

TTriangleMesh

Enums

Name

Description

Public enum

Chaos::EAABBQueryType

Default settings implementation.

Public enum

Chaos::EChaosCollisionTraceFlag

Default settings implementation.

Public enum

Chaos::ECollisionModifierResult

Return value of the collision modification callback

Public enum

Chaos::ECollisionUpdateType

Specifies the type of work we should do

Public enum

Chaos::EConstraintType

Default settings implementation.

Public enum

Chaos::EContactManifoldType

Default settings implementation.

Public enum

Chaos::EContactShapesType

The shape types involved in a contact constraint. Used to look up the collision detection function

Public enum

Chaos::EEPAResult

Default settings implementation.

Public enum

Chaos::EGeometryParticlesSimType

Default settings implementation.

Public enum

Chaos::EGJKDistanceResult

Status of a call to GJKDistance.

Public enum

Chaos::EImplicitObject::Flags

Public enum

Chaos::EJointAngularConstraintIndex

The order of the angular constraints (for settings held in vectors etc)

Public enum

Chaos::EJointConstraintFlags

Default settings implementation.

Public enum

Chaos::EJointForceMode

Default settings implementation.

Public enum

Chaos::EJointMotionType

Default settings implementation.

Public enum

Chaos::EKinematicTargetMode

Controls how a kinematic body is integrated each Evolution Advance

Public enum

Chaos::EObjectStateType

Default settings implementation.

Public enum

Chaos::EParticleFlags

Default settings implementation.

Public enum

Chaos::EParticleProperty

Default settings implementation.

Public enum

Chaos::EParticleType

Used for down casting when iterating over multiple SOAs.

Public enum

Chaos::EPropertyType

Default settings implementation.

Public enum

Chaos::ERemoveParticleBehavior

Default settings implementation.

Public enum

Chaos::EResimType

Default settings implementation.

Public enum

Chaos::ESATFeatureType

The feature type returned by SATPenetration.

Public enum

Chaos::EShapeFlags

Default settings implementation.

Public enum

Chaos::EShapeProperty

Default settings implementation.

Public enum

Chaos::ESpatialAcceleration

Default settings implementation.

Public enum

Chaos::ESuspensionConstraintFlags

Default settings implementation.

Public enum

Chaos::ESyncState

Default settings implementation.

Public enum

Chaos::EWakeEventEntry

Default settings implementation.

Public enum

Chaos::ImplicitObjectType::

Functions

Name Description

Public function

TEnableIf< T...

 

Chaos::AsAlwaysSerializable

(
    T*& Ptr
)

This is only available for types that are guaranteed to be serializable. This is done by having a factory that returns unique pointers for example.

Public function

TEnableIf< T...

 

Chaos::AsAlwaysSerializableArray

(
    TArray< T* >& Ptrs
)

Public function Static

TUniquePtr< ...

 

Chaos::AsUniqueSpatialAcceleration

(
    TUniquePtr< TBase >&& Base
)

Public function Static

TUniquePtr< ...

 

Chaos::AsUniqueSpatialAccelerationChecked

(
    TUniquePtr< TBase >&& Base
)

Public function Virtual Const

const TAABB<...

 

Chaos::BoundingBox()

Public function

void

 

Chaos::CleanCollisionParticles

(
    FTriangleMesh& TriMesh,
    const TArrayView< const FVec3 >& V...,
    const FReal Fraction,
    TSet< int32 >& ResultingIndices
)

Public function

TArray< FVec...

 

Chaos::CleanCollisionParticles

(
    FTriangleMesh& TriMesh,
    const TArrayView< const FVec3 >& V...,
    const FReal Fraction
)

Public function

TArray< FVec...

 

Chaos::CleanCollisionParticles

(
    const TArray< FVec3 >& Vertices,
    FAABB3 BBox,
    const FReal SnapDistance
)

Public function

TArray< FVec...

 

Chaos::CleanCollisionParticles

(
    const TArray< FVec3 >& Vertices,
    const FReal SnapDistance
)

Public function

TEnableIf<&#...

 

Chaos::ComputeAllWorldSpaceBoundingBoxes

(
    const ParticleView& Particles,
    const TArray< bool >& RequiresBoun...,
    const bool bUseVelocity,
    const T Dt,
    TArray< TAABB< T, d >>& WorldSpace...
)

Public function

void

 

Chaos::ComputeAllWorldSpaceBoundingBoxes

(
    const TPBDRigidParticles< T, d >& ...,
    const TArray< int32 >& AllObjects,
    const bool bUseVelocity,
    const T Dt,
    TMap< int32, TAABB< T, d >>& World...
)

Public function

void

 

Chaos::ComputeAllWorldSpaceBoundingBoxes

(
    const TGeometryParticles< T, d >& ...,
    const TArray< int32 >& AllObjects,
    const bool bUseVelocity,
    const T Dt,
    TMap< int32, TAABB< T, d >>& World...
)

Public function

void

 

Chaos::ComputeAllWorldSpaceBoundingBoxes

(
    const TParticles< T, d >& Objects,
    const TArray< int32 >& AllObjects,
    const bool bUseVelocity,
    const T Dt,
    TMap< int32, TAABB< T, d >>& World...
)

Public function

void

 

Chaos::ComputeAllWorldSpaceBoundingBoxes

(
    const OBJECT_ARRAY& Objects,
    const TArray< int32 >& AllObjects,
    const bool bUseVelocity,
    const T Dt,
    TMap< int32, TAABB< T, d >>& World...
)

Public function

TEnableIf< T...

 

Chaos::ComputeAllWorldSpaceBoundingBoxes

(
    const ParticleView& Particles,
    const TArray< bool >& RequiresBoun...,
    const bool bUseVelocity,
    const T Dt,
    TArray< TAABB< T, d >>& WorldSpace...
)

Todo: how do we protect ourselves and make it const?

Public function

TVector< T, ...

 

Chaos::ComputeBarycentricInPlane

(
    const TVector< T, d >& P0,
    const TVector< T, d >& P1,
    const TVector< T, d >& P2,
    const TVector< T, d >& P
)

Public function

FVec3

 

Chaos::ComputeBoundsThickness

(
    const THandle& ParticleHandle,
    FReal Dt,
    FReal MinBoundsThickness,
    FReal BoundsVelocityInflation
)

Public function

FVec3

 

Chaos::ComputeBoundsThickness

(
    FVec3 Vel,
    FReal Dt,
    FReal MinBoundsThickness,
    FReal MaxBoundsThickness,
    FReal BoundsVelocityInflation
)

Public function

FVec3

 

Chaos::ComputeBoundsThickness

(
    const TPBDRigidParticles< FReal, 3 ...,
    FReal Dt,
    int32 BodyIndex,
    FReal MinBoundsThickness,
    FReal BoundsVelocityInflation
)

Public function

void

 

Chaos::ComputeEPAResults

(
    const TVec3< T >* VertsA,
    const TVec3< T >* VertsB,
    const TEPAEntry< T >& Entry,
    T& OutPenetration,
    TVec3< T >& OutDir,
    TVec3< T >& OutA,
    TVec3< T >& OutB
)

Public function

const TAABB<...

 

Chaos::ComputeGlobalBoxAndSplitAxis

(
    const TParticles< T, d >& Objects,
    const TArray< int32 >& AllObjects,
    const TMap< int32, TAABB< T, d >>&...,
    bool bAllowMultipleSplitting,
    int32& OutAxis
)

Public function

const TAABB<...

 

Chaos::ComputeGlobalBoxAndSplitAxis

(
    const OBJECT_ARRAY& Objects,
    const TArray< int32 >& AllObjects,
    const TMap< int32, TAABB< T, d >>&...,
    bool bAllowMultipleSplitting,
    int32& OutAxis
)

Public function

TAABB< T, d ...

 

Chaos::ComputeWorldSpaceBoundingBox

(
    const TGeometryParticleHandleImp< T...,
    bool bUseVelocity,
    T Dt
)

Public function

TAABB< T, 3 ...

 

Chaos::ComputeWorldSpaceBoundingBox

(
    const GenericEntry& InEntry,
    bool bUseVelocity,
    T Dt
)

Public function

TAABB< T, d ...

 

Chaos::ComputeWorldSpaceBoundingBox

(
    const TPBDRigidParticleHandleImp< T...,
    bool bUseVelocity,
    T Dt
)

Public function

TAABB< T, d ...

 

Chaos::ComputeWorldSpaceBoundingBox

(
    const TGeometryParticles< T, d >& ...,
    const int32 i,
    bool bUseVelocity,
    T Dt
)

Public function

TAABB< T, d ...

 

Chaos::ComputeWorldSpaceBoundingBox

(
    const TPBDRigidParticles< T, d >& ...,
    const int32 i,
    bool bUseVelocity,
    T Dt
)

Public function

TAABB< T, d ...

 

Chaos::ComputeWorldSpaceBoundingBox

(
    const TParticles< T, d >& Objects,
    const int32 i,
    bool bUseVelocity,
    T Dt
)

Public function

TAABB< T, d ...

 

Chaos::ComputeWorldSpaceBoundingBoxForHandle

(
    const THandle& Handle
)

Public function

T

 

Chaos::CopyFromHelper

(
    const T& Src
)

Public function

TSpatialAcce...

 

Chaos::CopyFromHelper

(
    const TSpatialAccelerationBucketEnt...
)

Public function Static

constexpr FR...

 

Chaos::DefaultHorizonEpsilon()

Public function

void

 

Chaos::EnsureSleepingObjectState

(
    EObjectStateType ObjectState
)

Public function

EEPAResult

 

Chaos::EPA

(
    TArray< TVec3< T >>& VertsABuffer,
    TArray< TVec3< T >>& VertsBBuffer,
    const SupportALambda& SupportA,
    const SupportBLambda& SupportB,
    T& OutPenetration,
    TVec3< T >& OutDir,
    TVec3< T >& WitnessA,
    TVec3< T >& WitnessB
)

Expanding Polytope Algorithm for finding the contact point for overlapping convex polyhedra.

Public function

void

 

Chaos::EPAComputeVisibilityBorder

(
    TArray< TEPAEntry< T >>& Entries,
    int32 EntryIdx,
    const TVec3< T >& W,
    TArray< FEPAFloodEntry >& OutBorde...
)

Public function

const TVecto...

 

Chaos::FindClosestPointOnLineSegment

(
    const TVector< T, d >& P0,
    const TVector< T, d >& P1,
    const TVector< T, d >& P
)

Public function

TVector< T, ...

 

Chaos::FindClosestPointOnTriangle

(
    const TVector< T, d >& ClosestPoin...,
    const TVector< T, d >& P0,
    const TVector< T, d >& P1,
    const TVector< T, d >& P2,
    const TVector< T, d >& P
)

Public function

TVector< T, ...

 

Chaos::FindClosestPointOnTriangle

(
    const TPlane< T, d >& TrianglePlan...,
    const TVector< T, d >& P0,
    const TVector< T, d >& P1,
    const TVector< T, d >& P2,
    const TVector< T, d >& P
)

Public function Virtual Const

TVec3< T >

 

Chaos::FindGeometryOpposingNormal

(
    const TVec3< T >& DenormDir,
    int32 FaceIndex,
    const TVec3< T >& OriginalNormal
)

Public function

void

 

Chaos::FreeObjHelper

Public function

void

 

Chaos::FreeObjHelper

(
    T*& RawPtr
)

Public function

void

 

Chaos::GeometryParticleDefaultConstruct

(
    FConcrete& Concrete,
    const FGeometryParticleParameters&...
)

  1. this class is to be deleted, use FPBDRigidParticleParameters instead

Public function

bool

 

Chaos::GeometryParticleSleeping

(
    const FConcrete& Concrete
)

Public function

auto &

 

Chaos::GetAccelerationsPerType

(
    TSpatialTypeTuple< First, Rest... >...
)

Public function

const auto &

 

Chaos::GetAccelerationsPerType

(
    const TSpatialTypeTuple< First, Res...
)

Public function

const TGeome...

 

Chaos::GetHandleHelper

(
    const TGeometryParticleHandle< T, d...
)

Public function

TGeometryPar...

 

Chaos::GetHandleHelper

(
    TGeometryParticleHandle< T, d >...
)

Public function

TGeometryPar...

 

Chaos::GetHandleHelper

Public function

const TGeome...

 

Chaos::GetHandleHelper

(
    const TTransientGeometryParticleHan...
)

Public function

EImplicitObj...

 

Chaos::GetInnerType

(
    EImplicitObjectType Type
)

Public function Const

TVec3< T >

 

Chaos::GetNormal()

Public function

int32

 

Chaos::GetObjectCount

(
    const OBJECT_ARRAY& Objects
)

Public function

int32

 

Chaos::GetObjectCount

(
    const TGeometryParticles< T, d >& ...
)

Public function

int32

 

Chaos::GetObjectCount

(
    const TPBDRigidParticles< T, d >& ...
)

Public function

int32

 

Chaos::GetObjectCount

(
    const TParticles< T, d >& Objects
)

Public function Const

TPlane< T, 3...

 

Chaos::GetPlane()

Public function

uint32

 

Chaos::GetTypeHash

(
    const FParticleID& Unique
)

Public function

uint32

 

Chaos::GetTypeHash

(
    const FSpatialAccelerationIdx& Idx
)

Public function

uint32

 

Chaos::GetTypeHash

(
    const FUniqueIdx& Unique
)

Public function Static

uint32

 

Chaos::GetTypeHash

(
    const TParticles< T, d >& InPartic...
)

Public function

uint32

 

Chaos::GetTypeHash

(
    const TSerializablePtr< T >& Ptr
)

Public function Virtual Const

uint32

 

Chaos::GetTypeHash()

Public function Virtual Const

FName

 

Chaos::GetTypeName()

Public function

FUniqueIdx

 

Chaos::GetUniqueIdx

(
    const int32 Payload
)

Public function

TEnableIf< T...

 

Chaos::GetUniqueIdx

(
    const TPayload& Payload
)

Public function

TEnableIf<&#...

 

Chaos::GetUniqueIdx

(
    const TPayload& Payload
)

Public function

FUniqueIdx

 

Chaos::GetUniqueIdx

(
    const FUniqueIdx Payload
)

Public function

const TAABB<...

 

Chaos::GetWorldSpaceBoundingBox

(
    const TParticles< T, d >& Objects,
    const int32 i,
    const TMap< int32, TAABB< T, d >>&...
)

Public function

const TAABB<...

 

Chaos::GetWorldSpaceBoundingBox

(
    const OBJECT_ARRAY& Objects,
    const int32 i,
    const TMap< int32, TAABB< T, d >>&...
)

Public function

const TAABB<...

 

Chaos::GetWorldSpaceBoundingBox

(
    const TPBDRigidParticles< T, d >& ...,
    const int32 i,
    const TMap< int32, TAABB< T, d >>&...
)

Public function

const TAABB<...

 

Chaos::GetWorldSpaceBoundingBox

(
    const TGeometryParticles< T, d >& ...,
    const int32 i,
    const TMap< int32, TAABB< T, d >>&...
)

Public function

EGJKDistance...

 

Chaos::GJKDistance

(
    const TGeometryA& A,
    const TGeometryB& B,
    const TRigidTransform< T, 3 >& BTo...,
    T& OutDistance,
    TVector< T, 3 >& OutNearestA,
    TVector< T, 3 >& OutNearestB,
    TVector< T, 3 >& OutNormalA,
    const T Epsilon,
    const int32 MaxIts
)

Find the distance and nearest points on two convex geometries A and B.

Public function

TVector< T, ...

 

Chaos::GJKDistanceInitialV

(
    const TSphere< T, 3 >& A,
    const TSphere< T, 3 >& B,
    const TRigidTransform< T, 3 >& BTo...
)

Used by GJKDistance. Specialization for sphere-sphere gives correct result immediately.

Public function

TVector< T, ...

 

Chaos::GJKDistanceInitialV

(
    const TGeometryA& A,
    T MarginA,
    const TGeometryB& B,
    T MarginB,
    const TRigidTransform< T, 3 >& BTo...
)

Used by GJKDistance.

Public function

bool

 

Chaos::GJKIntersection

(
    const TGeometryA& A,
    const TGeometryB& B,
    const TRigidTransform< T, 3 >& BTo...,
    const T InThicknessA,
    const TVector< T, 3 >& InitialDir,
    const T InThicknessB
)

Determines if two convex geometries overlap.

Public function

bool

 

Chaos::GJKPenetration

(
    const TGeometryA& A,
    const TGeometryB& B,
    const TRigidTransform< T, 3 >& BTo...,
    T& OutPenetration,
    TVec3< T >& OutClosestA,
    TVec3< T >& OutClosestB,
    TVec3< T >& OutNormal,
    int32& OutClosestVertexIndexA,
    int32& OutClosestVertexIndexB,
    const T InThicknessA,
    const T InThicknessB,
    const TVector< T, 3 >& InitialDir,
    const T Epsilon
)

Calculate the penetration depth (or separating distance) of two geometries.

Public function

bool

 

Chaos::GJKPenetrationTemp

(
    const TGeometryA& A,
    const TGeometryB& B,
    const TRigidTransform< T, 3 >& BTo...,
    TVector< T, 3 >& OutPositionA,
    TVector< T, 3 >& OutPositionB,
    TVector< T, 3 >& OutNormal,
    T& OutDistance,
    const T ThicknessA,
    const TVector< T, 3 >& InitialDir,
    const T ThicknessB,
    const T Epsilon,
    const int32 MaxIts
)

Assumes objects are already intersecting, computes a minimum translation distance, deepest penetration positions on each body, and approximates a penetration normal and minimum translation distance.

Public function

bool

 

Chaos::GJKPenetrationTemp

(
    const TGeometryA& A,
    const FCapsule& B,
    const TRigidTransform< T, 3 >& BTo...,
    TVector< T, 3 >& OutPositionA,
    TVector< T, 3 >& OutPositionB,
    TVector< T, 3 >& OutNormal,
    T& OutDistance,
    const T ThicknessA,
    const TVector< T, 3 >& InitialDir,
    const T ThicknessB,
    const T Epsilon,
    const int32 MaxIts
)

Specialization for when getting MTD against a capsule.

Public function

bool

 

Chaos::GJKRaycast

(
    const TGeometryA& A,
    const TGeometryB& B,
    const TRigidTransform< T, 3 >& Sta...,
    const TVector< T, 3 >& RayDir,
    const T RayLength,
    T& OutTime,
    TVector< T, 3 >& OutPosition,
    TVector< T, 3 >& OutNormal,
    const T ThicknessA,
    const TVector< T, 3 >& InitialDir,
    const T ThicknessB
)

Sweeps one geometry against the other The first geometry The second geometry B's starting configuration in A's local space The ray's direction (normalized) The ray's length The time along the ray when the objects first overlap The first point of impact (in A's local space) when the objects first overlap.

Public function

bool

 

Chaos::GJKRaycast2

(
    const TGeometryA& A,
    const TGeometryB& B,
    const TRigidTransform< T, 3 >& Sta...,
    const TVector< T, 3 >& RayDir,
    const T RayLength,
    T& OutTime,
    TVector< T, 3 >& OutPosition,
    TVector< T, 3 >& OutNormal,
    const T GivenThicknessA,
    bool bComputeMTD,
    const TVector< T, 3 >& InitialDir,
    const T GivenThicknessB
)

Sweeps one geometry against the other The first geometry The second geometry B's starting configuration in A's local space The ray's direction (normalized) The ray's length The time along the ray when the objects first overlap The first point of impact (in A's local space) when the objects first overlap.

Public function

void

 

Chaos::HandleViewParallelForImp

(
    const THandleView& HandleView,
    const Lambda& Func
)

Public function

bool

 

Chaos::HasBoundingBox

(
    const OBJECT_ARRAY& Objects,
    const int32 i
)

Public function

bool

 

Chaos::HasBoundingBox

(
    const TParticles< T, d >& Objects,
    const int32 i
)

Public function

bool

 

Chaos::HasBoundingBox

(
    const TGeometryParticles< T, d >& ...,
    const int32 i
)

Public function

bool

 

Chaos::HasBoundingBox

(
    const TPBDRigidParticles< T, d >& ...,
    const int32 i
)

Public function

bool

 

Chaos::HasBoundingBox

(
    const TGeometryParticleHandleImp< T...
)

Public function

bool

 

Chaos::HasBoundingBox

(
    const TPBDRigidParticleHandleImp< T...
)

Public function

bool

 

Chaos::HasBoundingBox

(
    const Generic& Item
)

Public function

bool

 

Chaos::InitializeEPA

(
    TArray< TVec3< T >>& VertsA,
    TArray< TVec3< T >>& VertsB,
    const SupportALambda& SupportA,
    const SupportBLambda& SupportB,
    TArray< TEPAEntry< T >>& OutEntrie...,
    TVec3< T >& OutTouchNormal
)

Public function

bool

 

Chaos::IntersectPlanes2

(
    TVector< T, d >& I,
    TVector< T, d >& D,
    const TPlane< T, d >& P1,
    const TPlane< T, d >& P2
)

Public function

bool

 

Chaos::IsDisabled

(
    const TGeometryParticles< T, d >& ...,
    const uint32 Index
)

Public function

bool

 

Chaos::IsDisabled

(
    const TPBDRigidParticles< T, d >& ...,
    const uint32 Index
)

Public function

bool

 

Chaos::IsDisabled

(
    const OBJECT_ARRAY& Objects,
    const uint32 Index
)

Public function

const bool

 

Chaos::IsEPASuccess

(
    EEPAResult EPAResult
)

Public function

bool

 

Chaos::IsInstanced

(
    EImplicitObjectType Type
)

Public function

bool

 

Chaos::IsMinkowskiSumFace

(
    const FVec3& A,
    const FVec3& B,
    const FVec3& C,
    const FVec3& D
)

Check whether the two edges of two convex shapes contribute to the Minkowski sum.

Public function

bool

 

Chaos::IsPowerOfTwo

(
    const TVector< int32, d >& Counts
)

Public function

bool

 

Chaos::IsScaled

(
    EImplicitObjectType Type
)

Public function

constexpr TE...

 

Chaos::IsSerializablePtr()

Public function

void

 

Chaos::KinematicGeometryParticleDefaultConstruct

(
    FConcrete& Concrete,
    const FKinematicGeometryParticlePar...
)

Public function

TVector< T, ...

 

Chaos::LineSimplexFindOrigin

(
    const TVector< T, d >* Simplex,
    int32* Idxs,
    int32& NumVerts,
    T* OutBarycentric
)

Public function

constexpr in...

 

Chaos::LowBitsMask

(
    const int8 NumBits
)

Make a bitmask which covers the lowest NumBits bits with 1's.

Public function

TConstHandle...

 

Chaos::MakeConstHandleIterator

(
    const TArray< THandle* >& Han...
)

Public function

TConstHandle...

 

Chaos::MakeConstHandleView

(
    const TArray< THandle* >& Han...
)

Public function

TConstPartic...

 

Chaos::MakeConstParticleIterator

(
    const TArray< TSOAView< TSOA >>& S...
)

Public function

TConstPartic...

 

Chaos::MakeConstParticleView

(
    TSOA* SOA
)

Public function

TConstPartic...

 

Chaos::MakeConstParticleView

(
    TArray< TSOAView< TSOA >>&& SOAVie...
)

Public function

TGJKCoreShap...

 

Chaos::MakeGJKCoreShape

(
    const T_SHAPE& InShape
)

Utility for creating TGJKCoreShape objects using template parameter deduction.

Public function

TGJKShape< T...

 

Chaos::MakeGJKShape

(
    const T_SHAPE& InShape
)

Utility for creating TGJKShape objects using template parameter deduction.

Public function

THandleItera...

 

Chaos::MakeHandleIterator

(
    const TArray< THandle* >& Han...
)

Public function

THandleView<...

 

Chaos::MakeHandleView

(
    const TArray< THandle* >& Han...
)

Public function

TParticleIte...

 

Chaos::MakeParticleIterator

(
    const TArray< TSOAView< TSOA >>& S...
)

Public function

TParticleVie...

 

Chaos::MakeParticleView

(
    TSOA* SOA
)

Public function

TParticleVie...

 

Chaos::MakeParticleView

(
    TArray< TSOAView< TSOA >>&& SOAVie...
)

Public function

TSerializabl...

 

Chaos::MakeSerializable

(
    const TSharedPtr< T, TESPMode >& S...
)

Public function

TSerializabl...

 

Chaos::MakeSerializable

(
    const TUniquePtr< T >&& Unique
)

Public function

TSerializabl...

 

Chaos::MakeSerializable

(
    const TUniquePtr< T >&& Unique
)

Public function

TSerializabl...

 

Chaos::MakeSerializable

(
    const TSerializablePtr< T >& P
)

Public function

TSerializabl...

 

Chaos::MakeSerializable

(
    const TUniquePtr< T >& Unique
)

Public function

TSerializabl...

 

Chaos::MakeSerializable

(
    const TUniquePtr< T >& Unique
)

Public function

const TVec3<...

 

Chaos::MinkowskiVert

(
    const TVec3< T >* VertsABuffer,
    const TVec3< T >* VertsBBuffer,
    const int32 Idx
)

Public function

constexpr in...

 

Chaos::NumBitsNeeded

(
    const int8 MaxValue
)

Counts the number of bits needed to represent an int with a max.

Public function

bool

 

Chaos::operator!=

Public function

bool

 

Chaos::operator!=

Public function

FComplex

 

Chaos::operator*

(
    const FReal Other,
    const FComplex Complex
)

Public function

TVec3< T > &

 

Chaos::operator[]

(
    uint32 InIndex
)

Public function

bool

 

Chaos::operator==

Public function

bool

 

Chaos::operator==

Public function Virtual Const

bool

 

Chaos::Overlap

(
    const TVec3< T >& Point,
    const T Thickness
)

Public function

bool

 

Chaos::OverlapQuery

(
    const FImplicitObject& A,
    const FRigidTransform3& ATM,
    const QueryGeometry& B,
    const FRigidTransform3& BTM,
    const FReal Thickness,
    FMTDInfo* OutMTD
)

Public function

constexpr EP...

 

Chaos::ParticlePropToFlag

(
    EParticleProperty Prop
)

Public function

void

 

Chaos::ParticlesParallelFor

(
    const TView& Particles,
    const Lambda& Func,
    bool bForceSingleThreaded
)

Public function

void

 

Chaos::ParticlesParallelForImp

(
    const THandleView< TSOA >& Particl...,
    const Lambda& Func
)

Public function

void

 

Chaos::ParticlesParallelForImp

(
    const TConstHandleView< TSOA >& Pa...,
    const Lambda& Func
)

Public function

void

 

Chaos::ParticlesParallelForImp

(
    const TArray< TParticle >& Particl...,
    const Lambda& Func
)

Public function

void

 

Chaos::ParticlesParallelForImp

(
    const TConstParticleView< TSOA >& ...,
    const Lambda& Func
)

Public function

void

 

Chaos::ParticlesParallelForImp

(
    const TParticleView< TSOA >& Parti...,
    const Lambda& Func
)

Public function

void

 

Chaos::ParticlesSequentialFor

(
    const TView& Particles,
    const Lambda& Func
)

Public function

void

 

Chaos::ParticleViewParallelForImp

(
    const TParticleView& Particles,
    const Lambda& Func
)

The function ParticlesParallelFor may be called on ParticleViews, HandleViews, or plain old manually curated arrays of either.

Public function

TEnableIf<&#...

 

Chaos::PBDComputeConstraintsLowLevel_Helper

(
    FReal Dt,
    const SpatialAccelerationCollection...,
    FSpatialAccelerationBroadPhase& Br...,
    FNarrowPhase& NarrowPhase,
    FAsyncCollisionReceiver& Receiver,
    CollisionStats::FStatData& StatDat...,
    IResimCacheBase* ResimCache
)

Public function

TEnableIf< T...

 

Chaos::PBDComputeConstraintsLowLevel_Helper

(
    FReal Dt,
    const SpatialAccelerationCollection...,
    FSpatialAccelerationBroadPhase& Br...,
    FNarrowPhase& NarrowPhase,
    FAsyncCollisionReceiver& Receiver,
    CollisionStats::FStatData& StatDat...,
    IResimCacheBase* ResimCache
)

Public function

void

 

Chaos::PBDRigidClusteredParticleDefaultConstruct

(
    FConcrete& Concrete,
    const FPBDRigidParticleParameters&...
)

Public function

void

 

Chaos::PBDRigidParticleDefaultConstruct

(
    FConcrete& Concrete,
    const FPBDRigidParticleParameters&...
)

Public function Virtual Const

T

 

Chaos::PhiWithNormal

(
    const TVec3< T >& InSamplePoint,
    TVec3< T >& OutNormal
)

Public function

bool

 

Chaos::PrePreFilterHelper

(
    const int32 Payload,
    const void* QueryData
)

Public function

TEnableIf< T...

 

Chaos::PrePreFilterHelper

(
    const TPayload& Payload,
    const void* QueryData
)

Public function

TEnableIf<&#...

 

Chaos::PrePreFilterHelper

(
    const TPayload& Payload,
    const void* QueryData
)

Public function

bool

 

Chaos::PrePreFilterImp

(
    const FCollisionFilterData& QueryF...,
    const FCollisionFilterData& UnionF...
)

Used to filter out at the acceleration structure layer Returns true when there is no way a later PreFilter will succeed.

Public function Virtual Const

bool

 

Chaos::Raycast

(
    const TVec3< T >& StartPoint,
    const TVec3< T >& Dir,
    const T Length,
    const T Thickness,
    T& OutTime,
    TVec3< T >& OutPosition,
    TVec3< T >& OutNormal,
    int32& OutFaceIndex
)

Public function

void

 

Chaos::ReorderGJKArray

(
    T* Data,
    FSimplex& Idxs
)

Public function

FSATResult

 

Chaos::SATEdgeEdge

(
    const ConvexImplicitType1& Convex1,
    const FRigidTransform3& Convex1Tra...,
    const ConvexImplicitType2& Convex2,
    const FRigidTransform3& Convex2Tra...,
    const FReal CullDistance
)

Find the nearest Edge-Edge pair that contributes to the minkowski surface.

Public function

FSATResult

 

Chaos::SATPenetration

(
    const ConvexImplicitType1& Convex1,
    const FRigidTransform3& Convex1Tra...,
    const ConvexImplicitType2& Convex2,
    const FRigidTransform3& Convex2Tra...,
    const FReal CullDistance,
    const FSATSettings& Settings
)

Separating Axis Test Find the pair of features with the minimum separation distance or the minimum depenetration distance

Public function

FSATResult

 

Chaos::SATPlaneVertex

(
    const ConvexImplicitType1& Convex1,
    const FRigidTransform3& Convex1Tra...,
    const ConvexImplicitType2& Convex2,
    const FRigidTransform3& Convex2Tra...,
    const FReal CullDistance
)

Find the nearest Plane-Vertex pair by looking at the Vertices of Convex1 and the Planes of Convex2.

Public function

bool

 

Chaos::SaveLoadUtility

(
    U& ObjectToSave,
    TCHAR const* SerializedBinaryD...,
    TCHAR const* BinaryFolderName,
    bool bSave,
    TArray< U >& ObjectsToTest
)

Serializes and loads ObjectToSave to memory and to disk, returning loaded versions in array for testing.

Public function Virtual

void

 

Chaos::Serialize

(
    FChaosArchive& Ar
)

Public function

void

 

Chaos::SetObjectStateHelper

(
    IPhysicsProxyBase& Proxy,
    FPBDRigidParticle& Rigid,
    EObjectStateType InState,
    bool bAllowEvents,
    bool bInvalidate
)

Public function

constexpr ES...

 

Chaos::ShapePropToFlag

(
    EShapeProperty Prop
)

Public function

bool

 

Chaos::SignMatch

(
    T A,
    T B
)

Public function

TVec3< T >

 

Chaos::SimplexFindClosestToOrigin

(
    TVec3< T >* Simplex,
    FSimplex& Idxs,
    T* OutBarycentric,
    TVec3< T >* A,
    TVec3< T >* B
)

Public function

bool

 

Chaos::SpatialAccelerationEqual

Public function Static

constexpr EI...

 

Chaos::StaticType()

Public function Virtual Const

TVec3< T >

 

Chaos::Support

(
    const TVec3< T >& Direction,
    const T Thickness
)

Public function

bool

 

Chaos::SweepQuery

(
    const FImplicitObject& A,
    const FRigidTransform3& ATM,
    const SweptGeometry& B,
    const FRigidTransform3& BTM,
    const FVec3& Dir,
    const FReal Length,
    FReal& OutTime,
    FVec3& OutPosition,
    FVec3& OutNormal,
    int32& OutFaceIndex,
    const FReal Thickness,
    const bool bComputeMTD
)

Public function

TVec3< T >

 

Chaos::TetrahedronSimplexFindOrigin

(
    const TVec3< T >* Simplex,
    FSimplex& Idxs,
    T* OutBarycentric
)

Public function

void

 

Chaos::TImplicitObjectTransformAccumulateSerializableHelper

(
    TArray< Pair< TSerializablePtr< FIm...,
    TSerializablePtr< FImplicitObject >...,
    const FRigidTransform3& NewTM
)

Public function

void

 

Chaos::TImplicitObjectTransformAccumulateSerializableHelper

(
    TArray< Pair< TSerializablePtr< FIm...,
    const FImplicitObject* Obj,
    const FRigidTransform3& NewTM
)

Public function

void

 

Chaos::TImplicitObjectTransformSerializeHelper

(
    FChaosArchive& Ar,
    TSerializablePtr< FImplicitObject >...
)

Public function

void

 

Chaos::TImplicitObjectTransformSerializeHelper

(
    FChaosArchive& Ar,
    const FImplicitObject* Obj
)

Public function

 

Chaos::TImplicitTriangle

(
    const TVec3< T >& InA,
    const TVec3< T >& InB,
    const TVec3< T >& InC
)

Public function

 

Chaos::TImplicitTriangle

(
    TImplicitTriangle&& InToSteal
)

  1. this class is to be deleted, use other triangle based ImplicitObjects

Public function Virtual Const

FString

 

Chaos::ToString()

Public function

TVec3< T >

 

Chaos::TriangleSimplexFindOrigin

(
    const TVec3< T >* Simplex,
    FSimplex& Idxs,
    T* OutBarycentric
)

Public function Static

constexpr FR...

 

Chaos::TriQuadPrismInflation()

When encountering a triangle or quad in hull generation (3-points or 4 coplanar points) we will instead generate a prism with a small thickness to emulate the desired result as a hull.

Public function Static

void

 

Chaos::UpdateElementHelper

(
    T& InElem,
    const T& InFrom
)

Public function

auto

 

Chaos::Utilities::CastHelper

(
    const FImplicitObject& Geom,
    const FRigidTransform3& TM,
    const Lambda& Func
)

Call the lambda with concrete shape type. Unwraps shapes contained in Instanced (e.g., Instanced-Sphere will be called with Sphere.

Public function

auto

 

Chaos::Utilities::CastHelper

(
    const FImplicitObject& Geom,
    const Lambda& Func
)

Call the lambda with concrete shape type. Unwraps shapes contained in Instanced (e.g., Instanced-Sphere will be called with Sphere.

Public function

auto

 

Chaos::Utilities::CastHelperNoUnwrap

(
    const FImplicitObject& Geom,
    const FRigidTransform3& TM,
    const Lambda& Func
)

Call the lambda with concrete shape type. This version does NOT unwrap shapes contained in Instanced or Scaled.

Public function

bool

 

Chaos::Utilities::ClipLineSegmentToAxisAlignedPlane

(
    FVec3& V0,
    FVec3& V1,
    const int32 AxisIndex,
    const FReal PlaneDir,
    const FReal PlanePos
)

Clip a line segment to the inside of an axis aligned plane (normal pointing outwards).

Public function

bool

 

Chaos::Utilities::ClipLineSegmentToPlane

(
    FVec3& V0,
    FVec3& V1,
    const FVec3& PlaneNormal,
    const FVec3& PlanePos
)

Clip a line segment to inside a plane (plane normal pointing outwards).

Public function

PMatrix< T, ...

 

Chaos::Utilities::ComputeJointFactorMatrix

(
    const TVec3< T >& V,
    const PMatrix< T, 3, 3 >& M,
    const T& Im
)

Calculate the matrix that maps a constraint position error to constraint position and rotation corrections.

Public function Static

FMatrix33

 

Chaos::Utilities::ComputeWorldSpaceInertia

(
    const FRotation3& CoMRotation,
    const FMatrix33& I
)

Calculate the world-space inertia (or inverse inertia) for a body with center-of-mass rotation "CoMRotation" and local-space inertia/inverse-inertia "I".

Public function Static

FMatrix33

 

Chaos::Utilities::ComputeWorldSpaceInertia

(
    const FRotation3& CoMRotation,
    const FVec3& I
)

Public function Static

FMatrix33

 

Chaos::Utilities::CrossProductMatrix

(
    const FVec3& V
)

Public function

TINT

 

Chaos::Utilities::Factorial

(
    TINT Num
)

Take the factorial of `Num_, which should be of integral type.

Public function

T

 

Chaos::Utilities::GetAverage

(
    const TARRAY& Values
)

Compute the average value.

Public function

void

 

Chaos::Utilities::GetMinAvgMax

(
    const TARRAY& Values,
    T& MinV,
    double& AvgV,
    T& MaxV
)

Compute the minimum, average, and maximum values of `Values_.

Public function

T

 

Chaos::Utilities::GetStandardDeviation

(
    const TARRAY& Values,
    const T Avg
)

Compute the standard deviation of Values_, given the average value of Avg_.

Public function

T

 

Chaos::Utilities::GetStandardDeviation

(
    const T Variance
)

Compute the standard deviation from `Variance_.

Public function

T

 

Chaos::Utilities::GetStandardDeviation

(
    const TARRAY& Values
)

Compute the standard deviation of `Values_ (computes their average on the fly).

Public function

T

 

Chaos::Utilities::GetVariance

(
    const TARRAY& Values
)

Compute the variance of `Values_ (computes their average on the fly).

Public function

T

 

Chaos::Utilities::GetVariance

(
    const TARRAY& Values,
    const T Avg
)

Compute the variance of Values_, given the average value of Avg_.

Public function

const FImpli...

 

Chaos::Utilities::ImplicitChildHelper

(
    const FImplicitObject* Implici...
)

Public function

bool

 

Chaos::Utilities::IntersectLineSegments2D

(
    const TVec2< T >& InStartA,
    const TVec2< T >& InEndA,
    const TVec2< T >& InStartB,
    const TVec2< T >& InEndB,
    T& OutTA,
    T& OutTB
)

Detects intersections between 2D line segments, returns intersection results as times along each line segment - these times can be used to calculate exact intersection locations

Public function

FMatrix33

 

Chaos::Utilities::Multiply

(
    const FMatrix33& L,
    const FMatrix33& R
)

Multiple two matrices: C = L.R @note This is the mathematically expected operator.

Public function

FMatrix44

 

Chaos::Utilities::Multiply

(
    const FMatrix44& L,
    const FMatrix44& R
)

Public function

FVec3

 

Chaos::Utilities::Multiply

(
    const FMatrix33& LIn,
    const FVec3& R
)

Multiple a vector by a matrix: C = L.R If L is a rotation matrix, then this will return R rotated by that rotation.

Public function

FVec4

 

Chaos::Utilities::Multiply

(
    const FMatrix44& LIn,
    const FVec4& R
)

Public function

FRigidTransf...

 

Chaos::Utilities::Multiply

(
    const FRigidTransform3 L,
    const FRigidTransform3& R
)

Concatenate two transforms. This returns a transform that logically applies R then L.

Public function

FMatrix33

 

Chaos::Utilities::MultiplyAB

(
    const FMatrix33& LIn,
    const FMatrix33& RIn
)

Public function

FMatrix33

 

Chaos::Utilities::MultiplyABt

(
    const FMatrix33& L,
    const FMatrix33& R
)

Public function

FMatrix33

 

Chaos::Utilities::MultiplyAtB

(
    const FMatrix33& L,
    const FMatrix33& R
)

Public function

TINT

 

Chaos::Utilities::NChooseR

(
    const TINT N,
    const TINT R
)

Number of ways to choose of R_ elements from a set of size N_, with no repetitions.

Public function

void

 

Chaos::Utilities::NearestPointsOnLineSegments

(
    const FVec3& P1,
    const FVec3& Q1,
    const FVec3& P2,
    const FVec3& Q2,
    FReal& S,
    FReal& T,
    FVec3& C1,
    FVec3& C2,
    const FReal Epsilon
)

For implementation notes, see "Realtime Collision Detection", Christer Ericson, 2005.

Public function

bool

 

Chaos::Utilities::NormalizeSafe

(
    FVec3& V,
    FReal EpsilonSq
)

Public function

TINT

 

Chaos::Utilities::NPermuteR

(
    const TINT N,
    const TINT R
)

Number of ways to choose of R_ elements from a set of size N_, with repetitions.

Public function

void

 

Chaos::Utilities::ProjectPointOntoAxisAlignedPlane

(
    FVec3& V,
    const FVec3& Dir,
    int32 AxisIndex,
    FReal PlaneDir,
    FReal PlanePos
)

Project a point V along direction Dir onto an axis aligned plane.

Public function

bool

 

Chaos::Utilities::ProjectPointOntoAxisAlignedPlaneSafe

(
    FVec3& V,
    const FVec3& Dir,
    int32 AxisIndex,
    FReal PlaneDir,
    FReal PlanePos,
    FReal Epsilon
)

Project a point V along direction Dir onto an axis aligned plane.

Public function

FVec3

 

Chaos::Utilities::ScaleInertia

(
    const FVec3& Inertia,
    const FVec3& Scale,
    const bool bScaleMass
)

Given the local-space diagonal inertia for an unscaled object, return an inertia as if generated from a non-uniformly scaled shape with the specified scale.

Public function

FMatrix33

 

Chaos::Utilities::ScaleInertia

(
    const FMatrix33& Inertia,
    const FVec3& Scale,
    const bool bScaleMass
)

Given the local-space inertia for an unscaled object, return an inertia as if generated from a non-uniformly scaled shape with the specified scale.

Public function

int32

 

Chaos::Utilities::WrapIndex

(
    int32 V,
    int32 Begin,
    int32 End
)

Replacement for FMath::Wrap that works for integers and returns a value in [Begin, End).

Public function

uint32

 

GetTypeHash

(
    const Chaos::TRigidTransform< Chaos...
)

Public function

bool

 

operator!=

(
    const FCollisionFilterData& A,
    const FCollisionFilterData& B
)

Public function

Chaos::PMatr...

 

operator*

(
    const Chaos::TRigidTransform< Chaos...,
    const Chaos::PMatrix< Chaos::FReal,...
)

Public function

Chaos::PMatr...

 

operator*

(
    const Chaos::PMatrix< Chaos::FReal,...,
    const Chaos::TRigidTransform< Chaos...
)

Public function

FParticleVel...

 

PARTICLE_PROPERTY

(
    Dynamics,
    FParticleDynamics
)

Public function

 

PARTICLE_PROPERTY

(
    XR,
    FParticlePositionRotation
)

Public function

FParticleVel...

 

PARTICLE_PROPERTY

(
    NonFrequentData,
    FParticleNonFrequentData
)

Public function

FParticleVel...

 

PROPERTY_TYPE

(
    FParticleDynamics_type,
    FParticleDynamics
)

Public function

FParticleVel...

 

PROPERTY_TYPE

(
    FMaterialData_type,
    FMaterialData
)

Public function

FParticleVel...

 

PROPERTY_TYPE

(
    FParticleNonFrequentData_type,
    FParticleNonFrequentData
)

Public function

 

PROPERTY_TYPE

(
    FParticlePositionRotation_type,
    FParticlePositionRotation
)

Public function

 

SHAPE_PROPERTY

(
    CollisionData,
    FCollisionData
)

Variables

Name Description

Public variable

const bool

 

bChaos_AxialSpring_ISPC_Enabled

Support ISPC enable/disable in non-shipping builds.

Public variable

const bool

 

bChaos_DampVelocity_ISPC_Enabled

Support ISPC enable/disable in non-shipping builds.

Public variable

const bool

 

bChaos_LongRange_ISPC_Enabled

Support ISPC enable/disable in non-shipping builds.

Public variable

const bool

 

bChaos_PerParticleCollision_ISPC_Enabled

Copyright Epic Games, Inc. All Rights Reserved.

Public variable

const bool

 

bChaos_Spherical_ISPC_Enabled

Copyright Epic Games, Inc. All Rights Reserved.

Public variable

const bool

 

bChaos_Spring_ISPC_Enabled

Support ISPC enable/disable in non-shipping builds.

Public variable

const bool

 

bChaos_TriangleMesh_ISPC_Enabled

Support ISPC enable/disable in non-shipping builds.

Public variable

const bool

 

bChaos_VelocityField_ISPC_Enabled

Support ISPC enable/disable in non-shipping builds.

Public variable

int32

 

ChaosNumContactIterationsOverride

Public variable

int32

 

ChaosNumPushOutIterationsOverride

Public variable

int32

 

ChaosRigidsEvolutionApplyAllowEarlyOutCVar

Copyright Epic Games, Inc. All Rights Reserved.

Public variable

int32

 

ChaosRigidsEvolutionApplyPushoutAllowEarlyOutCVar

Public variable

const int32

 

FiniteConvex

Private variable

TTriangle< T >

 

Tri

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss