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 class

Complex

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

FAABBTreePayloadInfo

Public struct

FBoundingVolumeCVars

Public class

FChaosArchive

Public class

FChaosArchiveContext

Public class

FChaosArchiveScopedMemory

Public class

FChaosPhysicsMaterial

Public class

FChaosPhysicsMaterialMask

Public struct

FClusterCreationParameters

Public struct

FCollisionConstraintsArray

Public struct

FCollisionFilterData

Copyright Epic Games, Inc. All Rights Reserved.

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

FConstraintHandle

Base class for constraint handles.

Public class

FConstraintRule

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

Public class

FConvex

Public class

FConvexBuilder

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

FDirtyIdx

Public class

FDirtyPropertiesManager

Public struct

FEPAFloodEntry

Public class

FErrorReporter

Public struct

FEvolutionStats

Public class

FFTProjection

Public class

FImplicitObject

Public class

FImplicitObjectUnion

Public class

FImplicitObjectUnionClustered

Public struct

FJointConstants

Public struct

FLatentDrawCommand

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

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

FParticleDirtyFlags

Public class

FParticleUniqueIndices

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

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

FPBDRigidsEvolutionBase

Public class

FPBDRigidsEvolutionGBF

Public class

FPBDRigidSpringConstraintHandle

Public class

FPBDRigidSpringConstraints

Public class

FPhysicalMaterialManager

Global manager for physical materials.

Public struct

FQueryFastData

Public struct

FQueryFastDataVoid

Dummy struct for templatized paths

Public class

FSimpleConstraintRule

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

Public struct

FSimplex

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

FTrackedGeometryManager

Public class

FTriangleMeshImplicitObject

Public class

FTrimeshIndexBuffer

Public struct

FUniqueIdx

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 struct

Pair

Public class

PBDCollisionSpringConstraintsBase

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

Public class

PBDSphericalConstraint

Public class

PBDTetConstraints

Public class

PBDTetConstraintsBase

Public class

PerParticlePBDCCDCollisionConstraint

Public class

PerParticlePBDGroundConstraint

Public class

PerParticlePBDSpringConstraints

Public class

PerParticlePBDTetConstraints

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 struct

TAABBTreeNode

Public class

TArrayAsMap

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

Public class

TArrayCollectionArray

Public class

TArrayFaceND

Public class

TArrayND

Public class

TBoundingVolume

Public class

TBoundingVolumeHierarchy

Public struct

TBoundsWrapperHelper

Public class

TBox

Public struct

TBreakingData

BreakingData passed from the physics solver to subsystems

Public struct

TBreakingDataExt

BreakingData used in the subsystems

Public struct

TBVCellElement

Public struct

TBVHLeafTraits

Copyright Epic Games, Inc. All Rights Reserved.

Public struct

TBVHNode

Public class

TBVHParticles

Public struct

TBVPayloadInfo

Public class

TCapsule

Public class

TChaosPhysicsMaterial

Public class

TClusterBuffer

Public class

TCollisionConstraintBase

Public class

TCollisionContact

Public struct

TCollisionData

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

Public struct

TCollisionDataExt

CollisionData used in the subsystems

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

TConstGenericParticleHandle

Public class

TConstHandleIterator

Public class

TConstHandleView

Public class

TConstParticleIterator

Public class

TConstParticleView

Public class

TConstraintHandleAllocator

An allocator for constraint handles.

Public struct

TContactIterationParameters

Public struct

TContactParticleParameters

Public class

TContainerConstraintHandle

Utility base class for ConstraintHandles.

Public class

TCylinder

Public struct

TCylinderSpecializeSamplingHelper

Public class

TDenseMatrix

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

Public class

TDirtyElementPool

Public class

TDynamicParticles

Public struct

TEPAEntry

Public class

TFFT

Public class

TGenericParticleHandle

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

Public class

TGenericParticleHandleHandleImp

Public class

TGeometryParticle

Public class

TGeometryParticleData

Public class

TGeometryParticleHandleImp

Public class

TGeometryParticleHandles

Public struct

TGeometryParticleParameters

Public class

TGeometryParticlesImp

Public class

THandleIterator

Public class

THandleView

Public class

THeightField

Public class

TImplicitObjectInstanced

