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


module: Chaos

code: template<class T_SCALAR> void Apply ( const [TUniformGrid](API\Runtime\Chaos\Chaos\TUniformGrid)< T, d > & Grid, [TArrayND](API\Runtime\Chaos\Chaos\TArrayND)< T_SCALAR, d > & Scalar, const [TArrayND](API\Runtime\Chaos\Chaos\TArrayND)< T_SCALAR, d > & ScalarN, const [TArrayFaceND](API\Runtime\Chaos\Chaos\TArrayFaceND)< T, d > & VelocityN, const T Dt, const [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, d > & Index )


className: TPerCellGravity

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


className: TPerCellSemiLagrangianAdvection

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


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


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


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


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


description: Phi is positive on the side of the normal, and negative otherwise.

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


code: const [TPlaneConcrete](API\Runtime\Chaos\Chaos\TPlaneConcrete)< T > & PlaneConcrete() const


description: This gives derived types a way to avoid calling PhiWithNormal todo: this api is confusing.

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


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


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


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


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


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


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


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


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


className: TPlane

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


code: [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) FindClosestPoint ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & x, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness ) const


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


code: template<typename U> static [TPlaneConcrete](API\Runtime\Chaos\Chaos\TPlaneConcrete)< T > MakeFrom ( const [TPlaneConcrete](API\Runtime\Chaos\Chaos\TPlaneConcrete)< U > & Plane )


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


description: Scale the plane and assume that any of the scale components could be zero.

code: static [TPlaneConcrete](API\Runtime\Chaos\Chaos\TPlaneConcrete)< T > MakeScaledSafe ( const [TPlaneConcrete](API\Runtime\Chaos\Chaos\TPlaneConcrete)< T > & Plane, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Scale )


description: Scale the plane and assume that none of the scale components are zero.

code: template<typename U> static [TPlaneConcrete](API\Runtime\Chaos\Chaos\TPlaneConcrete)< T > MakeScaledUnsafe ( const [TPlaneConcrete](API\Runtime\Chaos\Chaos\TPlaneConcrete)< U > & Plane, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Scale, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & InvScale )


code: template<typename U> static void MakeScaledUnsafe ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< U > & PlaneN, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< U > & PlaneX, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Scale, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & InvScale, [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & OutN, [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & OutX )


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


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


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


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


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


code: template<typename U> U SignedDistance ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< U > & x ) const


code: TPlaneConcrete ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & InX, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & InNormal )


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


className: TPlaneConcrete

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


code: void Apply ( const [TUniformGrid](API\Runtime\Chaos\Chaos\TUniformGrid)< T, d > & Grid, [TArrayFaceND](API\Runtime\Chaos\Chaos\TArrayFaceND)< T, d > & Velocity, const [TArrayND](API\Runtime\Chaos\Chaos\TArrayND)< bool, d > & Dirichlet, const [TArrayFaceND](API\Runtime\Chaos\Chaos\TArrayFaceND)< bool, d > & Neumann, const T dt )


className: TPressureProjection

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


code: T & GetElement ( const [FPropertyIdx](API\Runtime\Chaos\Chaos\FPropertyIdx) Idx )


code: T & AddElement ( [FPropertyIdx](API\Runtime\Chaos\Chaos\FPropertyIdx) & OutIdx )


code: const T & GetElement ( const [FPropertyIdx](API\Runtime\Chaos\Chaos\FPropertyIdx) Idx ) const


code: void RemoveElement ( const [FPropertyIdx](API\Runtime\Chaos\Chaos\FPropertyIdx) Idx )


className: TPropertyPool

code: template<typename T> class TPropertyPool


code: template<typename TProxy> static void Apply ( TDispatcher & Dispatcher, TProxy * Proxy )


className: TPullPhysicsStateDispatchHelper

description: This lets us add support for performing per-proxy operations in PullPhysicsStateForEachDirtyProxy_External without the need to keep adding function parameters to keep taking in lambdas. We assume that the incoming user-specified TDispatcher has various operator() overridden to take in a specific proxy pointer. We require theTPullPhysicsStateDispatchHelperthen to wrap the TDispatcher so that we can check if the incoming TDispatcher has a override for the proxy we want to pass to it. If it does not, we do nothing. This lets us maintain backward compatability as we keep adding in new proxy types while not requiring any additional computation at runtime since this dispatch is all done at compile time.

code: template<typename TDispatcher> struct TPullPhysicsStateDispatchHelper


className: BaryTolerance

code: static constexpr T BaryTolerance = (T) (1.e-8f);


className: ParallelTolerance

code: static constexpr T ParallelTolerance = (T) (1.e-8f);


code: template<typename T> struct TRayTriangleIntersectionDefaultToleranceProvider


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


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


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


code: void AddSleepData ( [TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< T, d > * Particle, bool Sleeping )


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


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


code: const T & AngularEtherDrag ( const int32 index ) const


code: T & AngularEtherDrag ( const int32 index )


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


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


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


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


code: uint32 CollisionConstraintFlags ( const int32 Index ) const


code: const int32 CollisionGroup ( const int32 Index ) const


code: int32 & CollisionGroup ( const int32 Index )


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


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


code: void CollisionParticlesInitIfNeeded ( const int32 Index )


code: const [FRigidParticleControlFlags](API\Runtime\Chaos\Chaos\FRigidParticleControlFlags) & ControlFlags ( const int32 Index ) const


code: int32 CollisionParticlesSize ( int32 Index ) const


code: [FRigidParticleControlFlags](API\Runtime\Chaos\Chaos\FRigidParticleControlFlags) & ControlFlags ( const int32 Index )


code: int8 DisableCounter ( const int32 Index ) const


code: int8 & DisableCounter ( const int32 Index )


code: const bool Disabled ( const int32 Index ) const


code: bool & DisabledRef ( const int32 Index )


code: const bool Dynamic ( const int32 Index ) const


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


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


code: const bool HasInfiniteMass ( const int32 Index ) const


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


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


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


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


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


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


code: const T InvM ( const int32 Index ) const


code: const T & LinearEtherDrag ( const int32 index ) const


code: T & LinearEtherDrag ( const int32 index )


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


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


code: const T M ( const int32 Index ) const


code: T & MaxAngularSpeedSq ( const int32 index )


code: const T & MaxLinearSpeedSq ( const int32 index ) const


code: T & MaxLinearSpeedSq ( const int32 index )


code: const T & MaxAngularSpeedSq ( const int32 index ) const


code: const [EObjectStateType](API\Runtime\Chaos\Chaos\Chaos__EObjectStateType) ObjectState ( const int32 Index ) const


code: [EObjectStateType](API\Runtime\Chaos\Chaos\Chaos__EObjectStateType) & ObjectState ( const int32 Index )


code: const [EObjectStateType](API\Runtime\Chaos\Chaos\Chaos__EObjectStateType) PreObjectState ( const int32 Index ) const


code: [EObjectStateType](API\Runtime\Chaos\Chaos\Chaos__EObjectStateType) & PreObjectState ( const int32 Index )


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


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


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


code: void SetCollisionConstraintFlags ( const int32 Index, const uint32 Flags )


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


code: void SetCollisionParticles ( const int32 Index, [TParticles](API\Runtime\Chaos\Chaos\TParticles)< T, d > && Particles )


description: DisableParticle/EnableParticle on Evolution should be used. Don't disable particles with this. Using this will break stuff. This is for solver's use only, and possibly some particle construction/copy code.

code: void SetDisabledLowLevel ( const int32 Index, bool InDisabled )


code: int8 & SleepCounter ( const int32 Index )


code: int8 SleepCounter ( const int32 Index ) const


code: const bool Sleeping ( const int32 Index ) const


code: [ESleepType](API\Runtime\Chaos\Chaos\Chaos__ESleepType) SleepType ( const int32 Index ) const


code: [ESleepType](API\Runtime\Chaos\Chaos\Chaos__ESleepType) & SleepType ( const int32 Index )


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


code: const [FRigidParticleTransientFlags](API\Runtime\Chaos\Chaos\FRigidParticleTransientFlags) & TransientFlags ( const int32 Index ) const


code: [FRigidParticleTransientFlags](API\Runtime\Chaos\Chaos\FRigidParticleTransientFlags) & TransientFlags ( const int32 Index )


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


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


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


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


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


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


className: TRigidTransform

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

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


className: TRigidParticles

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


className: TRotation

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


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


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


code: const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > GetCenter() const


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


code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > GetX2() const


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


code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > Support ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Direction, const T Thickness, int32 & VertexIndex ) const


code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > SupportCore ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Direction, int32 & VertexIndex ) const


code: TSegment ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & X1, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & X2 )


code: TSegment ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & X1, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Axis, const T Length )


className: TSegment

code: template<class T> class TSegment


className: TSerializablePtr::operator bool

code: operator bool() const


className: TSerializablePtr::operator TSerializablePtr< R >

code: template<typename R> operator TSerializablePtr< R >() const