Public class

TImplicitObjectIntersection

Public struct

TImplicitObjectPtrStorage

Public class

TImplicitObjectScaled

Public class

TImplicitObjectTransformed

Transform the contained shape.

Public class

TImplicitTriangle

Public class

TKinematicGeometryParticle

Public class

TKinematicGeometryParticleData

Public class

TKinematicGeometryParticleHandleImp

Public class

TKinematicGeometryParticlesImp

Public class

TLevelSet

Public class

TListThreadSafe

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

Public struct

TMassProperties

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 struct

TParticlePropertyTrait

Public class

TParticleRule

Apply an effect to all particles.

Public class

TParticles

Public class

TParticleView

Public struct

TPayloadBoundsElement

Public class

TPBDAnimDriveConstraint

Public class

TPBDAxialSpringConstraints

Public class

TPBDAxialSpringConstraintsBase

Public class

TPBDBendingConstraints

Public class

TPBDBendingConstraintsBase

Public class

TPBDChainConstraints

Public class

TPBDChainUpdateFromDeltaPosition

Public class

TPBDCollisionConstraintHandle

Public class

TPBDCollisionConstraints

A container and solver for collision constraints.

Public class

TPBDCollisionSphereConstraints

Public class

TPBDCollisionSpringConstraints

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

TPBDEvolution

Public class

TPBDGeometryCollectionParticle

Public class

TPBDGeometryCollectionParticleHandleImp

Public class

TPBDGeometryCollectionParticles

Public class

TPBDLongRangeConstraints

Public class

TPBDLongRangeConstraintsBase

Public class

TPBDParticles

Public class

TPBDPositionConstraintHandle

Public class

TPBDPositionConstraints

Public class

TPBDRigidClusteredParticleHandleImp

Public class

TPBDRigidClusteredParticles

Public class

TPBDRigidClustering

PDBRigidClustering

Public class

TPBDRigidDynamicSpringConstraintHandle

Public class

TPBDRigidDynamicSpringConstraints

Public class

TPBDRigidParticle

Public class

TPBDRigidParticleData

Public class

TPBDRigidParticleHandleImp

Public class

TPBDRigidParticles

Public class

TPBDRigidsEvolution

Public class

TPBDShapeConstraints

Public class

TPBDShapeConstraintsBase

Public class

TPBDSpringConstraints

Public class

TPBDSpringConstraintsBase

Public class

TPBDVolumeConstraint

Public class

TPBDVolumeConstraintBase

Public class

TPerCellBoundaryConditions

Public class

TPerCellBuoyancy

Public class

TPerCellGravity

Public class

TPerCellSemiLagrangianAdvection

Public class

TPerGroupDampVelocity

Public class

TPerParticleAddImpulses

Public class

TPerParticleDampVelocity

Public class

TPerParticleEtherDrag

Public class

TPerParticleEulerStepVelocity

Public class

TPerParticleExternalForces

Public class

TPerParticleGravity

Public class

TPerParticleInitForce

Public class

TPerParticlePBDCollisionConstraint

Public class

TPerParticlePBDEulerStep

Update position and rotation based on velocity and angular velocity.

Public class

TPerParticlePBDLongRangeConstraints

Public class

TPerParticlePBDShapeConstraints

Public class

TPerParticlePBDUpdateFromDeltaPosition

Public class

TPerParticleRule

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

Public class

TPlane

Public class

TPlaneConcrete

Public class

TPressureProjection

Public class

TRemoteParticleProperty

Public struct

TRigidBodyContactConstraintPGS

Public class

TRigidBodyMultiPointContactConstraint

Public class

TRigidBodyPointContactConstraint

Public class

TRigidBodySweptPointContactConstraint

Public class

TRigidParticles

Public class

TRigidTransform

Public class

TRotation

Public class

TSegment

Public class

TSegmentMesh

Mesh structure of connected particles via edges.

Public class

TSerializablePtr

Public class

TSimpleConstraintRule

Public struct

TSleepData

Public struct

TSleepingData

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

TTaperedCylinder

Public struct

TTaperedCylinderSpecializeSamplingHelper

Public struct

TTrailingData

TrailingData passed from the physics solver to subsystems

Public struct

TTrailingDataExt

TrailingData used in subsystems

Public class

TTriangle

Public class

TTriangleMesh

Public class

TUniformGrid

Public class

TUniformGridBase

Public class

TVelocityField

Velocity field basic implementation TODO: Add lift

Public class

TXPBDAxialSpringConstraints

Public class

TXPBDLongRangeConstraints

Public class

TXPBDSpringConstraints

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

ChaosGeometrySp

EImplicitObjectType

FAABB3

FBVHParticlesFloat3

FChaosConstMaterialHandle

FChaosConstMaterialMaskHandle

FChaosMaterialHandle

FChaosMaterialMaskHandle

FCollisionConstraintBase

FCollisionContact

FContactIterationParameters

FContactParticleParameters

FImplicitObject3

FJointPostApplyCallback

FJointPreApplyCallback

FMaterialArray

FMaterialCreatedDelegate

FMaterialDestroyedDelegate

FMaterialMaskArray

FMaterialMaskCreatedDelegate

FMaterialMaskDestroyedDelegate

FMaterialMaskUpdatedDelegate

FMaterialUpdatedDelegate

FOnMaterialCreated

FOnMaterialDestroyed

FOnMaterialMaskCreated

FOnMaterialMaskDestroyed

FOnMaterialMaskUpdated

FOnMaterialUpdated

FPBDCollisionConstraintHandle

FPBDRigidsEvolutionCallback

FPBDRigidsEvolutionInternalHandleCallback

FPBDRigidsEvolutionIslandCallback

FPhysicsSolver

FRigidBodyMultiPointContactConstraint

FRigidBodyPointContactConstraint

FRigidBodySweptPointContactConstraint

NotThreadSafeSharedPtr_FImplicitObject

SpatialAccelerationType

TCollisionModifierCallback

TGeometryClothParticles

TGeometryParticleFloat3

TGeometryParticleHandle

TGeometryParticles

ThreadSafeSharedPtr_FImplicitObject

TImplicitObjectScaledGeneric

TImplicitObjectScaledNonSerializable

TImplicitObjectTransformedNonSerializable

TKinematicGeometryClothParticles

TKinematicGeometryParticleHandle

TKinematicGeometryParticles

TPBDGeometryCollectionParticleHandle

TPBDGeometryCollectionParticleHandleFloat3

TPBDRigidClusteredParticleHandle

TPBDRigidClusteredParticleHandleFloat3

TPBDRigidParticleHandle

TPBDRigidParticleHandleFloat3

TRigidBodyContactConstraintsPostApplyCallback

TRigidBodyContactConstraintsPostApplyPushOutCallback

TRigidBodyContactConstraintsPostComputeCallback

TShapesArray

TTransientGeometryParticleHandle

TTransientKinematicGeometryParticleHandle

TTransientPBDGeometryCollectionParticleHandle

TTransientPBDRigidClusteredParticleHandle

TTransientPBDRigidParticleHandle

Enums

Name

Description

Public enum

Chaos::DebugDraw::EDebugDrawJointFeature

Public enum

Chaos::EAABBQueryType

Copyright Epic Games, Inc. All Rights Reserved.

Public enum

Chaos::EChaosCollisionTraceFlag

Copyright Epic Games, Inc. All Rights Reserved.

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::EContactShapesType

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

Public enum

Chaos::EGeometryParticlesSimType

Copyright Epic Games, Inc. All Rights Reserved.

Public enum

Chaos::EImplicitObject::Flags

Public enum

Chaos::EJointAngularConstraintIndex

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

Public enum

Chaos::EJointForceMode

Copyright Epic Games, Inc. All Rights Reserved.

Public enum

Chaos::EJointMotionType

Copyright Epic Games, Inc. All Rights Reserved.

Public enum

Chaos::EKinematicTargetMode

Controls how a kinematic body is integrated each Evolution Advance

Public enum

Chaos::EObjectStateType

Copyright Epic Games, Inc. All Rights Reserved.

Public enum

Chaos::EPAResult

Copyright Epic Games, Inc. All Rights Reserved.

Public enum

Chaos::EParticleFlags

Copyright Epic Games, Inc. All Rights Reserved.

Public enum

Chaos::EParticleProperty