code: bool operator== ( const [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< T > & Serializable ) const


code: bool operator!= ( const [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< T > & Serializable ) const


description: NOTE: this is needed for serialization. This should NOT be used directly.

code: void SetFromRawLowLevel ( const T * InPtr )


code: template<typename R> TSerializablePtr ( const [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< R > & Unique )


code: TSerializablePtr ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< T > && Unique )


description: Template=""> TSerializablePtr(const TSerializablePtr& Other) : Ptr(Other.Get()) {}

code: template<ESPMode TESPMode> TSerializablePtr ( const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< T, TESPMode > & Shared )


code: TSerializablePtr &40; T &42; InPtr &41;


className: TSerializablePtr

code: template<typename T> class TSerializablePtr


code: template<typename Lambda> void Modify ( bool bInvalidate, [FShapeDirtyFlags](API\Runtime\Chaos\Chaos\FShapeDirtyFlags) & Dirty, [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) * Proxy, int32 ShapeIdx, const Lambda & LambdaFunc )


className: PropertyFlag

code: static constexpr [EShapeFlags](API\Runtime\Chaos\Chaos\Chaos__EShapeFlags) PropertyFlag = ShapePropToFlag(PropName);


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


code: void SyncRemote ( [FDirtyPropertiesManager](API\Runtime\Chaos\Chaos\FDirtyPropertiesManager) & Manager, int32 DataIdx, [FShapeDirtyData](API\Runtime\Chaos\Chaos\FShapeDirtyData) & Remote ) const


code: void Write ( const T & Val, bool bInvalidate, [FShapeDirtyFlags](API\Runtime\Chaos\Chaos\FShapeDirtyFlags) & Dirty, [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) * Proxy, int32 ShapeIdx )


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


description: We don't support this because it could lead to bugs with values not being properly written to remote

code: TShapeProperty ( const [TShapeProperty](API\Runtime\Chaos\Chaos\TShapeProperty)< T, PropName > & Rhs )


className: TShapeProperty

code: template<typename T, [EShapeProperty](API\Runtime\Chaos\Chaos\Chaos__EShapeProperty) PropName> class TShapeProperty


description: Free the output data. Note that allocation is done on the internal thread, but freeing is done on the external thread. A common pattern is to use a single producer single consumer thread safe queue to manage this.

code: virtual void FreeOutputData_External ( [FSimCallbackOutput](API\Runtime\Chaos\Chaos\FSimCallbackOutput) * Output )


description: Get the input associated with the current sim step. This input was provided by the external thread. Note the data could be from a few frames ago

code: const TInputType * GetConsumerInput_Internal() const


description: Gets the current producer input data. This is what the external thread should be writing to


description: Gets the current producer output data. This is what the callback generates. If multiple callbacks are triggered in one step, the same output is used


description: Gets the output data produced in order up to and including SimTime. Typical usage is: while(auto Output = PopOutputData_External(ExternalTime)) { //process output }

code: [TSimCallbackOutputHandle](API\Runtime\Chaos\Chaos\TSimCallbackOutputHandle)< TOutputType > PopOutputData_External()


description: A typical example is to pop all of these into a queue, and to interpolate them manually.


description: Deprecated* Use default constructor instead and specify RunFrozenOnGameThread using TOptions template parameter.

code: TSimCallbackObject ( bool InRunOnFrozenGameThread )


className: TSimCallbackObject

description: Simple templated implementation that uses lock free queues to manage memory

code: template<typename TInputType, typename TOutputType, [ESimCallbackOptions](API\Runtime\Chaos\Chaos\Chaos__ESimCallbackOptions) TOptions> class TSimCallbackObject : public [Chaos::ISimCallbackObject](API\Runtime\Chaos\Chaos\ISimCallbackObject)


code: TSimCallbackOutputHandle ( T * Output, [ISimCallbackObject](API\Runtime\Chaos\Chaos\ISimCallbackObject) * CallbackObject )


className: TSimCallbackOutputHandle

description: Handle for output that is automatically cleaned up. NOTE: this should only be used on external thread as the destructor automatically frees into external structures

code: template<typename T> class TSimCallbackOutputHandle : public [Chaos::FSimCallbackOutputHandle](API\Runtime\Chaos\Chaos\FSimCallbackOutputHandle)


code: TSleepData ( [TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< T, d > * InParticle, bool InSleeping )


className: TSleepData

code: template<class T, int d> struct TSleepData

Particle

type: TGeometryPartic...

Sleeping

type: bool


code: void AdvanceOneTimeStep ( const T Dt )


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


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


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


code: void SetAdvectionFunction ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(const [TUniformGrid](API\Runtime\Chaos\Chaos\TUniformGrid)< T, d > &, [TArrayND](API\Runtime\Chaos\Chaos\TArrayND)< T, d > &, const [TArrayND](API\Runtime\Chaos\Chaos\TArrayND)< T, d > &, const [TArrayFaceND](API\Runtime\Chaos\Chaos\TArrayFaceND)< T, d > &, const T, const [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, d >)> AdvectionFunction )


code: void SetConvectionFunction ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(const [TUniformGrid](API\Runtime\Chaos\Chaos\TUniformGrid)< T, d > &, [TArrayND](API\Runtime\Chaos\Chaos\TArrayND)< T, d > &, const [TArrayND](API\Runtime\Chaos\Chaos\TArrayND)< T, d > &, const [TArrayFaceND](API\Runtime\Chaos\Chaos\TArrayFaceND)< T, d > &, const T, const [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, d >)> ConvectionFunction )


code: void SetProjectionFunction ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(const [TUniformGrid](API\Runtime\Chaos\Chaos\TUniformGrid)< T, d > &, [TArrayFaceND](API\Runtime\Chaos\Chaos\TArrayFaceND)< T, d > &, const [TArrayND](API\Runtime\Chaos\Chaos\TArrayND)< bool, d > &, const [TArrayFaceND](API\Runtime\Chaos\Chaos\TArrayFaceND)< bool, d > &, const T)> ProjectionFunction )


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


code: TSmokeEvolution ( const [TUniformGrid](API\Runtime\Chaos\Chaos\TUniformGrid)< T, d > & Grid, [TKinematicGeometryParticles](API\Runtime\Chaos\Chaos\TKinematicGeometryParticles)< T, d > && GeometryParticles, [TKinematicGeometryParticles](API\Runtime\Chaos\Chaos\TKinematicGeometryParticles)< T, d > && SourceParticles )


className: TSmokeEvolution

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


className: THandle

code: typedef typename TSOA::THandleType THandle


code: template<typename TDerivedHandle> TSOAView ( [TArray](API\Runtime\Core\Containers\TArray)< TDerivedHandle * > * Handles )


className: TSOAView

code: template<typename TSOA> struct TSOAView

HandlesArray

type: TArray<THandle...

SOA

type: TSOA *


code: void CopyFrom ( [TSpatialAccelerationBucketEntry](API\Runtime\Chaos\Chaos\TSpatialAccelerationBucketEntry)< TPayloadType, T, d > & Src )


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


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


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


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


className: TSpatialAccelerationBucketEntry

code: template<typename TPayloadType, typename T, int d> struct TSpatialAccelerationBucketEntry

Acceleration

type: TUniquePtr<ISp...


code: virtual [FSpatialAccelerationIdx](API\Runtime\Chaos\Chaos\FSpatialAccelerationIdx) AddSubstructure ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [ISpatialAcceleration](API\Runtime\Engine\Physics\Experimental\ISpatialAcceleration)< [TPayloadType](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\TPayloadType), [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T), d >> && Substructure, uint16 BucketIdx, uint16 BucketInnerIdx )


description: Dispatch the compute the overlapping leaves for each collection helper

code: virtual void CacheOverlappingLeaves()


code: virtual [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [ISpatialAcceleration](API\Runtime\Engine\Physics\Experimental\ISpatialAcceleration)< [TPayloadType](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\TPayloadType), [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T), d > > Copy() const


className: d

code: static constexpr int d = FirstAccelerationType::D;


code: virtual void DebugDraw ( [ISpacialDebugDrawInterface](API\Runtime\Chaos\Chaos\ISpacialDebugDrawInterface)< [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T) > * InInterface ) const


className: FirstAccelerationType

code: typedef typename std::tuple_element< 0, std::tuple< TSpatialAccelerationTypes... >>::type FirstAccelerationType


code: virtual [TArray](API\Runtime\Core\Containers\TArray)< [FSpatialAccelerationIdx](API\Runtime\Chaos\Chaos\FSpatialAccelerationIdx) > GetAllSpatialIndices() const


code: virtual [ISpatialAcceleration](API\Runtime\Engine\Physics\Experimental\ISpatialAcceleration)< [TPayloadType](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\TPayloadType), [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T), d > * GetSubstructure ( [FSpatialAccelerationIdx](API\Runtime\Chaos\Chaos\FSpatialAccelerationIdx) Idx )


className: MaxBuckets

code: static constexpr uint16 MaxBuckets = 8;


className: NumTypes

code: static constexpr uint32 NumTypes = sizeof...(TSpatialAccelerationTypes);


code: virtual void Overlap ( const [TAABB](API\Runtime\Chaos\Chaos\TAABB)< [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T), d > & QueryBounds, [ISpatialVisitor](API\Runtime\Chaos\Chaos\ISpatialVisitor)< [TPayloadType](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\TPayloadType), [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T) > & Visitor ) const


code: template<typename SQVisitor> std::enable_if_t<!std::is_same_v< SQVisitor, typename [Private::FSimOverlapVisitor](API\Runtime\Chaos\Chaos\Collision\FSimOverlapVisitor) >, void > Overlap ( const [TAABB](API\Runtime\Chaos\Chaos\TAABB)< [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T), 3 > & QueryBounds, SQVisitor & Visitor ) const


code: template<typename SQVisitor> std::enable_if_t< std::is_same_v< SQVisitor, typename [Private::FSimOverlapVisitor](API\Runtime\Chaos\Chaos\Collision\FSimOverlapVisitor) >, void > Overlap ( const [TAABB](API\Runtime\Chaos\Chaos\TAABB)< [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T), 3 > & QueryBounds, SQVisitor & Visitor ) const


code: virtual void PBDComputeConstraintsLowLevel ( [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T) Dt, [FSpatialAccelerationBroadPhase](API\Runtime\Chaos\Chaos\Collision\FSpatialAccelerationBroadPhase) & BroadPhase, [Private::FCollisionConstraintAllocator](API\Runtime\Chaos\Chaos\Collision\FCollisionConstraintAllocator) * Allocator, const [FCollisionDetectorSettings](API\Runtime\Chaos\Chaos\Collision\FCollisionDetectorSettings) & Settings, [IResimCacheBase](API\Runtime\Chaos\Chaos\IResimCacheBase) * ResimCache ) const


code: virtual void Raycast ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T), d > & Start, const [TVector](API\Runtime\Chaos\Chaos\TVector)< [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T), d > & Dir, const [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T) Length, [ISpatialVisitor](API\Runtime\Chaos\Chaos\ISpatialVisitor)< [TPayloadType](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\TPayloadType), [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T) > & Visitor ) const


code: template<typename SQVisitor> void Raycast ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T), d > & Start, const [TVector](API\Runtime\Chaos\Chaos\TVector)< [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T), d > & Dir, const [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T) Length, SQVisitor & Visitor ) const