Copyright Epic Games, Inc. All Rights Reserved.

Public enum

Chaos::EParticlePropertyType

Copyright Epic Games, Inc. All Rights Reserved.

Public enum

Chaos::EParticleType

Used for down casting when iterating over multiple SOAs.

Public enum

Chaos::ERemoveParticleBehavior

Copyright Epic Games, Inc. All Rights Reserved.

Public enum

Chaos::ESpatialAcceleration

Copyright Epic Games, Inc. All Rights Reserved.

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

TEnableIf <&#...

 

Chaos::CallMoveToTOIHack_Helper

(
    FReal Dt,
    const SpatialAccelerationCollection...,
    TTransientPBDRigidParticleHandle < F ...
)

Public function

TEnableIf < T ...

 

Chaos::CallMoveToTOIHack_Helper

(
    FReal Dt,
    const SpatialAccelerationCollection...,
    TTransientPBDRigidParticleHandle < F ...
)

Public function

TArray < TVec ...

 

Chaos::CleanCollisionParticles

(
    const TArray < TVector < T, d >>& Ve...,
    const float SnapDistance
)

Public function

TArray < TVec ...

 

Chaos::CleanCollisionParticles

(
    const TArray < TVector < T, d >>& Ve...,
    TAABB < T, d > BBox,
    const float SnapDistance
)

Public function

TArray < TVec ...

 

Chaos::CleanCollisionParticles

(
    TTriangleMesh < T >& TriMesh,
    const TArrayView < const TVector < T,...,
    const float Fraction
)

Public function

void

 

Chaos::CleanCollisionParticles

(
    TTriangleMesh < T >& TriMesh,
    const TArrayView < const TVector < T,...,
    const float Fraction,
    TSet < int32 >& ResultingIndices
)

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 OBJECT_ARRAY& Objects,
    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 TGeometryParticles < T, d >& ...,
    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

TEnableIf <&#...

 

Chaos::ComputeAllWorldSpaceBoundingBoxes

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

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

(
    FVec3 Vel,
    FReal Dt,
    FReal BoundsThickness,
    FReal BoundsVelocityInflation
)

Public function

FVec3

 

Chaos::ComputeBoundsThickness

(
    const THandle & PBDRigid,
    FReal Dt,
    FReal BoundsThickness,
    FReal BoundsVelocityInflation
)

Public function

FVec3

 

Chaos::ComputeBoundsThickness

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

Public function

FVec3

 

Chaos::ComputeBoundsThickness

(
    const TKinematicGeometryParticles < ...,
    FReal Dt,
    int32 BodyIndex,
    FReal BoundsThickness,
    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, 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 TParticles < T, d >& Objects,
    const int32 i,
    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 TGeometryParticleHandleImp < T...,
    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

void

 

Chaos::EnsureSleepingObjectState

(
    EObjectStateType ObjectState
)

Public function

EPAResult

 

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
)

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

void

 

Chaos::FreeObjHelper

(
    T*& RawPtr
)

Public function

void

 

Chaos::FreeObjHelper

Public function

void

 

Chaos::GeometryParticleDefaultConstruct

(
    FConcrete& Concrete,
    const TGeometryParticleParameters < ...
)

Concrete can either be the game thread or physics representation, but API stays the same.

Public function

bool

 

Chaos::GeometryParticleSleeping

(
    const FConcrete& Concrete
)

Public function

const auto &

 

Chaos::GetAccelerationsPerType

(
    const TSpatialTypeTuple < First, Res...
)

Public function

auto &

 

Chaos::GetAccelerationsPerType

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

Public function

TGeometryPar ...

 

Chaos::GetHandleHelper

Public function

const TGeome ...

 

Chaos::GetHandleHelper

(
    const TGeometryParticleHandle < T, d...
)

Public function

TGeometryPar ...

 

Chaos::GetHandleHelper

(
    TGeometryParticleHandle < T, d >...
)

Public function

const TGeome ...

 

Chaos::GetHandleHelper

(
    const TTransientGeometryParticleHan ...
)

Public function

EImplicitObj ...

 

Chaos::GetInnerType

(
    EImplicitObjectType Type
)

Public function

int32

 

Chaos::GetObjectCount

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

Public function

int32

 

Chaos::GetObjectCount

(
    const TParticles < T, d >& Objects
)

Public function

int32

 

Chaos::GetObjectCount

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

Public function

int32

 

Chaos::GetObjectCount

(
    const OBJECT_ARRAY& Objects
)

Public function

uint32

 

Chaos::GetTypeHash

(
    const FUniqueIdx & Unique
)

Public function

uint32

 

Chaos::GetTypeHash

(
    const TSerializablePtr < T >& Ptr
)

Public function

uint32

 

Chaos::GetTypeHash

(
    const FSpatialAccelerationIdx & Idx
)

Public function Static

uint32

 

Chaos::GetTypeHash

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

Public function

TEnableIf <&#...

 

Chaos::GetUniqueIdx

(
    const TPayload & Payload
)

Public function

TEnableIf < T ...

 

Chaos::GetUniqueIdx

(
    const TPayload & Payload
)

Public function

FUniqueIdx

 

Chaos::GetUniqueIdx

(
    const int32 Payload
)

Public function

FUniqueIdx

 

Chaos::GetUniqueIdx

(
    const FUniqueIdx Payload
)

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 TParticles < T, d >& 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

bool

 

Chaos::GJKDistance

(
    const TGeometryA& A,
    const TGeometryB& B,
    const TRigidTransform < T, 3 >& BTo...,
    T& OutDistance,
    TVector < T, 3 >& OutNearestA,
    TVector < T, 3 >& OutNearestB,
    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 TGeometryA& A,
    const TGeometryB& B,
    const TRigidTransform < T, 3 >& BTo...
)

Used by GJKDistance.

Public function

TVector < T, ...

 

Chaos::GJKDistanceInitialV

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

Public function

TVector < T, ...

 

Chaos::GJKDistanceInitialV

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

Overloads for geometry types which don't have centroids.

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

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,
    const T InThicknessA,
    const TVector < T, 3 >& InitialDir,
    const T InThicknessB,
    int32 * OutNumIterations
)

This function will be faster if bNegativePenetrationSupport is false, so don't use the feature if not required.

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 TCapsule < T >& 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 TPBDRigidParticles < T, d >& ...,
    const int32 i
)

Public function

bool

 

Chaos::HasBoundingBox

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

Public function

bool

 

Chaos::HasBoundingBox

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

Public function

bool

 

Chaos::HasBoundingBox

(
    const OBJECT_ARRAY& Objects,
    const int32 i
)

Public function

bool

 

Chaos::HasBoundingBox

(
    const TPBDRigidParticleHandleImp < T...
)

Public function

bool

 

Chaos::HasBoundingBox