description: Returns true if the element was in fact removed from some SpatialIdx, otherwise returns false if the element was not found anywhere.

code: virtual bool RemoveElementFrom ( const [TPayloadType](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\TPayloadType) & Payload, [FSpatialAccelerationIdx](API\Runtime\Chaos\Chaos\FSpatialAccelerationIdx) SpatialIdx )


code: virtual [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [ISpatialAcceleration](API\Runtime\Engine\Physics\Experimental\ISpatialAcceleration)< [TPayloadType](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\TPayloadType), [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T), d > > RemoveSubstructure ( [FSpatialAccelerationIdx](API\Runtime\Chaos\Chaos\FSpatialAccelerationIdx) Idx )


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


code: virtual void SwapSubstructure ( [ISpatialAccelerationCollection](API\Runtime\Engine\PhysicsEngine\ISpatialAccelerationCollection)< [TPayloadType](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\TPayloadType), [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T), d > & InOther, [FSpatialAccelerationIdx](API\Runtime\Chaos\Chaos\FSpatialAccelerationIdx) Idx )


code: void Sweep ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T), d > & Start, const [TVector](API\Runtime\Chaos\Chaos\TVector)< [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T), d > & Dir, const [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T) Length, const [TVector](API\Runtime\Chaos\Chaos\TVector)< [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T), d > QueryHalfExtents, [ISpatialVisitor](API\Runtime\Chaos\Chaos\ISpatialVisitor)< [TPayloadType](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\TPayloadType), [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T) > & Visitor ) const


code: template<typename SQVisitor> void Sweep ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T), d > & Start, const [TVector](API\Runtime\Chaos\Chaos\TVector)< [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T), d > & Dir, const [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T) Length, const [TVector](API\Runtime\Chaos\Chaos\TVector)< [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T), d > QueryHalfExtents, SQVisitor & Visitor ) const


className: T

code: typedef typename FirstAccelerationType::TType T


className: TPayloadType

code: typedef typename FirstAccelerationType::PayloadType TPayloadType


description: Returns true if the element was in fact updated or if it was moved from one SpatialIdx to another during the update or false if not found at any SpatialIdx.

code: virtual bool UpdateElementIn ( const [TPayloadType](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\TPayloadType) & Payload, const [TAABB](API\Runtime\Chaos\Chaos\TAABB)< [T](API\Runtime\Chaos\Chaos\TSpatialAccelerationCollection\T), d > & NewBounds, bool bHasBounds, [FSpatialAccelerationIdx](API\Runtime\Chaos\Chaos\FSpatialAccelerationIdx) SpatialIdx )


description: Visitor signature is : void Visitor(FSpatialAccelerationIdx SpatialIdx)

code: template<typename TVisitor> void VisitAllSpatialIndices ( TVisitor Visitor ) const


code: TSpatialAccelerationCollection &40; const TSpatialAccelerationCollection< TSpatialAccelerationTypes... > & Other &41;


className: TSpatialAccelerationCollection

code: template<typename... TSpatialAccelerationTypes> class TSpatialAccelerationCollection : public [Chaos::ISpatialAccelerationCollection< std::tuple_element< 0, std::tuple< TSpatialAccelerationTypes... > >::type::PayloadType, std::tuple_element< 0, std::tuple< TSpatialAccelerationTypes... > >::type::TType, std::tuple_element< 0, std::tuple< TSpatialAccelerationTypes... > >::type::D >](API\Runtime\Engine\PhysicsEngine\ISpatialAccelerationCollection)


description: Compute the overlapping leaves for each leaf

code: static void CacheOverlappingLeaves ( const Tuple & Types )


code: static uint16 FindTypeIdx ( const Tuple & Types, [SpatialAccelerationType](API\Runtime\Chaos\Chaos\SpatialAccelerationType) Type )


code: template<typename SQVisitor> static bool OverlapFast ( const Tuple & Types, const [TAABB](API\Runtime\Chaos\Chaos\TAABB)< T, d > QueryBounds, SQVisitor & Visitor )


code: static void Reset ( const Tuple & Types )


code: template<typename SQVisitor> static bool RaycastFast ( const Tuple & Types, const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & Start, [FQueryFastData](API\Runtime\Chaos\Chaos\FQueryFastData) & CurData, SQVisitor & Visitor, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Dir, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InvDir, const bool bParallel )


code: template<typename SQVisitor> static bool SweepFast ( const Tuple & Types, const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & Start, [FQueryFastData](API\Runtime\Chaos\Chaos\FQueryFastData) & CurData, const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > QueryHalfExtents, SQVisitor & Visitor, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Dir, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InvDir, const bool bParallel )


code: static void SetNumFrom ( const Tuple & TypesSrc, Tuple & TypesDest )


code: static void GlobalObjects ( const Tuple & Types, [TArray](API\Runtime\Core\Containers\TArray)< [TPayloadBoundsElement](API\Runtime\Chaos\Chaos\TPayloadBoundsElement)< TPayloadType, T >> & ObjList )


className: TSpatialAccelerationCollectionHelper

code: template<int TypeIdx, int NumTypes, typename Tuple, typename TPayloadType, typename T, int d> struct TSpatialAccelerationCollectionHelper


code: static [ISpatialAcceleration](API\Runtime\Engine\Physics\Experimental\ISpatialAcceleration)< TPayloadType, T, d > * Create()


code: template<[ESpatialAcceleration](API\Runtime\Chaos\Chaos\Chaos__ESpatialAcceleration) SpatialType, typename TPayloadType, typename T, int d> struct TSpatialAccelerationSerializationFactory


className: TSpatialAccelerationTraits

code: template<typename T, bool> struct TSpatialAccelerationTraits


code: typedef typename TSOA::THandleType TPayloadType


code: template<typename TSOA> struct TSpatialAccelerationTraits< TSOA, true >


code: typedef int32 TPayloadType


className: TSpatialAccelerationTraits< T, false >

code: template<typename T> struct TSpatialAccelerationTraits< T, false >


code: void CopyFrom ( const [TSpatialCollectionBucket](API\Runtime\Chaos\Chaos\TSpatialCollectionBucket) & Src )


code: [TSpatialCollectionBucket](API\Runtime\Chaos\Chaos\TSpatialCollectionBucket)< TObj > & operator= ( const [TSpatialCollectionBucket](API\Runtime\Chaos\Chaos\TSpatialCollectionBucket)< TObj > & Other )


code: [TSpatialCollectionBucket](API\Runtime\Chaos\Chaos\TSpatialCollectionBucket)< TObj > & operator= ( [TSpatialCollectionBucket](API\Runtime\Chaos\Chaos\TSpatialCollectionBucket)< TObj > && Other )


code: void UpdateOrAddAt ( uint16 Idx, TObj && Obj )


code: TSpatialCollectionBucket ( const [TSpatialCollectionBucket](API\Runtime\Chaos\Chaos\TSpatialCollectionBucket)< TObj > & Other )


code: TSpatialCollectionBucket ( [TSpatialCollectionBucket](API\Runtime\Chaos\Chaos\TSpatialCollectionBucket)< TObj > && Other )


className: TSpatialCollectionBucket

code: template<typename TObj> struct TSpatialCollectionBucket

FreeIndices

type: TArray< uint16 ...

Objects

type: TArray< TObj >


description: Returns all the points in MaxRadius, result not sorted.

code: int32 GetClosestPoint ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Particle )


code: [TArray](API\Runtime\Core\Containers\TArray)< int32 > GetClosestPoints ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Particle, const T MaxRadius )


description: Returns all the points in MaxRadius, no more than MaxCount, result always sorted.

code: [TArray](API\Runtime\Core\Containers\TArray)< int32 > GetClosestPoints ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Particle, const T MaxRadius, const int32 MaxPoints )


code: void Update ( const [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T >> & Particles )


code: void Update ( const [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T >> & Particles, const T Radius )


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


code: TSpatialHash ( const [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T >> & Particles, const T Radius )


className: TSpatialHash

code: template<class T> class TSpatialHash


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


className: TSpatialRay

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

End

type: TVector< T, d >


className: TSpatialTypeTuple

description: TSpatialTypeTuple< TAcceleration, TRemaining... >

code: template<typename... TRemaining> struct TSpatialTypeTuple


className: TSpatialTypeTupleGetter

description: TSpatialTypeTupleGetter< 0, First, Rest... >TSpatialTypeTupleGetter< Idx, First, Rest... >

code: template<int Idx, typename... Rest> struct TSpatialTypeTupleGetter


className: TSpatialTypeTupleGetter< 0, First, Rest... >::Get

code: static auto & Get &40; TSpatialTypeTuple< First, Rest... > & Types &41;


code: static const auto & Get &40; const TSpatialTypeTuple< First, Rest... > & Types &41;


className: TSpatialTypeTupleGetter< Idx, First, Rest... >::Get


code: template<int Idx, typename First, typename... Rest> struct TSpatialTypeTupleGetter< Idx, First, Rest... >


className: TSpatialTypeTuple< TAcceleration, TRemaining... >::TSpatialTypeTuple

code: TSpatialTypeTuple &40; const TSpatialTypeTuple< TAcceleration, TRemaining... > & Other &41;


className: FirstType

code: typedef TAcceleration FirstType


code: template<typename TAcceleration, typename... TRemaining> struct TSpatialTypeTuple< TAcceleration, TRemaining... >

First

type: TSpatialCollect...

Remaining

type: TSpatialTypeTup...


code: template<typename First, typename... Rest> struct TSpatialTypeTupleGetter< 0, First, Rest... >


description: Return a pointer to the payload on which we are querying the acceleration structure

code: const void * GetQueryPayload() const


code: bool ShouldIgnore ( const [TSpatialVisitorData](API\Runtime\Chaos\Chaos\TSpatialVisitorData)< TPayloadType > & Instance ) const


code: bool VisitOverlap ( const [TSpatialVisitorData](API\Runtime\Chaos\Chaos\TSpatialVisitorData)< TPayloadType > & Instance )


code: bool VisitRaycast ( const [TSpatialVisitorData](API\Runtime\Chaos\Chaos\TSpatialVisitorData)< TPayloadType > & Instance, [FQueryFastData](API\Runtime\Chaos\Chaos\FQueryFastData) & CurData )


code: bool VisitSweep ( const [TSpatialVisitorData](API\Runtime\Chaos\Chaos\TSpatialVisitorData)< TPayloadType > & Instance, [FQueryFastData](API\Runtime\Chaos\Chaos\FQueryFastData) & CurData )


code: TSpatialVisitor ( [ISpatialVisitor](API\Runtime\Chaos\Chaos\ISpatialVisitor)< TPayloadType, T > & InVisitor )


className: TSpatialVisitor

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

code: template<typename TPayloadType, typename T> class TSpatialVisitor


code: TSpatialVisitorData ( const TPayloadType & InPayload, const bool bInHasBounds, const [FAABB3](API\Runtime\Chaos\Chaos\FAABB3) & InBounds )


className: TSpatialVisitorData

description: A struct which is passed to spatial acceleration visitors whenever there are potential hits. In production, this class will only contain a payload.

code: template<typename TPayloadType> struct TSpatialVisitorData

Payload

type: TPayloadType


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


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

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


description: Returns sample points centered about the origin.

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


code: [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > > ComputeLocalSamplePoints ( const T PointsPerUnitArea, const int32 MinPoints, const int32 MaxPoints ) const


description: Returns sample points at the current location of the sphere.

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


code: [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > > ComputeSamplePoints ( const T PointsPerUnitArea, const int32 MinPoints, const int32 MaxPoints ) const


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


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


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


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


code: static T GetArea ( const T InRadius )


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


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


code: [PMatrix](API\Runtime\Chaos\Chaos\PMatrix)< T, d, d > GetInertiaTensor ( const T InMass, const bool bInThinShell ) const


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

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


code: static [PMatrix](API\Runtime\Chaos\Chaos\PMatrix)< T, d, d > GetInertiaTensor ( const T InMass, const T InRadius, const bool bInThinShell )


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


code: static T GetVolume ( const T InRadius )


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


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


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


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


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


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


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


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


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > Support ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & Direction, const T Thickness, int32 & VertexIndex ) const


code: const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & SupportCore ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & Direction, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) InMargin, [FReal](API\Runtime\ChaosCore\Chaos\FReal) * OutSupportDelta, int32 & VertexIndex ) const


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > SupportCoreScaled ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & Direction, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) InMargin, const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & Scale, [FReal](API\Runtime\ChaosCore\Chaos\FReal) * OutSupportDelta, int32 & VertexIndex ) const


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


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


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


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


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


className: TSphere

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


code: static void ComputeSamplePoints ( [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T >> & Points, const class [TSphere](API\Runtime\Chaos\Chaos\TSphere)< T, 3 > & Sphere, const int32 NumPoints )


className: TSphereSpecializeSamplingHelper

code: template<typename T, int d> struct TSphereSpecializeSamplingHelper


className: TSphereSpecializeSamplingHelper< T, 2 >::ComputeGoldenSpiralPoints

description: ReturnsNumPoints_ points evenly distributed on a 2DSphere_ (disk).

code: static void ComputeGoldenSpiralPoints &40; TArray< TVec2< T >> & Points, const TSphere< T, 2 > & Sphere, const int32 NumPoints &41;


code: static void ComputeGoldenSpiralPoints &40; TArray< TVec2< T >> & Points, const TVec2< T > & Center, const T Radius, const int32 NumPoints, const int32 SpiralSeed &41;


className: TSphereSpecializeSamplingHelper< T, 2 >::ComputeSamplePoints

code: static void ComputeSamplePoints &40; TArray< TVec2< T >> & Points, const TSphere< T, 2 > & Sphere, const int32 NumPoints &41;


className: TSphereSpecializeSamplingHelper< T, 2 >

code: template<typename T> struct TSphereSpecializeSamplingHelper< T, 2 >


className: TSphereSpecializeSamplingHelper< T, 3 >::ComputeBottomHalfSemiSphere

code: static void ComputeBottomHalfSemiSphere &40; TArray< TVec3< T >> & Points, const TSphere< T, 3 > & Sphere, const int32 NumPoints, const int32 SpiralSeed &41;


className: TSphereSpecializeSamplingHelper< T, 3 >::ComputeGoldenSpiralPoints

description: ReturnsNumPoints_ points evenly distributed on a 3DSphere_.

code: static void ComputeGoldenSpiralPoints &40; TArray< TVec3< T >> & Points, const TSphere< T, 3 > & Sphere, const int32 NumPoints, const bool FirstHalf, const bool SecondHalf, const int32 SpiralSeed &41;


description: Points_ to append to.Center_ is the center of the sphere.Radius_ is the radius of the sphere.NumPoints_ is the number of points to generate.BottomHalf_ causes the bottom half of the sphere to be generated, starting atCenter_ - (0, 0,Radius_).TopHalf_ causes the top half of the sphere to be generated, starting atCenter_.SpiralSeed_ is the starting index for golden spiral generation. When using this method to continue a spiral started elsewhere, `SpiralSeed_ should equal the number of particles already created.

code: static void ComputeGoldenSpiralPoints &40; TArray< TVec3< T >> & Points, const TVec3< T > & Center, const T Radius, const int32 NumPoints, const bool BottomHalf, const bool TopHalf, const int32 SpiralSeed &41;


className: TSphereSpecializeSamplingHelper< T, 3 >::ComputeSamplePoints

code: static void ComputeSamplePoints &40; TArray< TVec3< T >> & Points, const TSphere< T, 3 > & Sphere, const int32 NumPoints &41;


className: TSphereSpecializeSamplingHelper< T, 3 >::ComputeTopHalfSemiSphere

code: static void ComputeTopHalfSemiSphere &40; TArray< TVec3< T >> & Points, const TSphere< T, 3 > & Sphere, const int32 NumPoints, const int32 SpiralSeed &41;


className: TSphereSpecializeSamplingHelper< T, 3 >

code: template<typename T> struct TSphereSpecializeSamplingHelper< T, 3 >


code: bool BarycentricInside ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Location, const T Tolerance ) const


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


description: Tolerance should be small negative number or zero. It is used to compare barycentric coordinate values.

code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > FindClosestPointAndBary ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Location, [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< T > & OutBary, const T Tolerance ) const


code: [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< T > GetBarycentricCoordinates ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Location ) const


code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > GetCenter() const


code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > GetFirstThreeBarycentricCoordinates ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Location ) const


code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > GetPointFromBarycentricCoordinates ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Weights ) const


code: T GetMinimumAltitude ( int32 * MinAltitudeVertex ) const


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


code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > GetPointFromBarycentricCoordinates ( const [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< T > & Weights ) const


code: bool Inside ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Location, const T HalfThickness ) const


code: static bool Inside ( const [TArray](API\Runtime\Core\Containers\TArray)< [TTriangle](API\Runtime\Chaos\Chaos\TTriangle)< T >> & Tris, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Location, const T HalfThickness )


code: static bool Inside &40; const TPlane< T, 3 > & Plane, const TVec3< T > & Location, const T HalfThickness &41;


code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & operator[] ( uint32 InIndex )


code: const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & operator[] ( uint32 InIndex ) const


description: Initialize outward facing triangles, regardless of the orientation of the tetrahedron.

code: [TArray](API\Runtime\Core\Containers\TArray)< [TTriangle](API\Runtime\Chaos\Chaos\TTriangle)< T > > GetTriangles() const


code: bool Outside ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Location, const T HalfThickness ) const


code: static bool Outside ( const [TArray](API\Runtime\Core\Containers\TArray)< [TTriangle](API\Runtime\Chaos\Chaos\TTriangle)< T >> & Tris, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Location, const T HalfThickness )


code: static bool Outside &40; const TPlane< T, 3 > & Plane, const TVec3< T > & Location, const T HalfThickness &41;


description: Note: this method will fail to project to the actual surface if Location is outside and the closest point is on an edge with an acute angle such that Location is outside both connected faces. FindClosestPointAndBary will work in this case.

code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > ProjectToSurface ( const [TArray](API\Runtime\Core\Containers\TArray)< [TTriangle](API\Runtime\Chaos\Chaos\TTriangle)< T >> & Tris, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Location ) const


description: `Tolerance_ should be a small negative number to include boundary.

code: bool RobustInside ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Location, const T Tolerance ) const


code: TTetrahedron ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & In1, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & In2, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & In3, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & In4 )


className: TTetrahedron

code: template<typename T> class TTetrahedron


className: TTransientGeometryParticleHandle

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


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


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


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


className: TTransientPBDRigidParticleHandle

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


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

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


className: BaryTolerance

code: static BaryTolerance = (T)0;


className: ParallelTolerance

code: static ParallelTolerance = (T) (1.e-8f);


code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > GetCentroid() const


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

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


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

code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > GetClosestEdgePosition ( int32 PlaneIndexHint, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Position ) const


code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > GetNormal() const


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

code: int32 GetMostOpposingPlane ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Normal ) const


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


description: Face index is ignored since we only have one face Used for manifold generation

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


description: Get the vertex index of one of the vertices making up the corners of the specified face Used for manifold generation

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


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


code: const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & GetVertex ( const int32 InIndex ) const


description: Get up to the 3 plane indices that belong to a vertex Returns the number of planes found.

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


description: ReverseWindingUsed for manifold generation

code: T GetWindingOrder() const


code: bool LineIntersection ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & StartPoint, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & EndPoint, [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 2 > & OutBary, T & OutTime ) const


description: The number of vertices that make up the corners of the specified face Used for manifold generation

code: int32 NumPlaneVertices ( int32 PlaneIndex ) const


description: Triangle is just one plane Used for manifold generation

code: int32 NumPlanes() const


code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & operator[] ( uint32 InIndex )


code: const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & operator[] ( uint32 InIndex ) const


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


code: T PhiWithNormal ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & InSamplePoint, [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & OutNormal ) const


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


description: Change the winding order of this triangle by flipping the last two vertices.


code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > Support ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Direction, const T Thickness, int32 & VertexIndex ) const


code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > SupportCore ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Direction, const T InMargin, T * OutSupportDelta, int32 & VertexIndex ) const


code: [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > SupportCoreScaled ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Direction, T InMargin, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & Scale, T * OutSupportDelta, int32 & VertexIndex ) const


code: TTriangle ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & InA, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & InB, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & InC )


className: TTriangle

code: template<typename T> class TTriangle


className: EContactType

description: Type of contact (determines meaning of some properties below such as Indices and BarycentricCoordinates)

code: enum EContactType { Invalid = 0, PointFace, EdgeEdge, EdgeFace, }


description: Whether the contact point has been set up with contact data.

code: bool IsSet() const


className: TTriangleCollisionPoint

description: Data returned by TriangleMesh point-triangle and edge-edge queries.

code: template<typename T> struct TTriangleCollisionPoint

Bary

type: TVec4< T >

description: Barycentric coordinates for contacts Point-Face: Bary[0] = 1.0 (Point), Bary[1:3] correspond with coordinates on Face Edge-Edge: Bary[0:1] = coordinates on first edge, [2:3] coordinates on second edge Edge-Face: Bary[0] = second coordinate on edge (first can be calculated as 1-Bary[0], Bary[1:3] correspond with coordinates on Face

Indices

description: Indexinto Point and Face arrays or Edge arrays.

Location

type: TVec3< T >

description: World space location (which point depends on query type)

Normal

description: World space normal (which normal depends on query type)

Phi

type: T

description: Contact separation (negative for overlap)


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


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


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


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


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


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


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


className: TUniformGrid

description: TUniformGrid< T, 3 >

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


description: Disable optimization (-ffast-math) since its currently causing regressions. freciprocal-math: x / y = x * rccps(y) rcpps is faster but less accurate (12 bits of precision), this can causes incorrect CellIdx

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


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


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


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


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


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


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


code: void FlatToMultiIndex ( const int32 FlatIndex, [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 2 > & MIndex, const bool NodeIndex ) const


code: void FlatToMultiIndex ( const int32 FlatIndex, [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 3 > & MIndex, const bool NodeIndex ) const


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


code: int32 FlatIndex ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 2 > & MIndex, const bool NodeIndex ) const


code: template<class T_SCALAR> T_SCALAR LinearlyInterpolate ( const [TArrayND](API\Runtime\Chaos\Chaos\TArrayND)< T_SCALAR, d > & ScalarN, const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & X ) const


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


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


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


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


code: [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > Location ( const [Pair](API\Runtime\ChaosCore\Chaos\Pair)< int32, [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 3 >> & Face ) const


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


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


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


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


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


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


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


className: TUniformGridBase

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

MCells

type: TVector< int32,...


className: TUniformGrid< T, 3 >::Center

code: TVector< T, 3 > Center &40; const int32 Index &41; const


className: TUniformGrid< T, 3 >::Clamp

code: TVector< T, 3 > Clamp &40; const TVector< T, 3 > & X &41; const


className: TUniformGrid< T, 3 >::ClampIndex

code: TVector< int32, 3 > ClampIndex &40; const TVector< int32, 3 > & Index &41; const


className: TUniformGrid< T, 3 >::ClampMinusHalf

code: TVector< T, 3 > ClampMinusHalf &40; const TVector< T, 3 > & X &41; const


className: TUniformGrid< T, 3 >::GetFaceIndex

code: Pair< int32, TVector< int32, 3 > > GetFaceIndex &40; int32 Index &41; const


className: TUniformGrid< T, 3 >::GetIndex

code: TVector< int32, 3 > GetIndex &40; const int32 Index &41; const


className: TUniformGrid< T, 3 >::GetNumFaces

code: int32 GetNumFaces&40;&41; const


className: TUniformGrid< T, 3 >::IsValid

code: bool IsValid &40; const TVector< int32, 3 > & X &41; const


className: TUniformGrid< T, 3 >::SubGrid

code: TUniformGrid< T, 3 > SubGrid &40; const TVector< int32, 3 > & MinCell, const TVector< int32, 3 > & MaxCell &41; const


className: TUniformGrid< T, 3 >::TUniformGrid

code: TUniformGrid &40; const TVector< T, 3 > & MinCorner, const TVector< T, 3 > & MaxCorner, const TVector< int32, 3 > & Cells, const uint32 GhostCells &41;


className: TUniformGrid< T, 3 >::~TUniformGrid


className: TUniformGrid< T, 3 >

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


className: FTraits

code: typedef [TVectorTraits](API\Runtime\ChaosCore\Chaos\TVectorTraits)< T, d > FTraits


className: NumElements

code: static const int NumElements = d;


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


code: template<class T2> [TVector](API\Runtime\Chaos\Chaos\TVector)< T, d > & operator= ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T2, d > & Other )


code: [FElement](API\Runtime\Chaos\Chaos\TVector\FElement) & operator[] ( int Index )


code: const [FElement](API\Runtime\Chaos\Chaos\TVector\FElement) & operator[] ( int Index ) const


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


code: TVector ( const [FElement](API\Runtime\Chaos\Chaos\TVector\FElement) & Element )


code: TVector ( std::initializer_list< T > InElements )


code: template<int N, typename std::enable_if< N==3, int >::type> TVector ( const FVector3f & Other )


code: template<int N, typename std::enable_if< N==3, int >::type> TVector ( const FVector3d & Other )


code: template<class T2> TVector ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T2, d > & Other )


code: template<int N, typename std::enable_if< N==2, int >::type> TVector ( const T & V0, const T & V1 )


code: template<int N, typename std::enable_if< N==4, int >::type> TVector ( const T & V0, const T & V1, const T & V2, const T & V3 )


code: template<int N, typename std::enable_if< N==3, int >::type> TVector ( const T & V0, const T & V1, const T & V2 )


className: TVector

description: Chaos types.

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


code: template<class T> struct TVector3AndScalar


code: [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) DistanceToPlane ( const [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) & X ) const


code: bool Initialize ( const [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) * VerticesA, const [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) * VerticesB, int32 InIdx0, int32 InIdx1, int32 InIdx2, const [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 3 > & InAdjFaces, const [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 3 > & InAdjEdges )


code: bool IsOriginProjectedInside ( const [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) * VertsABuffer, const [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) * VertsBBuffer, const [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) Epsilon ) const


code: bool operator> ( const [VectorTEPAEntry](API\Runtime\Chaos\Chaos\VectorTEPAEntry) & Other ) const


code: void SwapWinding ( [VectorTEPAEntry](API\Runtime\Chaos\Chaos\VectorTEPAEntry) * Entries )


className: VectorTEPAEntry

code: struct VectorTEPAEntry


code: namespace ChaosTest { template<typename TSolver> void ChaosTest::AdvanceSolverNoPushHelper ( TSolver * Solver, [Chaos::FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt ) }


code: namespace Chaos { int32 Chaos::ComputeCircularSize ( int32 NumFrames ) }


className: FChaosVDContextWrapper

code: struct FChaosVDContextWrapper


code: namespace Chaos { template<typename T> const T * Chaos::ConstifyHelper ( T * Ptr ) }


code: namespace Chaos { template<typename TData, typename TObj> void Chaos::CopyDataFromObject ( TData & Data, const TObj & Obj ) }


description: Typical gear ratios: Reverse −4.181, 1st 3.818, 2nd 2.294, 3rd 1.500, 4th 1.133, 5th 0.911 Source: Georg Rill. Road Vehicle Dynamics: Fundamentals and Modeling (Ground Vehicle Engineering Series) (p. 121). CRC Press.

code: namespace Chaos { enum EDesyncResult { InSync, Desync, NeedInfo, } }


description: Predefined System Event Types

code: namespace Chaos { enum EEventType { Collision = 0, Breaking = 1, Trailing = 2, Sleeping = 3, Removal = 4, Crumbling = 5, } }


code: namespace Chaos { enum ELockType { Read, Write, } }


code: namespace Chaos { void Chaos::CopyDataFromObject ( [FPBDJointSettings](API\Runtime\Chaos\Chaos\FPBDJointSettings) & Data, const [FPBDJointConstraintHandle](API\Runtime\Chaos\Chaos\FPBDJointConstraintHandle) & Joint ) }


code: namespace Chaos { template<typename PayloadType> const [TMap](API\Runtime\Core\Containers\TMap)< [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) *, [TArray](API\Runtime\Core\Containers\TArray)< int32 > > * Chaos::GetProxyToIndexMap ( const PayloadType * Buffer ) }


code: namespace Chaos { template<typename PayloadType> bool Chaos::IsEventDataEmpty ( const PayloadType * Buffer ) }


code: namespace Chaos { template<typename T> T Chaos::NoRefHelper ( const T & Ref ) }


code: namespace Chaos { template<typename T> [FString](API\Runtime\Core\Containers\FString) Chaos::ToStringHelper ( const T & Val ) }


code: namespace Chaos { [FString](API\Runtime\Core\Containers\FString) Chaos::ToStringHelper ( const int32 Val ) }


code: namespace Chaos { template<typename T> [FString](API\Runtime\Core\Containers\FString) Chaos::ToStringHelper ( const [TVector](API\Runtime\Chaos\Chaos\TVector)< T, 2 > & Val ) }


code: namespace Chaos { [FString](API\Runtime\Core\Containers\FString) Chaos::ToStringHelper ( void * Val ) }


code: namespace Chaos { [FString](API\Runtime\Core\Containers\FString) Chaos::ToStringHelper ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Val ) }


code: namespace Chaos { [FString](API\Runtime\Core\Containers\FString) Chaos::ToStringHelper ( const [EObjectStateType](API\Runtime\Chaos\Chaos\Chaos__EObjectStateType) Val ) }


code: namespace Chaos { [FString](API\Runtime\Core\Containers\FString) Chaos::ToStringHelper ( const [EPlasticityType](API\Runtime\Chaos\Chaos\Chaos__EPlasticityType) Val ) }


code: namespace Chaos { [FString](API\Runtime\Core\Containers\FString) Chaos::ToStringHelper ( const [EJointForceMode](API\Runtime\Chaos\Chaos\Chaos__EJointForceMode) Val ) }


code: namespace Chaos { [FString](API\Runtime\Core\Containers\FString) Chaos::ToStringHelper ( const [EJointMotionType](API\Runtime\Chaos\Chaos\Chaos__EJointMotionType) Val ) }


code: namespace Chaos { [FString](API\Runtime\Core\Containers\FString) Chaos::ToStringHelper ( const bool Val ) }


className: FAllBreakingData

description: All the breaking events for one frame time stamped with the time for that frame

code: struct FAllBreakingData : public [Chaos::FTimeResource](API\Runtime\Chaos\FTimeResource)

AllBreakingsArray

type: FBreakingDataAr...


className: FAllCollisionData

description: All the collision events for one frame time stamped with the time for that frame

code: struct FAllCollisionData : public [Chaos::FTimeResource](API\Runtime\Chaos\FTimeResource)

AllCollisionsArray

type: FCollisionDataA...


className: FAllCrumblingData

description: All the crumbling events for one frame time stamped with the time for that frame

code: struct FAllCrumblingData : public [Chaos::FTimeResource](API\Runtime\Chaos\FTimeResource)

AllCrumblingsArray

type: FCrumblingDataA...


className: FAllRemovalData

description: All the removal events for one frame time stamped with the time for that frame

code: struct FAllRemovalData : public [Chaos::FTimeResource](API\Runtime\Chaos\FTimeResource)

AllRemovalArray

type: FRemovalDataArr...


className: FAllTrailingData

description: All the trailing events for one frame time stamped with the time for that frame

code: struct FAllTrailingData : public [Chaos::FTimeResource](API\Runtime\Chaos\FTimeResource)

AllTrailingsArray

type: FTrailingDataAr...


description: Legacy interface to apply inputs

code: virtual bool ApplyInputs ( const int32 ApplyFrame, const bool bResetSolver )


description: Debug the datas from the array of uint8 that will be transferred from client to server

code: virtual void DebugDatas ( const [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & ArchiveDatas, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & LocalFrames, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & ServerFrames, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & InputFrames )


description: Deserialize the datas from the array of uint8

code: virtual void DeserializeDatas ( const [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & ArchiveDatas, const int32 FrameOffset )


description: Extract datas from the history buffer at a given time

code: virtual bool ExtractDatas ( const int32 ExtractFrame, const bool bResetSolver, void * HistoryDatas, const bool bExactFrame )


description: Check if the history buffer contains an entry for the given frame

code: virtual bool HasValidDatas ( const int32 ValidFrame ) const


description: Record datas into the history buffer at a given time

code: virtual bool RecordDatas ( const int32 RecordFrame, const void * HistoryDatas )


description: Legacy interface to rewind states

code: virtual bool RewindStates ( const int32 RewindFrame, const bool bResetSolver )


description: Serialize the datas into an array of uint8

code: virtual void SerializeDatas ( const uint32 StartFrame, const uint32 EndFrame, [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & ArchiveDatas, const int32 FrameOffset ) const


className: FBaseRewindHistory

description: Base rewind history used in the rewind datas

code: struct FBaseRewindHistory


description: Add a structure to the hierarchy.

code: void Add ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FAnalyticImplicitGroup](API\Runtime\Chaos\PhysicsProxy\FAnalyticImplicitGroup) > && AnalyticShapeGroupIn )


code: [FAnalyticImplicitGroup](API\Runtime\Chaos\PhysicsProxy\FAnalyticImplicitGroup) * GetAnalyticShapeGroup ( const int32 BoneIndex )


code: const [FAnalyticImplicitGroup](API\Runtime\Chaos\PhysicsProxy\FAnalyticImplicitGroup) * GetAnalyticShapeGroup ( const int32 BoneIndex ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FAnalyticImplicitGroup](API\Runtime\Chaos\PhysicsProxy\FAnalyticImplicitGroup) > > & GetAnalyticShapeGroups() const


code: [TArray](API\Runtime\Core\Containers\TArray)< [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FAnalyticImplicitGroup](API\Runtime\Chaos\PhysicsProxy\FAnalyticImplicitGroup) > > & GetAnalyticShapeGroups()


description: Set the package map for serialization

code: virtual void SetPackageMap ( class [UPackageMap](API\Runtime\CoreUObject\UObject\UPackageMap) * InPackageMap )


code: bool GetAnimLocalDirty ( const int32 TransformIndex ) const


description: The transform for the bone is offset index 0 of the return value. If this bone has associated sub structures, and the hierarchy was initialized withFirstClassSubStructures_ =true_, they start at index 1.

code: const FTransform * GetAnimWorldSpaceTransformsForBone ( const int32 BoneIndex ) const


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


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


description: Get a list of all transform indices that are dirty.

code: void GetDirtyIndices ( [TArray](API\Runtime\Core\Containers\TArray)< int32 > & TargetIndices, const uint8 Mask ) const


code: const FTransform * GetPrevAnimWorldSpaceTransformForBone ( const int32 BoneIndex ) const


code: int32 GetSocketIndexForBone ( const uint32 BoneIndex ) const


code: int32 GetTransformIndex ( const int32 BoneIndex ) const


code: bool HasBoneIndex ( const uint32 BoneIndex ) const


description: Bones are sorted so that those with kinematic or dynamic bodies are first, and sorted by index (this allows to to iterate over the bone list when producing output for the animation system which asserts that the bone update list is sorted as an overly-sufficient check that parents are before children).

code: void InitHierarchy()


description: Build the hierarchy. Must be done after adding structures, and before updating or sampling.

code: void InitPostAdd()


description: Prepare the hierarchy for adding structures (optional).

code: void InitPreAdd ( const int32 NumBones )


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


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


description: Update all world space transforms for sampling.

code: bool PrepareAnimWorldSpaceTransforms()


description: Propagate bone space dirty flags from parents to sub structures and children.

code: void PropagateAnimDirtyFlags()


code: void SetAnimLocalClean ( const int32 TransformIndex )


description: Update the local-to-world transform of the actor the bones this hierarchy represents belongs to.

code: void SetActorWorldSpaceTransform ( const FTransform & InActorLocalToWorld )


code: void SetAnimLocalDirty ( const int32 TransformIndex )


description: Setting transforms at this level requires the transform hierarchy to be resolved prior to sampling.

code: void SetAnimLocalSpaceTransform ( const int32 BoneIndex, const FTransform & BoneXf )


code: void SetSocketIndexForBone ( const uint32 BoneIndex, const int32 SocketIndex )


description: Update the component space transforms of the specified indices.

code: bool UpdateAnimWorldSpaceTransforms ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & TargetIndices )


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


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


className: FBoneHierarchy

description: A hierarchy of transforms (bones) that tracks the state of transforms within the hierarchy, to do partial updates.

code: class FBoneHierarchy

ActorLocalToWorld

type: FTransform

description: The current top level local-to-world transform.

ActorLocalToWorldDirty

type: bool

AnimDirty

type: TArray< uint8 >

description: Dirty flags for each bone in the hierarchy, plus sub group structures.

BoneIndices

type: TArray< int32 >

BoneToShapeGroup

type: TMap< int32,FA...

description: A mapping from Bone index to implicit shape group.

BoneToTransformIndex

type: TMap< int32, in...

description: Mapping from Bone index to our local transform array indices.

ChildIndices

type: TArray<TArray<...

ImplicitGroups

type: TArray<TUnique...

description: Owner of all implicit shape groups.

LocalSpaceTransforms

type: TArray< FTransf...

description: Local, component, and world space transforms of each bone in the hierarchy, plus sub group structures.

ParentIndices

description: Parenting hierarchy for each bone and sub group structure.

Roots

type: TArray<FAnalyt...

description: All implicit groups in the hierarchy that have no parents.

TempTargetIndices

description: The working set of indices.

WorldSpaceTransforms

description: TArrayComponentSpaceTransforms;.


className: FBreakingDataArray

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


className: FBreakingEventData

code: struct FBreakingEventData

BreakingData

type: FAllBreakingDat...

PhysicsProxyToBreakingIndices

type: FIndicesByPhysi...


description: FModuleManager::Get().LoadModuleChecked(TEXT("HTTP"));

code: virtual void StartupModule()


description: Called before the module is unloaded, right before the module object is destroyed. During normal shutdown, this is called in reverse order that modules finishStartupModule(). This means that, as long as a module references dependent modules in it'sStartupModule(), it can safely reference those dependencies inShutdownModule()as well.

code: virtual void ShutdownModule()


className: FChaosEngineModule

code: class FChaosEngineModule : public [IModuleInterface](API\Runtime\Core\Modules\IModuleInterface)


className: FChaosScopeSolverLock

code: struct FChaosScopeSolverLock


description: Handle renamed properties.

code: void MoveRenamedPropertyValues()


description: Should be called from the game thread to create a new solver. After creation, non-standalone solvers are dispatched to the physics thread automatically if it is available

code: [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * CreateSolver ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * InOwner, [Chaos::FReal](API\Runtime\ChaosCore\Chaos\FReal) InAsyncDt, Chaos::EThreadingMode ThreadingMode )


className: FChaosSolverConfiguration

code: struct FChaosSolverConfiguration

BreakingFilterSettings

type: FSolverBreaking...

ClusterConnectionFactor

type: float

ClusterUnionConnectionType

type: EClusterUnionMe...

CollisionCullDistance

description: During collision detection, if tweo shapes are at least this far apart we do not calculate their nearest features during the collision detection step.

CollisionFilterSettings

type: FSolverCollisio...

CollisionMarginFraction

description: A collision margin as a fraction of size used by some boxes and convex shapes to improve collision detection results.

CollisionMarginMax

description: An upper limit on the collision margin that will be subtracted from boxes and convex shapes. See CollisionMarginFraction.

CollisionMaxPushOutVelocity

description: The maximum speed at which two bodies can be extracted from each other when they start a frame inter-penetrating.

PositionIterations

description: The number of position iterations to run during the constraint solver step.

ProjectionIterations

description: The number of projection iterations to run during the constraint solver step.

TrailingFilterSettings

type: FSolverTrailing...

VelocityIterations

description: The number of velocity iterations to run during the constraint solver step.


description: Should be called on whichever thread currently owns the solver state

code: void DestroySolver ( [Chaos::FPhysicsSolverBase](API\Runtime\Chaos\Chaos\Framework\FPhysicsSolverBase) * InState )


description: Retrieve the list of all extant solvers. This contains all owned, unowned and standalone solvers

code: const [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::FPhysicsSolverBase](API\Runtime\Chaos\Chaos\Framework\FPhysicsSolverBase) * > & GetAllSolvers() const


description: Outputs statistics for the solver hierarchies. Currently engine calls into this from a console command on demand.

code: void DumpHierarchyStats ( int32 * OutOptMaxCellElements )


description: Gets the inner physics thread task if it has been spawned. Care must be taken when using methods and members that the calling context can safely access those fields as the task will be running on its own thread.

code: Chaos::FPersistentPhysicsTask * GetDedicatedTask() const


description: Safe method for always getting a settings provider (from the external caller or an internal default)

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


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


description: Read access to the current solver-state objects, be aware which thread owns this data when attempting to use this. Physics thread will query when spinning up to get current world state

code: [TArray](API\Runtime\Core\Containers\TArray)< const [Chaos::FPhysicsSolverBase](API\Runtime\Chaos\Chaos\Framework\FPhysicsSolverBase) * > GetSolvers ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * InOwner ) const


code: void GetSolvers ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * InOwner, [TArray](API\Runtime\Core\Containers\TArray)< const [Chaos::FPhysicsSolverBase](API\Runtime\Chaos\Chaos\Framework\FPhysicsSolverBase) * > & OutSolvers ) const


code: static [FChaosSolversModule](API\Runtime\Chaos\FChaosSolversModule) * GetModule()


description: Non-const access to the solver array is private - only the module should ever modify the storage lists

code: [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::FPhysicsSolverBase](API\Runtime\Chaos\Chaos\Framework\FPhysicsSolverBase) * > GetSolversMutable ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * InOwner )


code: void GetSolversMutable ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * InOwner, [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::FPhysicsSolverBase](API\Runtime\Chaos\Chaos\Framework\FPhysicsSolverBase) * > & OutSolvers )


description: Gets a list of pending prerequisites required before proceeding with a solver update

code: void GetSolverUpdatePrerequisites ( FGraphEventArray & InPrerequisiteContainer )


description: Queries for multithreaded configurations

code: bool IsPersistentTaskEnabled() const


code: bool IsPersistentTaskRunning() const


code: bool IsValidSolverActorClass ( [UClass](API\Runtime\CoreUObject\UObject\UClass) * Class ) const


code: void MigrateSolver ( [Chaos::FPhysicsSolverBase](API\Runtime\Chaos\Chaos\Framework\FPhysicsSolverBase) * InSolver, const [UObject](API\Runtime\CoreUObject\UObject\UObject) * InNewOwner )


code: void OnCreateMaterialMask ( [Chaos::FMaterialMaskHandle](API\Runtime\Chaos\Chaos\FMaterialMaskHandle) InHandle )


code: void OnCreateMaterial ( [Chaos::FMaterialHandle](API\Runtime\Chaos\Chaos\FMaterialHandle) InHandle )


code: void OnDestroyMaterial ( [Chaos::FMaterialHandle](API\Runtime\Chaos\Chaos\FMaterialHandle) InHandle )


code: void OnDestroyMaterialMask ( [Chaos::FMaterialMaskHandle](API\Runtime\Chaos\Chaos\FMaterialMaskHandle) InHandle )


description: Events that the material manager will emit for us to update our threaded data

code: void OnUpdateMaterial ( [Chaos::FMaterialHandle](API\Runtime\Chaos\Chaos\FMaterialHandle) InHandle )


code: void OnUpdateMaterialMask ( [Chaos::FMaterialMaskHandle](API\Runtime\Chaos\Chaos\FMaterialMaskHandle) InHandle )


description: Game pause must use a different per solver mechanics.

code: void PauseSolvers()


code: void RegisterSolverActorClassProvider ( [IChaosSolverActorClassProvider](API\Runtime\Chaos\IChaosSolverActorClassProvider) * Provider )


description: Game resume must use a different per solver mechanics.

code: void ResumeSolvers()


code: void SetSettingsProvider ( [IChaosSettingsProvider](API\Runtime\Chaos\IChaosSettingsProvider) * InProvider )


description: Sets the actor type which should beAChaosSolverActor::StaticClass()but that is not accessible from engine.

code: void SetSolverActorClass ( [UClass](API\Runtime\CoreUObject\UObject\UClass) * InActorClass, [UClass](API\Runtime\CoreUObject\UObject\UClass) * InActorRequiredBaseClass )


description: Query whether a particular solver should advance and update its single-step counter. Thread safe.

code: bool ShouldStepSolver ( int32 & InOutSingleStepCounter ) const


description: Single-step advance solvers. Thread safe. This is typically called from a paused editor to single step all solvers.

code: void SingleStepSolvers()


description: Called to request a sync between the game thread and the currently running physics task

code: void SyncTask ( bool bForceBlockingSync )


className: FChaosSolversModule

code: class FChaosSolversModule


className: FCollisionDataArray

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


className: FCollisionEventData

code: struct FCollisionEventData

CollisionData

type: FAllCollisionDa...


code: FConstDirtyPropData ( const [FDirtyPropertiesManager](API\Runtime\Chaos\Chaos\FDirtyPropertiesManager) * InManager, int32 InDataIdx )


className: FConstDirtyPropData

code: struct FConstDirtyPropData

Ptr

type: constFDirtyPro...


className: FCrumblingDataArray

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


code: void AddCrumbling ( const [FCrumblingData](API\Runtime\Chaos\Chaos\FCrumblingData) & CrumblingToAdd )


code: void SetTimeCreated ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) TimeCreatedIn )


className: FCrumblingEventData

code: struct FCrumblingEventData

CrumblingData

type: FAllCrumblingDa...


className: FDirtyPropData

description: WrapsFDirtyPropertiesManagerand its DataIdx to avoid confusion between Source and offset Dest indices.

code: struct FDirtyPropData

Ptr

type: FDirtyPropertie...


code: FDirtyPropData ( [FDirtyPropertiesManager](API\Runtime\Chaos\Chaos\FDirtyPropertiesManager) * InManager, int32 InDataIdx )


description: Dispatch events to the registered handlers

code: void DispatchConsumerData()


description: Flips the buffer if the buffer type is double or triple

code: void FlipBufferIfRequired()


description: Register the delegate function that will handle the events on the game thread

code: void RegisterHandler ( const [FEventHandlerPtr](API\Runtime\Chaos\FEventHandlerPtr) & Handler )


description: Inject data from the physics solver into the producer side of the buffer

code: void InjectProducerData ( const [FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * Solver, bool bResetData )


description: Unregister the delegate function that handles the events on the game thread

code: void UnregisterHandler ( const void * Handler )


className: FEventContainerBasePtr

description: Pointer to event data buffer & injector functionality

code: typedef [FEventContainerBase](API\Runtime\Chaos\FEventContainerBase) * FEventContainerBasePtr


className: FEventContainerBase

description: Interface for the injected producer function and associated data buffer

code: class FEventContainerBase


description: Register default event types

code: static void RegisterSystemEvents ( [FEventManager](API\Runtime\Chaos\FEventManager) & EventManager )


className: FEventHandlerPtr

description: Pointer to the event handler

code: typedef [IEventHandler](API\Runtime\Chaos\IEventHandler) * FEventHandlerPtr


code: template<typename PayloadType> void AddEvent ( const [EEventType](API\Runtime\Chaos\Chaos__EEventType) & EventType, [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(PayloadType &EventData)> InFunction )


description: Modify the producer side of the event buffer

code: template<typename PayloadType> void ClearEvents ( const [EEventType](API\Runtime\Chaos\Chaos__EEventType) & EventType, [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(PayloadType &EventData)> InFunction )


description: Returns decoded collision index.

code: static int32 DecodeCollisionIndex ( int32 EncodedCollisionIdx, bool & bSwapOrder )


description: // Dispatch events to the registered handlers

code: void DispatchEvents()


description: Returns encoded collision index.

code: static int32 EncodeCollisionIndex ( int32 ActualCollisionIndex, bool bSwapOrder )


description: Called by the solver to invoke the functions that fill the producer side of all the event data buffers

code: void FillProducerData ( const [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * Solver, bool bResetData )


description: Register a new event into the system, providing the function that will fill the producer side of the event buffer

code: template<typename PayloadType> void RegisterEvent ( const [EEventType](API\Runtime\Chaos\Chaos__EEventType) & EventType, [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(const [Chaos::FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) *Solver, PayloadType &EventData, bool bResetData)> InFunction )


description: Flips the event data buffer if it is of double or triple buffer type

code: void FlipBuffersIfRequired()


description: Register a handler that will receive the dispatched events

code: template<typename PayloadType, typename HandlerType> void RegisterHandler ( const [EEventType](API\Runtime\Chaos\Chaos__EEventType) & EventType, HandlerType * Handler, typename [TRawEventHandler](API\Runtime\Engine\Physics\Experimental\TRawEventHandler)< PayloadType, HandlerType >::FHandlerFunction HandlerFunction, typename [TRawEventHandler](API\Runtime\Engine\Physics\Experimental\TRawEventHandler)< PayloadType, HandlerType >::FInterestedProxyOwnerFunction InterestedProxyOwnerFunction )


description: Clears out every handler and container calling destructors on held items

code: void Reset()


description: Set the buffer mode to be used within the event containers

code: void SetBufferMode ( const [Chaos::EMultiBufferMode](API\Runtime\Chaos\Chaos\Framework\Chaos__EMultiBufferMode) & BufferModeIn )


description: Unregister specified event from system

code: void UnregisterEvent ( const [EEventType](API\Runtime\Chaos\Chaos__EEventType) & EventType )


description: Unregister the specified event handler

code: void UnregisterHandler ( const [EEventType](API\Runtime\Chaos\Chaos__EEventType) & EventType, const void * InHandler )


code: FEventManager ( const [Chaos::EMultiBufferMode](API\Runtime\Chaos\Chaos\Framework\Chaos__EMultiBufferMode) & BufferModeIn )


className: EParticleHistoryPhase

code: enum EParticleHistoryPhase { PrePushData = 0, PostPushData, PostCallbacks, NumPhases, }


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


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


code: bool operator< ( const [FFrameAndPhase](API\Runtime\Chaos\FFrameAndPhase) & Other ) const


className: FFrameAndPhase

code: struct FFrameAndPhase

Phase

type: uint32:  2


description: Return true if the transform has broken off its parent

code: bool HasBrokenOff ( int32 TransformIndex ) const


description: Return true if the transform has an internal cluster parent in a dynamic state

code: bool HasDynamicInternalClusterParent ( int32 TransformIndex ) const


description: Whether there's children attached to this transfom (Cluster)

code: bool HasChildren ( int32 TransformIndex ) const


description: Return true if the transform has an internal cluster parent

code: bool HasInternalClusterParent ( int32 TransformIndex ) const


description: Return true if the transform is in a dynamic or sleeping state

code: bool IsDynamicOrSleeping ( int32 TransformIndex ) const


description: Return true if the transform is in a sleeping state

code: bool IsSleeping ( int32 TransformIndex ) const


description: Returns true if all the necessary attributes are present

code: bool IsValid() const


code: FGeometryCollectionDynamicStateFacade ( [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & InCollection )


className: FGeometryCollectionDynamicStateFacade

description: Provides an API for dynamic state related attributes physics state , broken state, current parent (normal or internal clusters ) To be used with the dynamic collection


code: [FEntryIndex](API\Runtime\Chaos\FGeometryCollectionResults\FEntryIndex) AddEntry ( int32 TransformIndex )


className: FDamageData

code: struct FDamageData


className: FEntryIndex

code: typedef int32 FEntryIndex


className: FState

code: struct FState

DisabledState

type: uint16:  1

DynamicState

type: uint16:  8