(
    const TGeometryParticleHandleImp < 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

bool

 

Chaos::IsInstanced

(
    EImplicitObjectType Type
)

Public function

bool

 

Chaos::IsPowerOfTwo

(
    const Vector< int32 , d >& Counts
)

Public function

bool

 

Chaos::IsScaled

(
    EImplicitObjectType Type
)

Public function

constexpr TE ...

 

Chaos::IsSerializablePtr()

Public function

void

 

Chaos::KinematicGeometryParticleDefaultConstruct

(
    FConcrete& Concrete,
    const TKinematicGeometryParticlePar ...
)

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

THandleItera ...

 

Chaos::MakeHandleIterator

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

Public function

THandleView <...

 

Chaos::MakeHandleView

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

Public function

Pair < T1, T2...

 

Chaos::MakePair

(
    const T1& First,
    const T2& Second
)

Public function

TParticleIte ...

 

Chaos::MakeParticleIterator

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

Public function

TParticleVie ...

 

Chaos::MakeParticleView

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

Public function

TParticleVie ...

 

Chaos::MakeParticleView

(
    TSOA* SOA
)

Public function

TSerializabl ...

 

Chaos::MakeSerializable

(
    const TUniquePtr < T >& Unique
)

Public function

TSerializabl ...

 

Chaos::MakeSerializable

(
    const TUniquePtr < T >& Unique
)

Public function

TSerializabl ...

 

Chaos::MakeSerializable

(
    const TUniquePtr < T >&& Unique
)

Public function

TSerializabl ...

 

Chaos::MakeSerializable

(
    const TUniquePtr < T >&& Unique
)

Public function

TSerializabl ...

 

Chaos::MakeSerializable

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

Public function

const TVec3 <...

 

Chaos::MinkowskiVert

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

Public function

void

 

Chaos::MoveToTOIHackImpl

(
    FReal Dt,
    TTransientPBDRigidParticleHandle < F ...,
    const T_SPATIALACCELERATION* S...
)

Public function

constexpr in ...

 

Chaos::NumBitsNeeded

(
    const int8 MaxValue
)

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

Public function

Complex < T >

 

Chaos::operator*

(
    const float Other,
    const Complex < T > Complex
)

Public function

bool

 

Chaos::operator==

(
    const Pair < T1, T2 >& First,
    const Pair < T1, T2 >& Second
)

Public function

bool

 

Chaos::operator>

(
    const Pair < T1, T2 >& First,
    const Pair < T1, T2 >& Second
)

Public function

bool

 

Chaos::OverlapQuery

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

Public function

void

 

Chaos::ParticlesParallelFor

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

Public function

void

 

Chaos::ParticlesParallelForImp

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

Public function

void

 

Chaos::ParticlesParallelForImp

(
    const THandleView < TSOA >& 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::ParticlesParallelForImp

(
    const TArray < TParticle >& Particl...,
    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...
)

Public function

TEnableIf < T ...

 

Chaos::PBDComputeConstraintsLowLevel_Helper

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

Public function

void

 

Chaos::PBDRigidClusteredParticleDefaultConstruct

(
    FConcrete& Concrete,
    const TPBDRigidParticleParameters < ...
)

Public function

void

 

Chaos::PBDRigidParticleDefaultConstruct

(
    TPBDRigidParticle < T, d >& Concret...,
    const TPBDRigidParticleParameters < ...
)

Public function

void

 

Chaos::PBDRigidParticleHandleImpDefaultConstruct

(
    TPBDRigidParticleHandleImp < T, d, b...,
    const TPBDRigidParticleParameters < ...
)

Public function

TEnableIf <&#...

 

Chaos::PrePreFilterHelper

(
    const TPayload & Payload,
    const void * QueryData
)

Public function

TEnableIf < T ...

 

Chaos::PrePreFilterHelper

(
    const TPayload & Payload,
    const void * QueryData
)

Public function

bool

 

Chaos::PrePreFilterHelper

(
    const int32 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

void

 

Chaos::ReorderGJKArray

(
    T* Data,
    FSimplex & Idxs
)

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

bool

 

Chaos::SignMatch

(
    T A,
    T B
)

Public function

TVector < T, ...

 

Chaos::SimplexFindClosestToOrigin

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

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

TVector < T, ...

 

Chaos::TetrahedronSimplexFindOrigin

(
    const TVector < T, 3 >* 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,
    const FImplicitObject * Obj
)

Public function

void

 

Chaos::TImplicitObjectTransformSerializeHelper

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

Public function

TVector < T, ...

 

Chaos::TriangleSimplexFindOrigin

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

Public function Static

constexpr fl...

 

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
)

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 TVector < T, 3 >& 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 FVec3 & I
)

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

PMatrix < flo...

 

Chaos::Utilities::CrossProductMatrix

(
    const TVector < float, 3 >& 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,
    const T Avg
)

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

Public function

T

 

Chaos::Utilities::GetVariance

(
    const TARRAY& Values
)

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

Public function

const FImpli ...

 

Chaos::Utilities::ImplicitChildHelper

(
    const FImplicitObject * Implici...
)

Public function

bool

 

Chaos::Utilities::IntersectLineSegments2D

(
    const TVector < T, 2 >& InStartA,
    const TVector < T, 2 >& InEndA,
    const TVector < T, 2 >& InStartB,
    const TVector < T, 2 >& 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

PMatrix < flo...

 

Chaos::Utilities::Multiply

(
    const PMatrix < float, 3, 3 >& L,
    const PMatrix < float, 3, 3 >& R
)

Multiple two matrices: C = L.R

Public function

TRigidTransf ...

 

Chaos::Utilities::Multiply

(
    const TRigidTransform < float, 3 > L,
    const TRigidTransform < float, 3 >&...
)

Public function

TRigidTransf ...

 

Chaos::Utilities::Multiply

(
    const TRigidTransform < T, d > L,
    const TRigidTransform < T, d >& R
)

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

Public function

TVector < flo...

 

Chaos::Utilities::Multiply

(
    const PMatrix < float, 3, 3 >& LIn,
    const TVector < float, 3 >& 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

PMatrix < flo...

 

Chaos::Utilities::MultiplyAB

(
    const PMatrix < float, 3, 3 >& LIn,
    const PMatrix < float, 3, 3 >& RIn
)

Public function

PMatrix < flo...

 

Chaos::Utilities::MultiplyABt

(
    const PMatrix < float, 3, 3 >& L,
    const PMatrix < float, 3, 3 >& R
)

Public function

PMatrix < flo...

 

Chaos::Utilities::MultiplyAtB

(
    const PMatrix < float, 3, 3 >& L,
    const PMatrix < float, 3, 3 >& 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

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 inertia for an unscaled object, return an inertia as if generated from a non-uniformly scaled shape with the specified scale.

Public function

void

 

ChaosTest::TestPendingSpatialDataHandlePointerConflict()

Public function

uint32

 

GetTypeHash

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

Public function

bool

 

operator!=

(
    const FCollisionFilterData & A,
    const FCollisionFilterData & B
)

Public function

Chaos::PMatr ...

 

operator*

(
    const Chaos::TRigidTransform < float...,
    const Chaos::PMatrix < float, 4, 4 >...
)

Public function

Chaos::PMatr ...

 

operator*

(
    const Chaos::PMatrix < float, 4, 4 >...,
    const Chaos::TRigidTransform < float...
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    CollisionTraceType,
    EChaosCollisionTraceFlag
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    UniqueIdx,
    FUniqueIdx
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    GravityEnabled,
    bool
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    LinearImpulse,
    FVec3
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    ObjectState,
    EObjectStateType
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    LinearEtherDrag,
    FReal
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    M,
    FReal
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    I,
    FMatrix33
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    F,
    FVec3
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    P,
    FVec3
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    PreV,
    FVec3
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    CollisionGroup,
    int32
)

Public function

FRotation3

 

PARTICLE_PROPERTY

(
    V,
    FVec3
)

Public function

 

PARTICLE_PROPERTY

(
    X,
    FVec3
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    CenterOfMass,
    FVec3
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    UniqueIdx,
    FUniqueIdx
)

Public function

 

PARTICLE_PROPERTY

(
    X,
    FVec3
)

Public function

FRotation3

 

PARTICLE_PROPERTY

(
    V,
    FVec3
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    CenterOfMass,
    FVec3
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    CollisionGroup,
    int32
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    CollisionTraceType,
    EChaosCollisionTraceFlag
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    P,
    FVec3
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    F,
    FVec3
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    PreV,
    FVec3
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    M,
    FReal
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    LinearEtherDrag,
    FReal
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    ObjectState,
    EObjectStateType
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    LinearImpulse,
    FVec3
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    GravityEnabled,
    bool
)

Public function

FRotation3 F...

 

PARTICLE_PROPERTY

(
    I,
    FMatrix33
)

Public function

FRotation3 b ...

 

PARTICLE_PROPERTY_TYPE

(
    ChaosCollisionTraceFlag_type,
    EChaosCollisionTraceFlag
)

Public function

 

PARTICLE_PROPERTY_TYPE

(
    Vec3_type,
    FVec3
)

Public function

FRotation3

 

PARTICLE_PROPERTY_TYPE

(
    int32_type,
    int32
)

Public function

FRotation3 b ...

 

PARTICLE_PROPERTY_TYPE

(
    Matrix33_type,
    FMatrix33
)

Public function

FRotation3 b ...

 

PARTICLE_PROPERTY_TYPE

(
    ObjectStateType_type,
    EObjectStateType
)

Public function

FRotation3 b ...

 

PARTICLE_PROPERTY_TYPE

(
    SpatialAccelerationIdx_type,
    FSpatialAccelerationIdx
)

Public function

FRotation3 b ...

 

PARTICLE_PROPERTY_TYPE

(
    VoidPtr_type,
    void *
)

Variables

Name Description

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

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback