className: FImplicitObjectUnion

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

BVH

type: TUniquePtr<Pri...

description: BVH is only created when there are many objects.

FImplicitObject

type: friend

Flags

type: FFLags

MObjects

type: TArray<TUnique...


description: DO NOT USE!!

module: Chaos

code: const [FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * FindParticleForImplicitObject ( const [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) * Object ) const


description: DO NOT USE!!

code: const [FBVHParticles](API\Runtime\Chaos\Chaos\FBVHParticles) * GetChildSimplicial ( const int32 ChildIndex ) const


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


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


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


code: FImplicitObjectUnionClustered ( [TArray](API\Runtime\Core\Containers\TArray)< [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) >> && Objects, const [TArray](API\Runtime\Core\Containers\TArray)< [FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * > & OriginalParticleLookupHack )


className: FImplicitObjectUnionClustered

code: class FImplicitObjectUnionClustered : public [Chaos::FImplicitObjectUnion](API\Runtime\Chaos\Chaos\FImplicitObjectUnion)


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


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


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


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


className: FIntrusiveConstraintHandle

description: Intended for use by constraint types that are allocated on the heap or in a block allocator and therefore have a persistent address (as opposed to array-based containers where the array could relocate). The constraint class should inherit this handle class. This effectively eliminates the handle, reducing cache misses and allocations.

code: class FIntrusiveConstraintHandle : public [Chaos::FConstraintHandle](API\Runtime\Chaos\Chaos\FConstraintHandle)


description: Get the local-space axis for the specified constraint type. This will be one of the cardinal axes.

code: static const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) Axis ( const [EJointAngularConstraintIndex](API\Runtime\Chaos\Chaos\Chaos__EJointAngularConstraintIn-) ConstraintIndex )


description: Get the local-space axis index for the specified constraint type. This can be used to index the vectors of a transform matrix for example.

code: static const int32 AxisIndex ( const [EJointAngularConstraintIndex](API\Runtime\Chaos\Chaos\Chaos__EJointAngularConstraintIn-) ConstraintIndex )


code: static const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) OtherSwingAxis ( const [EJointAngularConstraintIndex](API\Runtime\Chaos\Chaos\Chaos__EJointAngularConstraintIn-) ConstraintIndex )


description: The constraint-space Swing1 axis (Z Axis)

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


description: The constraint-space twist axis (X Axis)

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


className: FJointConstants

code: struct FJointConstants


description: The constraint-space Swing2 axis (Y Axis)

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


className: FOutputData

code: struct FOutputData

bDriveTargetChanged

type: bool

bIsBreaking

description: Output properties.

Force

type: FVector

Torque

description: Forward declaration of concrete types // Macro version - declares all three variants.


code: static const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) SwingAxis ( const [EJointAngularConstraintIndex](API\Runtime\Chaos\Chaos\Chaos__EJointAngularConstraintIn-) ConstraintIndex )


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


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


code: bool GetMassConditioningEnabled() const


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


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


code: bool GetShockPropagationEnabled() const


code: bool GetSoftSwingLimitsEnabled() const


code: bool GetSoftTwistLimitsEnabled() const


code: bool GetSoftLinearLimitsEnabled() const


code: void ReleaseKinematicEndPoint ( [FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * Solver )


code: void SetAngularDriveDamping ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InValue )


code: void SetAngularDriveForceMode ( [EJointForceMode](API\Runtime\Chaos\Chaos\Chaos__EJointForceMode) InValue )


code: void SetAngularDriveMaxTorque ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InValue )


code: void SetAngularBreakTorque ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetAngularDriveStiffness ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InValue )


code: void SetAngularDrivePositionTarget ( [FRotation3](API\Runtime\ChaosCore\Chaos\FRotation3) InValue )


code: void SetAngularDriveVelocityTarget ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InValue )


code: void SetAngularLimits ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InValue )


code: void SetAngularMotionTypesX ( [EJointMotionType](API\Runtime\Chaos\Chaos\Chaos__EJointMotionType) InValue )


code: void SetAngularMotionTypesY ( [EJointMotionType](API\Runtime\Chaos\Chaos\Chaos__EJointMotionType) InValue )


code: void SetAngularMotionTypesZ ( [EJointMotionType](API\Runtime\Chaos\Chaos\Chaos__EJointMotionType) InValue )


code: void SetAngularPlasticityLimit ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetAngularSLerpPositionDriveEnabled ( bool InValue )


code: void SetAngularSoftForceMode ( [EJointForceMode](API\Runtime\Chaos\Chaos\Chaos__EJointForceMode) InValue )


code: void SetAngularSLerpVelocityDriveEnabled ( bool InValue )


code: void SetAngularSwingPositionDriveEnabled ( bool InValue )


code: void SetAngularSwingVelocityDriveEnabled ( bool InValue )


code: void SetAngularTwistPositionDriveEnabled ( bool InValue )


code: void SetAngularTwistVelocityDriveEnabled ( bool InValue )


code: void SetCollisionEnabled ( bool InValue )


code: void SetContactTransferScale ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


description: CHAOS_INNER_JOINT_PROPERTY(OuterProp, FuncName, InnerName, InnerType)

code: void SetJointTransforms ( [FTransformPair](API\Runtime\Chaos\Chaos\FTransformPair) InValue )


description: If we created particle to serve as kinematic endpoint, track so we can release later. This will add particle to solver.

code: void SetKinematicEndPoint ( [FSingleParticlePhysicsProxy](API\Runtime\Chaos\PhysicsProxy\FSingleParticlePhysicsProxy) * InParticle, [FPBDRigidsSolver](API\Runtime\Chaos\FPBDRigidsSolver) * Solver )


code: void SetLinearBreakForce ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetLinearContactDistance ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetLinearDriveDamping ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InValue )


code: void SetLinearDriveMaxForce ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InValue )


code: void SetLinearDriveForceMode ( [EJointForceMode](API\Runtime\Chaos\Chaos\Chaos__EJointForceMode) InValue )


code: void SetLinearDriveStiffness ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InValue )


code: void SetLinearDrivePositionTarget ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InValue )


code: void SetLinearDriveVelocityTarget ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InValue )


code: void SetLinearLimit ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetLinearMotionTypesY ( [EJointMotionType](API\Runtime\Chaos\Chaos\Chaos__EJointMotionType) InValue )


code: void SetLinearMotionTypesX ( [EJointMotionType](API\Runtime\Chaos\Chaos\Chaos__EJointMotionType) InValue )


code: void SetLinearMotionTypesZ ( [EJointMotionType](API\Runtime\Chaos\Chaos\Chaos__EJointMotionType) InValue )


code: void SetLinearPlasticityLimit ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetLinearPlasticityType ( [EPlasticityType](API\Runtime\Chaos\Chaos\Chaos__EPlasticityType) InValue )


code: void SetLinearPositionDriveEnabled ( [TVector](API\Runtime\Chaos\Chaos\TVector)< bool, 3 > Enabled )


code: void SetLinearPositionDriveXEnabled ( bool InValue )


code: void SetLinearPositionDriveYEnabled ( bool InValue )


code: void SetLinearPositionDriveZEnabled ( bool InValue )


code: void SetLinearRestitution ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetLinearSoftForceMode ( [EJointForceMode](API\Runtime\Chaos\Chaos\Chaos__EJointForceMode) InValue )


code: void SetLinearVelocityDriveEnabled ( [TVector](API\Runtime\Chaos\Chaos\TVector)< bool, 3 > Enabled )


code: void SetLinearVelocityDriveXEnabled ( bool InValue )


code: void SetLinearVelocityDriveYEnabled ( bool InValue )


code: void SetLinearVelocityDriveZEnabled ( bool InValue )


code: void SetMassConditioningEnabled ( bool InValue )


code: void SetParentInvMassScale ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetParticleProxies ( const [FProxyBasePair](API\Runtime\Chaos\Chaos\FProxyBasePair) & InJointParticles )


code: void SetPhysicsBodies ( const [FPhysicsObjectPair](API\Runtime\Chaos\Chaos\FPhysicsObjectPair) & InBodies )


code: void SetProjectionAngularAlpha ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetProjectionAngularTolerance ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetProjectionEnabled ( bool InValue )


code: void SetProjectionLinearAlpha ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetProjectionLinearTolerance ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetShockPropagationAlpha ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetSoftLinearDamping ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetShockPropagationEnabled ( bool InValue )


code: void SetSoftLinearLimitsEnabled ( bool InValue )


code: void SetSoftSwingDamping ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetSoftLinearStiffness ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetSoftSwingStiffness ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetSoftSwingLimitsEnabled ( bool InValue )


code: void SetSoftTwistDamping ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetSoftTwistLimitsEnabled ( bool InValue )


code: void SetSoftTwistStiffness ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetStiffness ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetSwingContactDistance ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetSwingRestitution ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetTwistContactDistance ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetTwistRestitution ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InValue )


code: void SetUserData ( void * InValue )


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


className: FJointConstraint

code: class FJointConstraint : public [Chaos::FConstraintBase](API\Runtime\Chaos\Chaos\FConstraintBase)

JointBodies

type: TChaosProperty<...

Output

type: FOutputData


className: FJointConstraintOutputData

code: struct FJointConstraintOutputData


className: FJointPostApplyCallback

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const [TArray](API\Runtime\Core\Containers\TArray)< [FPBDJointConstraintHandle](API\Runtime\Chaos\Chaos\FPBDJointConstraintHandle) * > &InConstraintHandles)> FJointPostApplyCallback


className: FJointPreApplyCallback

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const [TArray](API\Runtime\Core\Containers\TArray)< [FPBDJointConstraintHandle](API\Runtime\Chaos\Chaos\FPBDJointConstraintHandle) * > &InConstraintHandles)> FJointPreApplyCallback


className: FKinematicGeometryParticleHandle

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


className: FKinematicGeometryParticle

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


code: FKinematicGeometryParticleParameters()


className: FKinematicGeometryParticleParameters

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

code: template<typename T, int d> struct FKinematicGeometryParticleParameters : public [Chaos::FGeometryParticleParameters](API\Runtime\Chaos\Chaos\FGeometryParticleParameters)


className: FKinematicTarget

code: typedef [TKinematicTarget](API\Runtime\Engine\Physics\ImmediatePhysics\ImmediatePhysicsChaos\TKinematicTarget)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > FKinematicTarget


code: FLargeUnionClusteredImplicitInfo ( const [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) * InImplicit, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & InTransform, const [FBVHParticles](API\Runtime\Chaos\Chaos\FBVHParticles) * InBVHParticles )


className: FLargeUnionClusteredImplicitInfo

code: struct FLargeUnionClusteredImplicitInfo

BVHParticles

type: constFBVHParti...

Implicit

type: constFImplicit...

Transform

type: FRigidTransform...


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


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


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


code: static [FLatentDrawCommand](API\Runtime\Chaos\Chaos\FLatentDrawCommand) DrawDebugString ( const FVector & TextLocation, const [FString](API\Runtime\Core\Containers\FString) & Text, class [AActor](API\Runtime\Engine\GameFramework\AActor) * TestBaseActor, const [FColor](API\Runtime\Core\Math\FColor) & Color, float Duration, bool bDrawShadow, float FontScale )


className: FKinematicGeometryParticles

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


code: static [FLatentDrawCommand](API\Runtime\Chaos\Chaos\FLatentDrawCommand) DrawDebugSphere ( const FVector & Center, [FVector::FReal](API\Runtime\Core\Math\TVector\FReal) Radius, int32 Segments, const [FColor](API\Runtime\Core\Math\FColor) & Color, bool bPersistentLines, float LifeTime, uint8 DepthPriority, float Thickness )


code: static [FLatentDrawCommand](API\Runtime\Chaos\Chaos\FLatentDrawCommand) DrawDirectionalArrow ( const FVector & LineStart, FVector const & LineEnd, float ArrowSize, const [FColor](API\Runtime\Core\Math\FColor) & Color, bool bPersistentLines, float LifeTime, uint8 DepthPriority, float Thickness )


code: static [FLatentDrawCommand](API\Runtime\Chaos\Chaos\FLatentDrawCommand) DrawLine ( const FVector & LineStart, const FVector & LineEnd, const [FColor](API\Runtime\Core\Math\FColor) & Color, bool bPersistentLines, float LifeTime, uint8 DepthPriority, float Thickness )


code: static [FLatentDrawCommand](API\Runtime\Chaos\Chaos\FLatentDrawCommand) DrawPoint ( const FVector & Position, const [FColor](API\Runtime\Core\Math\FColor) & Color, bool bPersistentLines, float LifeTime, uint8 DepthPriority, float Thickness )


className: EDrawType

code: enum EDrawType { Point, Line, DirectionalArrow, Sphere, Box, String, Circle, Capsule, }


className: FLatentDrawCommand

code: struct FLatentDrawCommand

ArrowSize

type: float

Color

type: FColor

HalfHeight

type: FReal

Rotation

type: FQuat

TestBaseActor

type: AActor*

Text

type: FString

TransformMatrix

type: FMatrix


description: Load data from an asset saved before we had a proper half-edge data structure.

code: static void Load ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, [TArray](API\Runtime\Core\Containers\TArray)< [TArray](API\Runtime\Core\Containers\TArray)< int32 >> & OutPlaneVertices, int32 & OutNumVertices )


className: FLegacyConvexStructureDataLoader

description: A utility for loading old convex structure data

code: class FLegacyConvexStructureDataLoader


description: Estimate the volume bounded by the zero'th isocontour of the level set. #BGTODO - We can generate a more accurate pre-calculated volume during generation as this method still under estimates the actual volume of the surface.


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


code: bool CheckData ( [FErrorReporter](API\Runtime\Chaos\Chaos\FErrorReporter) & ErrorReporter, const [FParticles](API\Runtime\Chaos\Chaos\FParticles) & InParticles, const [FTriangleMesh](API\Runtime\Chaos\Chaos\FTriangleMesh) & Mesh, const [TArray](API\Runtime\Core\Containers\TArray)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & Normals )


code: [FReal](API\Runtime\ChaosCore\Chaos\FReal) ComputeLevelSetError ( const [FParticles](API\Runtime\Chaos\Chaos\FParticles) & InParticles, const [TArray](API\Runtime\Core\Containers\TArray)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & Normals, const [FTriangleMesh](API\Runtime\Chaos\Chaos\FTriangleMesh) & Mesh, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & AngleError, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & MaxDistError )


code: bool ComputeMassProperties ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutVolume, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutCOM, [FMatrix33](API\Runtime\ChaosCore\Chaos\FMatrix33) & OutInertia, [FRotation3](API\Runtime\ChaosCore\Chaos\FRotation3) & OutRotationOfMass ) const


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


className: EIndexType

code: enum EIndexType { None, S32, U8, }


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) > DeepCopy() const


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


description: Returns a const ref to the underlying grid structure.

code: const [TUniformGrid](API\Runtime\Chaos\Chaos\TUniformGrid)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & GetGrid() const


description: Returns a const ref to the underlying grid of normals.

code: const [TArrayND](API\Runtime\Chaos\Chaos\TArrayND)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3), 3 > & GetNormalsArray() const


code: void GetInteriorCells ( [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< int32 >> & InteriorCells, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) InteriorThreshold ) const


description: Returns a const ref to the underlying phi grid.

code: const [TArrayND](API\Runtime\Chaos\Chaos\TArrayND)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & GetPhiArray() const


description: Used to generate a simple debug surface.

code: void GetZeroIsosurfaceGridCellFaces ( [TArray](API\Runtime\Core\Containers\TArray)< FVector3f > & Vertices, [TArray](API\Runtime\Core\Containers\TArray)< FIntVector > & Tris ) const


description: Output a mesh and level set as obj files.

code: void OutputDebugData ( [FErrorReporter](API\Runtime\Chaos\Chaos\FErrorReporter) & ErrorReporter, const [FParticles](API\Runtime\Chaos\Chaos\FParticles) & InParticles, const [TArray](API\Runtime\Core\Containers\TArray)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & Normals, const [FTriangleMesh](API\Runtime\Chaos\Chaos\FTriangleMesh) & Mesh, const [FString](API\Runtime\Core\Containers\FString) FileName )


code: bool OverlapGeom ( const [TSphere](API\Runtime\Chaos\Chaos\TSphere)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & QueryTM, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, [FMTDInfo](API\Runtime\Chaos\Chaos\FMTDInfo) * OutMTD ) const


code: bool OverlapGeom ( const TBox< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & QueryTM, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, [FMTDInfo](API\Runtime\Chaos\Chaos\FMTDInfo) * OutMTD ) const


code: bool OverlapGeom ( const FCapsule & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & QueryTM, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, [FMTDInfo](API\Runtime\Chaos\Chaos\FMTDInfo) * OutMTD ) const


code: bool OverlapGeom ( const [FConvex](API\Runtime\Chaos\Chaos\FConvex) & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & QueryTM, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, [FMTDInfo](API\Runtime\Chaos\Chaos\FMTDInfo) * OutMTD ) const


code: bool OverlapGeom ( const TImplicitObjectScaled< [TSphere](API\Runtime\Chaos\Chaos\TSphere)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 >> & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & QueryTM, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, [FMTDInfo](API\Runtime\Chaos\Chaos\FMTDInfo) * OutMTD ) const


code: bool OverlapGeom ( const TImplicitObjectScaled< TBox< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 >> & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & QueryTM, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, [FMTDInfo](API\Runtime\Chaos\Chaos\FMTDInfo) * OutMTD ) const


code: bool OverlapGeom ( const TImplicitObjectScaled< FCapsule > & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & QueryTM, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, [FMTDInfo](API\Runtime\Chaos\Chaos\FMTDInfo) * OutMTD ) const


code: bool OverlapGeom ( const TImplicitObjectScaled< [FConvex](API\Runtime\Chaos\Chaos\FConvex) > & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & QueryTM, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, [FMTDInfo](API\Runtime\Chaos\Chaos\FMTDInfo) * OutMTD ) const


code: template<typename QueryGeomType> bool OverlapGeomImp ( const QueryGeomType & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & QueryTM, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, [FMTDInfo](API\Runtime\Chaos\Chaos\FMTDInfo) * OutMTD ) const


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

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


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


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


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


code: void Shrink ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Value )


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


code: bool SweepGeom ( const [TSphere](API\Runtime\Chaos\Chaos\TSphere)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & StartTM, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Dir, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Length, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTime, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const bool bComputeMTD ) const


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


code: bool SweepGeom ( const TBox< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & StartTM, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Dir, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Length, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTime, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const bool bComputeMTD ) const


code: bool SweepGeom ( const FCapsule & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & StartTM, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Dir, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Length, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTime, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const bool bComputeMTD ) const


code: bool SweepGeom ( const [FConvex](API\Runtime\Chaos\Chaos\FConvex) & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & StartTM, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Dir, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Length, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTime, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const bool bComputeMTD ) const


code: bool SweepGeom ( const TImplicitObjectScaled< [TSphere](API\Runtime\Chaos\Chaos\TSphere)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 >> & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & StartTM, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Dir, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Length, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTime, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const bool bComputeMTD ) const


code: bool SweepGeom ( const TImplicitObjectScaled< TBox< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 >> & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & StartTM, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Dir, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Length, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTime, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const bool bComputeMTD ) const


code: bool SweepGeom ( const TImplicitObjectScaled< FCapsule > & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & StartTM, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Dir, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Length, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTime, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const bool bComputeMTD ) const


code: bool SweepGeom ( const TImplicitObjectScaled< [FConvex](API\Runtime\Chaos\Chaos\FConvex) > & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & StartTM, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Dir, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Length, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTime, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const bool bComputeMTD ) const


code: template<typename QueryGeomType> bool SweepGeomImp ( const QueryGeomType & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & StartTM, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Dir, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Length, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTime, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const bool bComputeMTD ) const


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


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


code: FLevelSet ( [TUniformGrid](API\Runtime\Chaos\Chaos\TUniformGrid)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > && Grid, [TArrayND](API\Runtime\Chaos\Chaos\TArrayND)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > && Phi, int32 BandWidth )


code: FLevelSet ( [FErrorReporter](API\Runtime\Chaos\Chaos\FErrorReporter) & ErrorReporter, const [TUniformGrid](API\Runtime\Chaos\Chaos\TUniformGrid)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & InGrid, const [FParticles](API\Runtime\Chaos\Chaos\FParticles) & InParticles, const [FTriangleMesh](API\Runtime\Chaos\Chaos\FTriangleMesh) & Mesh, const int32 BandWidth )


code: FLevelSet ( [FErrorReporter](API\Runtime\Chaos\Chaos\FErrorReporter) & ErrorReporter, const [TUniformGrid](API\Runtime\Chaos\Chaos\TUniformGrid)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & InGrid, const [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) & InObject, const int32 BandWidth, const bool bUseObjectPhi )


className: FLevelSet

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


code: const [FReal](API\Runtime\ChaosCore\Chaos\FReal) I ( int32 RowIndex, int32 ColIndex ) const


code: static [FMassMatrix](API\Runtime\Chaos\Chaos\FMassMatrix) Make ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) InM, const [FMatrix33](API\Runtime\ChaosCore\Chaos\FMatrix33) & InI )


code: static [FMassMatrix](API\Runtime\Chaos\Chaos\FMassMatrix) Make ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) InM, const [FRotation3](API\Runtime\ChaosCore\Chaos\FRotation3) & Q, const [FMatrix33](API\Runtime\ChaosCore\Chaos\FMatrix33) & InI )


code: static [FMassMatrix](API\Runtime\Chaos\Chaos\FMassMatrix) Make ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) InM, [FMatrix33](API\Runtime\ChaosCore\Chaos\FMatrix33) && InI )


className: FMassMatrix

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

code: class FMassMatrix


className: FMassProperties

code: struct FMassProperties


className: FMaterialArray

code: typedef [THandleArray](API\Runtime\Chaos\Chaos\Framework\THandleArray)< [FChaosPhysicsMaterial](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterial) > FMaterialArray


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


className: FMaterialData

code: struct FMaterialData

MaterialMaskMapMaterials

type: TArray<FMateri...

MaterialMaskMaps

type: TArray< uint32 ...


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


className: FMaterialHandle

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

code: struct FMaterialHandle

InnerHandle

type: FChaosMaterialH...


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


className: FMaterialMaskHandle

code: struct FMaterialMaskHandle

type: FChaosMaterialM...


description: Modifying functions

code: void Disable()


description: Disable CCD for this pair.

code: void DisableCCD()


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


description: Accessor functions

code: void GetParticles ( const [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) ** Particle0, const [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) ** Particle1 ) const


description: Since a modifier can be invalid (ie, null midphase and/or accessor), make it castable to bool so that users can check validity.

code: bool IsValid() const


code: FMidPhaseModifier ( [FParticlePairMidPhase](API\Runtime\Chaos\Chaos\Collision\FParticlePairMidPhase) * InMidPhase, [FMidPhaseModifierAccessor](API\Runtime\Chaos\Chaos\FMidPhaseModifierAccessor) * InAccessor )


className: FMidPhaseModifier

description: Wrapper around a MidPhase object which exposes limited access and manipulation functions. Also contains the Modifier, which is responsible for iterating over PairModifiers, and storing and executing requested modifications.

code: class FMidPhaseModifier


description: Get a midphase modifier for a particular object pair.

code: [FMidPhaseModifier](API\Runtime\Chaos\Chaos\FMidPhaseModifier) GetMidPhase ( [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * Particle0, [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * Particle1 )


description: Get an object which allows for range iteration over the list of midphases for a particle

code: [FMidPhaseModifierParticleRange](API\Runtime\Chaos\Chaos\FMidPhaseModifierParticleRange) GetMidPhases ( [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * Particle )


className: FMidPhaseModifierAccessor

description: Provides interface for accessing midphase pair modifiers

code: class FMidPhaseModifierAccessor


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


code: bool operator!= ( const [FMidPhaseModifierParticleIterator](API\Runtime\Chaos\Chaos\FMidPhaseModifierParticleIterato-) & Other ) const


code: FMidPhaseModifierParticleIterator ( [FMidPhaseModifierAccessor](API\Runtime\Chaos\Chaos\FMidPhaseModifierAccessor) * InAccessor, [TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * InParticle, int32 InMidPhaseIndex )


className: FMidPhaseModifierParticleIterator

description: Class for iterating over midphases involving a specific particle

code: class FMidPhaseModifierParticleIterator


code: FMidPhaseModifierParticleRange ( [FMidPhaseModifierAccessor](API\Runtime\Chaos\Chaos\FMidPhaseModifierAccessor) * InAccessor, [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * InParticle )


className: FMidPhaseModifierParticleRange

code: class FMidPhaseModifierParticleRange


description: Set a block of collision particles active or inactive, using the index of the first added particle to identify the block.

code: void ActivateCollisionParticleRange ( int32 Offset, bool bActivate )


code: void ActivateConstraintRuleRange ( int32 Offset, bool bActivate )


description: Set a block of constraints active or inactive, using the index of the first added particle to identify the block.

code: void ActivateConstraintInitRange ( int32 Offset, bool bActivate )


description: Set a block of particles active or inactive, using the index of the first added particle to identify the block.

code: void ActivateParticleRange ( int32 Offset, bool bActivate )


code: void ActivatePostCollisionConstraintRuleRange ( int32 Offset, bool bActivate )


description: Add collision particles and initialize group ids. Return the index of the first added particle. Use INDEX_NONE as GroupId for collision particles that affect all particle groups.

code: int32 AddCollisionParticleRange ( int32 NumParticles, uint32 GroupId, bool bActivate )


description: Add constraints. Return the index of the first added constraint.

code: int32 AddConstraintInitRange ( int32 NumConstraints, bool bActivate )


description: Add particles and initialize group ids. Return the index of the first added particle.

code: int32 AddParticleRange ( int32 NumParticles, uint32 GroupId, bool bActivate )


code: int32 AddConstraintRuleRange ( int32 NumConstraints, bool bActivate )


code: int32 AddPostCollisionConstraintRuleRange ( int32 NumConstraints, bool bActivate )


description: Advance one time step. Filter the input time step if specified.

code: void AdvanceOneTimeStep ( const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt, const bool bSmoothDt )


description: Deprecated* UseGetCollisionStatus()instead

code: const bool Collided ( int32 index )


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


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


code: const [TPBDActiveView](API\Runtime\Chaos\Chaos\TPBDActiveView)< [FSolverRigidParticles](API\Runtime\Chaos\Chaos\FSolverRigidParticles) > & CollisionParticlesActiveView()


description: Constraint accessors.

code: const [TArray](API\Runtime\Core\Containers\TArray)< [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) &, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal))> > & ConstraintInits() const


code: template<typename Func1, typename Func2> void ComputeNegativeBackwardEulerResidual ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const [TArray](API\Runtime\Core\Containers\TArray)< [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 2 >>> & IncidentElements, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) > & NodalMass, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & Vn, const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Xn, Func1 P, Func2 AddExternalForce, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Time, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt, [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & Residual )


code: [TArray](API\Runtime\Core\Containers\TArray)< [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) &, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal))> > & ConstraintInits()


code: const [TArray](API\Runtime\Core\Containers\TArray)< [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) &, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal))> > & ConstraintRules() const


code: [TArray](API\Runtime\Core\Containers\TArray)< [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) &, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal))> > & ConstraintRules()


code: template<typename Func1, typename Func2, typename Func3, typename Func4, typename Func5, typename Func6> void DoNewtonStep ( const int32 max_it_newton, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) newton_tol, const int32 max_it_cg, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) cg_tol, Func1 P, Func2 dP, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) time, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) dt, const [TArray](API\Runtime\Core\Containers\TArray)< [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 2 >>> & incident_elements, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) > & nodal_mass, Func3 set_bcs, Func4 project_bcs, Func5 add_external_force, Func6 update_position_based_state, [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, [TArray](API\Runtime\Core\Containers\TArray)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) > & residual_norm, bool use_cg, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) cg_prctg_reduce, bool no_verbose )


code: [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) GetCoefficientOfFriction ( const uint32 GroupId ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & GetCollisionContacts() const


description: Return the number of particles of the block starting at Offset.

code: int32 GetCollisionParticleRangeSize ( int32 Offset ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & GetCollisionNormals() const


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


code: [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) GetCollisionThickness ( const uint32 GroupId ) const


code: int32 GetConstraintInitRangeSize ( int32 Offset ) const


code: int32 GetConstraintRuleRangeSize ( int32 Offset ) const


code: [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) GetDamping ( const uint32 GroupId ) const


code: [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) &, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal), const int32)> & GetForceFunction ( const uint32 GroupId )


code: const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) &, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal), const int32)> & GetForceFunction ( const uint32 GroupId ) const


code: const [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) & GetGravity ( const uint32 GroupId ) const


code: [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) GetLocalDamping ( const uint32 GroupId ) const


code: int32 GetParticleRangeSize ( int32 Offset ) const


code: int32 GetPostCollisionConstraintRuleRangeSize ( int32 Offset ) const


code: bool GetUseCCD ( const uint32 GroupId ) const


code: [FVelocityAndPressureField](API\Runtime\Chaos\Chaos\FVelocityAndPressureField) & GetVelocityAndPressureField ( const uint32 GroupId )


code: const [FVelocityAndPressureField](API\Runtime\Chaos\Chaos\FVelocityAndPressureField) & GetVelocityAndPressureField ( const uint32 GroupId ) const


description: Deprecated* Chaos::Softs::FVelocityField has been renamedFVelocityAndPressureFieldto match its new behavior.

code: PRAGMA_DISABLE_DEPRECATION_WARNINGS FVelocityField & GetVelocityField ( const uint32 GroupId )


code: PRAGMA_DISABLE_DEPRECATION_WARNINGS const FVelocityField & GetVelocityField ( const uint32 GroupId ) const


code: [TArray](API\Runtime\Core\Containers\TArray)< [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 2 > > > & IncidentElements()


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


description: Particles accessors.

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


code: const [TPBDActiveView](API\Runtime\Chaos\Chaos\TPBDActiveView)< [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) > & ParticlesActiveView()


code: const [TArray](API\Runtime\Core\Containers\TArray)< [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) &, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal))> > & PostCollisionConstraintRules() const


code: [TArray](API\Runtime\Core\Containers\TArray)< [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) &, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal))> > & PostCollisionConstraintRules()


description: Remove all collision particles.

code: void ResetCollisionParticles ( int32 NumParticles )


description: Reset all constraint init and rule functions.

code: void ResetConstraintRules()


description: Remove all particles, will also reset all rules.

code: void ResetParticles()


code: void SetCoefficientOfFriction ( const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) CoefficientOfFriction, const uint32 GroupId )


code: void SetCollisionKinematicUpdateFunction ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([FSolverRigidParticles](API\Runtime\Chaos\Chaos\FSolverRigidParticles) &, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal), const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal), const int32)> KinematicUpdate )


code: void SetCollisionThickness ( const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) CollisionThickness, const uint32 GroupId )


code: void SetDamping ( const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Damping, const uint32 GroupId )


code: void SetGravity ( const [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) & Acceleration, const uint32 GroupId )


code: void SetKinematicUpdateFunction ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) &, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal), const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal), const int32)> KinematicUpdate )


code: void SetLocalDamping ( const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) LocalDamping, const uint32 GroupId )


code: void SetNewtonIterations ( const int32 Iterations )


code: void SetUseCCD ( const bool bUseCCD, const uint32 GroupId )


code: void WriteOutputLog ( const int32 Frame )


description: TODO: Tidy up this constructor (and update Headless Chaos)

code: FNewtonEvolution ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) && InParticles, [FSolverRigidParticles](API\Runtime\Chaos\Chaos\FSolverRigidParticles) && InGeometryParticles, [TArray](API\Runtime\Core\Containers\TArray)< TVec3< int32 >> && CollisionTriangles, const [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 4 >> & InMesh, [TArray](API\Runtime\Core\Containers\TArray)< [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 2 >>> && InIncidentElements, int32 NumNewtonIterations, int32 NumCGIterations, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & ConstrainedVertices, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & BCPositions, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) CollisionThickness, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) SelfCollisionsThickness, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) CoefficientOfFriction, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Damping, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) LocalDamping, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) EMesh, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) NuMesh, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) NewtonTol, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) CGTol, bool bWriteDebugInfoIn )


className: FNewtonEvolution

code: class FNewtonEvolution : public [Chaos::TArrayCollection](API\Runtime\ChaosCore\Chaos\TArrayCollection)


code: [bool](API\Runtime\Chaos\Chaos\Collision\Chaos__Private__bool\1) IntersectAABB ( const [FAABBVectorized](API\Runtime\Chaos\Chaos\FAABBVectorized) & Bounds ) const


code: FOBBVectorized ( const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & Transform, const [FVec3f](API\Runtime\ChaosCore\Chaos\FVec3f) & HalfExtentsIn, const [FVec3f](API\Runtime\ChaosCore\Chaos\FVec3f) & InvScale )


className: FOnMaterialCreated

code: typedef TMulticastDelegate_OneParam< void, [FMaterialHandle](API\Runtime\Chaos\Chaos\FMaterialHandle) > FOnMaterialCreated


className: FOnMaterialDestroyed

code: typedef TMulticastDelegate_OneParam< void, [FMaterialHandle](API\Runtime\Chaos\Chaos\FMaterialHandle) > FOnMaterialDestroyed


className: FOnMaterialMaskCreated

code: typedef TMulticastDelegate_OneParam< void, [FMaterialMaskHandle](API\Runtime\Chaos\Chaos\FMaterialMaskHandle) > FOnMaterialMaskCreated


className: FOnMaterialMaskUpdated

code: typedef TMulticastDelegate_OneParam< void, [FMaterialMaskHandle](API\Runtime\Chaos\Chaos\FMaterialMaskHandle) > FOnMaterialMaskUpdated


className: FOnMaterialMaskDestroyed

code: typedef TMulticastDelegate_OneParam< void, [FMaterialMaskHandle](API\Runtime\Chaos\Chaos\FMaterialMaskHandle) > FOnMaterialMaskDestroyed


className: FOnMaterialUpdated

code: typedef TMulticastDelegate_OneParam< void, [FMaterialHandle](API\Runtime\Chaos\Chaos\FMaterialHandle) > FOnMaterialUpdated


className: FOverlapInfo

code: struct FOverlapInfo

AxisOverlap

type: FBox *

MTD

type: FMTDInfo*


className: FPAndInvM

code: struct FPAndInvM

InvM

type: FSolverReal


code: FParticleData ( [EParticleType](API\Runtime\Chaos\Chaos\Chaos__EParticleType) InType )


className: FParticleData

description: Note the lack of virtual api.

code: class FParticleData

Type

type: EParticleType


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


code: uint32 CollisionConstraintFlags() const


code: template<typename TOther> void CopyFrom ( const TOther & Other )


code: bool InertiaConditioningEnabled() const


code: template<typename TOther> bool IsEqual ( const TOther & Other ) const


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


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


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


code: void SetAngularEtherDrag ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InAngularEtherDrag )


code: void SetCollisionConstraintFlags ( uint32 InCollisionConstraintFlag )


code: void SetCCDEnabled ( bool bInCCDEnabled )


code: void SetCollisionGroup ( int32 InGroup )


code: void SetControlFlags ( const [FRigidParticleControlFlags](API\Runtime\Chaos\Chaos\FRigidParticleControlFlags) & InFlags )


code: void SetDisabled ( bool bInDisabled )


code: void SetInertiaConditioningEnabled ( bool bInEnabled )


code: void SetGravityEnabled ( bool bInGravity )


code: void SetLinearEtherDrag ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InLinearEtherDrag )


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


code: void SetMaxAngularSpeedSq ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InMaxAngularSpeed )


code: void SetObjectState ( [EObjectStateType](API\Runtime\Chaos\Chaos\Chaos__EObjectStateType) InState )


code: void SetOneWayInteraction ( bool bInOneWayInteraction )


code: void SetSleepType ( [ESleepType](API\Runtime\Chaos\Chaos\Chaos__ESleepType) Type )


code: void SetUpdateKinematicFromSimulation ( bool bUpdateKinematicFromSimulation )


className: FParticleDynamicMisc

code: class FParticleDynamicMisc


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


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


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


code: template<typename TOther> void CopyFrom ( const TOther & Other )


code: template<typename TOther> bool IsEqual ( const TOther & Other ) const


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


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


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


code: void SetAcceleration ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Acceleration )


code: void SetAngularAcceleration ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & AngularAcceleration )


code: void SetAngularImpulseVelocity ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & AngularImpulseVelocity )


code: void SetLinearImpulseVelocity ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & LinearImpulseVelocity )


className: FParticleDynamics

code: class FParticleDynamics


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


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


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


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


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


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


code: const [FRotation3](API\Runtime\ChaosCore\Chaos\FRotation3) & RotationOfMass() const


code: void SetCenterOfMass ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & InCenterOfMass )


code: void SetI ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & InI )


code: void SetInvI ( const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & InInvI )


code: void SetInvM ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InInvM )


code: void SetM ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InM )


code: void SetRotationOfMass ( const [FRotation3](API\Runtime\ChaosCore\Chaos\FRotation3) & InRotationOfMass )


className: FParticleMassProps

code: class FParticleMassProps


description: This function should only be used when geometry is not used by physics thread. The owning particle should not have a solver yet Avoid using this function unless you know the threading model, seeTGeometryParticle::ModifyGeometry


code: template<typename TOther> void CopyFrom ( const TOther & Other )


code: template<typename TOther> bool IsEqual ( const TOther & Other ) const


code: [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > Geometry() const


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


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


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


code: void SetEnabledDuringResim ( bool bEnabledDuringResim )


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


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


code: void SetSpatialIdx ( [FSpatialAccelerationIdx](API\Runtime\Chaos\Chaos\FSpatialAccelerationIdx) InIdx )


code: void SetUniqueIdx ( [FUniqueIdx](API\Runtime\Chaos\Chaos\FUniqueIdx) InIdx )


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


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


className: FParticleNonFrequentData

code: class FParticleNonFrequentData


className: FParticlePair

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


code: void SetResimType ( [EResimType](API\Runtime\Chaos\Chaos\Chaos__EResimType) InType )


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


code: const [FRotation3](API\Runtime\ChaosCore\Chaos\FRotation3) & R() const


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


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


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


className: FParticlePositionRotation

code: class FParticlePositionRotation


className: FParticleProxyProperty

code: struct FParticleProxyProperty

ParticleProxy

type: FSingleParticle...


code: virtual void Apply ( [FDynamicParticles](API\Runtime\Chaos\Chaos\FDynamicParticles) & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt ) const


code: virtual void Apply ( [FPBDParticles](API\Runtime\Chaos\Chaos\FPBDParticles) & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt ) const


className: FParticleRule

description: Apply an effect to all particles.

code: class FParticleRule


className: FParticles

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


code: virtual void Apply ( [FParticles](API\Runtime\Chaos\Chaos\FParticles) & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt ) const


className: IndicesPerPage

code: static constexpr int32 IndicesPerPage = 1024;


code: virtual void ReleaseIdx ( [FUniqueIdx](API\Runtime\Chaos\Chaos\FUniqueIdx) Unique )


code: FParticleUniqueIndicesMultithreaded()


code: ~FParticleUniqueIndicesMultithreaded()


className: FParticleUniqueIndicesMultithreaded

code: class FParticleUniqueIndicesMultithreaded : public [Chaos::IParticleUniqueIndices](API\Runtime\Chaos\Chaos\IParticleUniqueIndices)


code: template<typename TOther> bool IsEqual ( const TOther & Other ) const


code: template<typename TOther> void CopyFrom ( const TOther & Other )


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


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


code: void SetV ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & V )


code: void SetW ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & W )


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


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


className: FParticleVelocities

code: class FParticleVelocities


code: void ApplyInParallel ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt ) const


code: void ApplyInSerial ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt ) const


code: virtual void ApplySingleElementVolumeAllInOne ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt, const int32 ElementIndex ) const


code: virtual void ApplySingleElementAllInOne ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt, const int32 ElementIndex ) const


code: virtual void ApplySingleElement ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt, const int32 ElementIndex ) const


code: virtual void ApplySingleElementShortest ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt, const int32 ElementIndex ) const


code: [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > GetGradients ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const int32 ElementIndex, const int32 ie ) const


code: [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) GetScalingFactor ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const int32 ElementIndex, const int32 ie, const [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & Grads ) const


code: int32 GetSingleElementShortestLength ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt, const int32 ElementIndex ) const


code: FPBDAltitudeSpringConstraints ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, [TArray](API\Runtime\Core\Containers\TArray)< [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< int32 >> && InConstraints, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InStiffness )


className: FPBDAltitudeSpringConstraints

code: class FPBDAltitudeSpringConstraints

Constraints

type: TArray<TVec4< ...


className: AnimDriveDampingName

code: static const [FName](API\Runtime\Core\UObject\FName) AnimDriveDampingName = TEXT("AnimDriveDamping");


className: AnimDriveStiffnessName

code: static const [FName](API\Runtime\Core\UObject\FName) AnimDriveStiffnessName = TEXT("AnimDriveStiffness");


code: void Apply ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt ) const


description: Set stiffness offset and range, as well as the simulation stiffness exponent.

code: void ApplyProperties ( const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt, const int32 NumIterations )


description: Return the damping input values used by the constraint.


description: Return the stiffness input values used by the constraint.


code: static bool IsEnabled ( const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection )


description: Deprecated* Use SetProperties(const FCollectionPropertyConstFacade&, const TMap>&, FSolverReal) instead.

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


code: void SetProperties ( const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection, const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) >> & WeightMaps )


code: void SetProperties ( const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InStiffness, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InDamping )


description: Deprecated* Use the other constructor supplying AnimationVelocities for correct subframe and damping behavior

code: FPBDAnimDriveConstraint ( const int32 InParticleOffset, const int32 InParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InAnimationPositions, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InOldAnimationPositions, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & StiffnessMultipliers, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & DampingMultipliers )


code: FPBDAnimDriveConstraint ( const int32 InParticleOffset, const int32 InParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InAnimationPositions, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InAnimationVelocities, const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) >> & WeightMaps, const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection )


description: Deprecated* Use weight map constructor instead.

code: FPBDAnimDriveConstraint ( const int32 InParticleOffset, const int32 InParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InAnimationPositions, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InAnimationVelocities, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & StiffnessMultipliers, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & DampingMultipliers, const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection )


code: FPBDAnimDriveConstraint ( const int32 InParticleOffset, const int32 InParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InAnimationPositions, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > &, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & InAnimationVelocities, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & StiffnessMultipliers, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & DampingMultipliers )


className: FPBDAnimDriveConstraint

code: class FPBDAnimDriveConstraint


className: AreaSpringStiffnessName

code: static const [FName](API\Runtime\Core\UObject\FName) AreaSpringStiffnessName = TEXT("AreaSpringStiffness");


code: FPBDAreaSpringConstraints ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, int32 InParticleOffset, int32 InParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< TVec3< int32 >> & InConstraints, const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) >> & WeightMaps, const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection, bool bTrimKinematicConstraints )


code: FPBDAreaSpringConstraints ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, int32 InParticleOffset, int32 InParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< TVec3< int32 >> & InConstraints, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & StiffnessMultipliers, const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection, bool bTrimKinematicConstraints )


code: virtual ~FPBDAreaSpringConstraints()


className: FPBDAreaSpringConstraints

code: class FPBDAreaSpringConstraints : public [Chaos::Softs::FPBDAxialSpringConstraints](API\Runtime\Chaos\Chaos\FPBDAxialSpringConstraints)


code: FPBDAxialSpringConstraints ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, int32 InParticleOffset, int32 InParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< TVec3< int32 >> & InConstraints, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & StiffnessMultipliers, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InStiffness, bool bTrimKinematicConstraints )


code: virtual ~FPBDAxialSpringConstraints()


className: FPBDAxialSpringConstraints

code: class FPBDAxialSpringConstraints : public [Chaos::Softs::FPBDAxialSpringConstraintsBase](API\Runtime\Chaos\Chaos\FPBDAxialSpringConstraintsBase)


code: void ApplyProperties ( const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt, const int32 NumIterations )


code: [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) GetDelta ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, const int32 ConstraintIndex, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) ExpStiffnessValue ) const


code: void SetProperties ( const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InStiffness )


code: FPBDAxialSpringConstraintsBase ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, int32 InParticleOffset, int32 InParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< TVec3< int32 >> & InConstraints, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & StiffnessMultipliers, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InStiffness, bool bTrimKinematicConstraints, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MaxStiffness )


className: FPBDAxialSpringConstraintsBase

code: class FPBDAxialSpringConstraintsBase

Barys

type: TArray<FSolver...

type: TArray< TVec3< ...

ParticleCount

type: const int32

Stiffness

type: FPBDStiffness


code: void Apply ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt ) const


className: BendingElementStiffnessName

code: static const [FName](API\Runtime\Core\UObject\FName) BendingElementStiffnessName = TEXT("BendingElementStiffness");


className: BucklingRatioName

code: static const [FName](API\Runtime\Core\UObject\FName) BucklingRatioName = TEXT("BucklingRatio");


className: BucklingStiffnessName

code: static const [FName](API\Runtime\Core\UObject\FName) BucklingStiffnessName = TEXT("BucklingStiffness");


className: FlatnessRatioName

code: static const [FName](API\Runtime\Core\UObject\FName) FlatnessRatioName = TEXT("FlatnessRatio");


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


code: static bool IsEnabled ( const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection )


className: RestAngleName

code: static const [FName](API\Runtime\Core\UObject\FName) RestAngleName = TEXT("RestAngle");


className: RestAngleTypeName

code: static const [FName](API\Runtime\Core\UObject\FName) RestAngleTypeName = TEXT("RestAngleType");


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


code: void SetProperties ( const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection, const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) >> & WeightMaps )


description: Deprecated* Use one of the other constructors instead.

code: FPBDBendingConstraints ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, [TArray](API\Runtime\Core\Containers\TArray)< [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< int32 >> && InConstraints, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InStiffness )


code: FPBDBendingConstraints ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, int32 InParticleOffset, int32 InParticleCount, [TArray](API\Runtime\Core\Containers\TArray)< [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< int32 >> && InConstraints, const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) >> & WeightMaps, const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection, bool bTrimKinematicConstraints )


code: FPBDBendingConstraints ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, int32 InParticleOffset, int32 InParticleCount, [TArray](API\Runtime\Core\Containers\TArray)< [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< int32 >> && InConstraints, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & StiffnessMultipliers, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & BucklingStiffnessMultipliers, const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection, bool bTrimKinematicConstraints )


code: FPBDBendingConstraints ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, int32 ParticleOffset, int32 ParticleCount, [TArray](API\Runtime\Core\Containers\TArray)< [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< int32 >> && InConstraints, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & StiffnessMultipliers, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & BucklingStiffnessMultipliers, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InStiffness, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InBucklingRatio, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InBucklingStiffness, bool bTrimKinematicConstraints )


className: FPBDBendingConstraints

code: class FPBDBendingConstraints : public [Chaos::Softs::FPBDBendingConstraintsBase](API\Runtime\Chaos\Chaos\FPBDBendingConstraintsBase)


code: bool AngleIsBuckled ( const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Angle, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) RestAngle ) const


description: Update stiffness table, as well as the simulation stiffness exponent.

code: void ApplyProperties ( const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt, const int32 NumIterations )


className: ERestAngleConstructionType

code: enum ERestAngleConstructionType { Use3DRestAngles, FlatnessRatio, ExplicitRestAngles, }


code: static [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) CalcAngle ( const [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) & P1, const [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) & P2, const [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) & P3, const [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) & P4 )


code: const [TArray](API\Runtime\Core\Containers\TArray)< [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< int32 > > & GetConstraints() const


code: [TStaticArray](API\Runtime\Core\Containers\TStaticArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3), 4 > GetGradients ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const int32 i ) const


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


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) > & GetRestAngles() const


description: Deprecated* Use GetScalingFactor(const FSolverParticles& InParticles, const int32 i, const TStaticArray& Grads, const FSolverReal ExpStiffnessValue, const FSolverReal BucklingRatio, const FSolverReal ExpBucklingValue) instead.

code: [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) GetScalingFactor ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const int32 i, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & Grads ) const


code: [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) GetScalingFactor ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const int32 i, const [TStaticArray](API\Runtime\Core\Containers\TStaticArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3), 4 > & Grads, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) ExpStiffnessValue, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) ExpBucklingValue ) const


code: void Init ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles )


description: Update stiffness values.

code: void SetProperties ( const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InStiffness, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InBucklingRatio, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InBucklingStiffness )


description: Deprecated* Use SetProperties instead.

code: void SetStiffness ( [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InStiffness )


code: FPBDBendingConstraintsBase ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, [TArray](API\Runtime\Core\Containers\TArray)< [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< int32 >> && InConstraints, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InStiffness )


code: FPBDBendingConstraintsBase ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, int32 InParticleOffset, int32 InParticleCount, [TArray](API\Runtime\Core\Containers\TArray)< [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< int32 >> && InConstraints, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & StiffnessMultipliers, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & BucklingStiffnessMultipliers, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InStiffness, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InBucklingRatio, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InBucklingStiffness, bool bTrimKinematicConstraints, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MaxStiffness )


code: FPBDBendingConstraintsBase ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, int32 InParticleOffset, int32 InParticleCount, [TArray](API\Runtime\Core\Containers\TArray)< [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< int32 >> && InConstraints, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & StiffnessMultipliers, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & BucklingStiffnessMultipliers, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & RestAngleMap, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InStiffness, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InBucklingRatio, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InBucklingStiffness, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & RestAngleValue, [ERestAngleConstructionType](API\Runtime\Chaos\Chaos\FPBDBendingConstraintsBase\ERestAngleConstructionType) RestAngleConstructionType, bool bTrimKinematicConstraints, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MaxStiffness )


code: virtual ~FPBDBendingConstraintsBase()


className: FPBDBendingConstraintsBase

code: class FPBDBendingConstraintsBase

ConstraintSharedEdges

type: TArray<TVec2< ...

IsBuckled

type: TArray< bool >


className: BendingSpringStiffnessName

code: static const [FName](API\Runtime\Core\UObject\FName) BendingSpringStiffnessName = TEXT("BendingSpringStiffness");


code: static bool IsEnabled ( const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection )


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


code: void SetProperties ( const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection, const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) >> & WeightMaps )


code: FPBDBendingSpringConstraints ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, int32 ParticleOffset, int32 ParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< [TVec2](API\Runtime\ChaosCore\Chaos\TVec2)< int32 >> & InConstraints, const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) >> & WeightMaps, const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection, bool bTrimKinematicConstraints )


code: FPBDBendingSpringConstraints ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, int32 ParticleOffset, int32 ParticleCount, const [TArray](API\Runtime\Core\Containers\TArray)< [TVec2](API\Runtime\ChaosCore\Chaos\TVec2)< int32 >> & InConstraints, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & StiffnessMultipliers, const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection, bool bTrimKinematicConstraints )


code: virtual ~FPBDBendingSpringConstraints()


className: FPBDBendingSpringConstraints

code: class FPBDBendingSpringConstraints : public [Chaos::Softs::FPBDSpringConstraints](API\Runtime\Chaos\Chaos\FPBDSpringConstraints)


code: void Apply ( [FPBDParticles](API\Runtime\Chaos\Chaos\FPBDParticles) & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt ) const


code: void Apply ( [FPBDParticles](API\Runtime\Chaos\Chaos\FPBDParticles) & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 InConstraintIndex ) const


code: void Apply ( [FPBDParticles](API\Runtime\Chaos\Chaos\FPBDParticles) & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & InConstraintIndices ) const


code: FPBDChainConstraints ( const [FDynamicParticles](API\Runtime\Chaos\Chaos\FDynamicParticles) & InParticles, [TArray](API\Runtime\Core\Containers\TArray)< [TArray](API\Runtime\Core\Containers\TArray)< int32 >> && Constraints, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Coefficient )


code: virtual void Apply ( [FPBDParticles](API\Runtime\Chaos\Chaos\FPBDParticles) & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt ) const


className: FPBDChainConstraints

code: class FPBDChainConstraints : public [Chaos::FPBDIndexedConstraintContainer](API\Runtime\Chaos\Chaos\Evolution\FPBDIndexedConstraintContainer)


code: FPBDChainUpdateFromDeltaPosition ( [TArray](API\Runtime\Core\Containers\TArray)< [TArray](API\Runtime\Core\Containers\TArray)< int32 >> && Constraints, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Damping )


className: FPBDChainUpdateFromDeltaPosition

code: class FPBDChainUpdateFromDeltaPosition : public [Chaos::FParticleRule](API\Runtime\Chaos\Chaos\FParticleRule)


className: FPBDCollisionConstraintPool

description: Collision and MidPhases are stored in an ObjectPool (if CHAOS_COLLISION_OBJECTPOOL_ENABLED or CHAOS_MIDPHASE_OBJECTPOOL_ENABLED is set).


description: Add all the constraints in the container to the graph

code: virtual void AddConstraintsToGraph ( [Private::FPBDIslandManager](API\Runtime\Chaos\Chaos\Island\FPBDIslandManager) & IslandManager )


description: Apply modifiers to CCD results

code: void ApplyCCDModifier ( const [TArray](API\Runtime\Core\Containers\TArray)< [ISimCallbackObject](API\Runtime\Chaos\Chaos\ISimCallbackObject) * > & CCDModifiers, [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt )


description: Apply modifiers to the constraints and specify which constraints should be disabled. You would probably call this in the PostComputeCallback. Prefer this to calling RemoveConstraints in a loop, so you don't have to worry about constraint iterator/indices changing.

code: void ApplyCollisionModifier ( const [TArray](API\Runtime\Core\Containers\TArray)< [ISimCallbackObject](API\Runtime\Chaos\Chaos\ISimCallbackObject) * > & CollisionModifiers, [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt )


description: Apply modifiers to particle pair midphases

code: void ApplyMidPhaseModifier ( const [TArray](API\Runtime\Core\Containers\TArray)< [ISimCallbackObject](API\Runtime\Chaos\Chaos\ISimCallbackObject) * > & MidPhaseModifiers, [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt )


description: Called before collision detection to reset contacts.

code: void BeginDetectCollisions()


description: Clears the list of active constraints.

code: void BeginFrame()


description: Create a constraint solver for an Evolution with Graph support (World evolution). The system will create several of these: usually one per worker thread (Island Group) but possibly more in complex scenes where constraint coloring is being used. It will be used to solve constraints in groups, with the constraints in each group determined by the graph/islands/islandgroups.

code: virtual [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FConstraintContainerSolver](API\Runtime\Chaos\Chaos\Evolution\FConstraintContainerSolver) > CreateGroupSolver ( const int32 Priority )


description: Create a constraint solver for an Evolution without Graph support (RBAN evolution). There will only be one of these per scene (RBAN node) and it is used to solve all constraints in the container (serially).

code: virtual [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FConstraintContainerSolver](API\Runtime\Chaos\Chaos\Evolution\FConstraintContainerSolver) > CreateSceneSolver ( const int32 Priority )


description: Called after collision resolution in order to detect probes.

code: void DetectProbeCollisions ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt )


description: Disable the constraints associated with the ParticleHandle.

code: void DisableConstraints ( const [TSet](API\Runtime\Core\Containers\TSet)< [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * > & ParticleHandle )


description: Put the container in "no handles" mode for use with simple solver. Must be called when empty of constraints (ideally right after creation).

code: void DisableHandles()


description: Remove all constraints associated with the particles - called when particles are destroyed.

code: virtual void DisconnectConstraints ( const [TSet](API\Runtime\Core\Containers\TSet)< [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * > & ParticleHandles )


className: FConstHandles

code: typedef [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FPBDCollisionConstraint](API\Runtime\Chaos\Chaos\Collision\FPBDCollisionConstraint) *const > FConstHandles


description: Called after collision detection to finalize the contacts.

code: void EndDetectCollisions()


className: FConstraintContainerHandle

description: For use by dependent types.


className: FHandles

description: Collision constraints have intrusive pointers. An array of constraint pointers can be uased as an array of handle pointers.

code: typedef [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FPBDCollisionConstraint](API\Runtime\Chaos\Chaos\Collision\FPBDCollisionConstraint) *const > FHandles


code: const [FPBDCollisionConstraint](API\Runtime\Chaos\Chaos\Collision\FPBDCollisionConstraint) & GetConstraint ( int32 Index ) const


code: [FPBDCollisionConstraint](API\Runtime\Chaos\Chaos\Collision\FPBDCollisionConstraint) & GetConstraint ( int32 Index )


code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FPBDCollisionConstraint](API\Runtime\Chaos\Chaos\Collision\FPBDCollisionConstraint) *const > GetConstraints() const


code: const [FCollisionDetectorSettings](API\Runtime\Chaos\Chaos\Collision\FCollisionDetectorSettings) & GetDetectorSettings() const


description: Whether this container provides constraint handles (simple solvers do not need them)

code: bool GetHandlesEnabled() const


description: FConstraintContainer Implementation

code: virtual int32 GetNumConstraints() const


code: const [FPBDCollisionSolverSettings](API\Runtime\Chaos\Chaos\Collision\FPBDCollisionSolverSettings) & GetSolverSettings() const


description: The type of solver we are creating.


code: bool IsShockPropagationEnabled() const


description: Call PruneParticleEdgeCollisions on all particles withECollisionConstraintFlags::CCF_SmoothEdgeCollisionsset in CollisionFlags.

code: void PruneEdgeCollisions()


description: Called oncer per tick to initialize buffers required for the rest of the tick

code: virtual void PrepareTick()


description: Remove the constraints associated with the ParticleHandle.

code: void RemoveConstraints ( const [TSet](API\Runtime\Core\Containers\TSet)< [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * > & ParticleHandle )


description: Destroy all constraints

code: void Reset()


description: Empty the constraints (must be removed from the graph first, if required)

code: virtual void ResetConstraints()


description: Member Access

code: void SetCanDisableContacts ( bool bInCanDisableContacts )


code: void SetCollisionsEnabled ( bool bInEnableCollisions )


code: void SetCullDistance ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) InCullDistance )


code: void SetDetectorSettings ( const [FCollisionDetectorSettings](API\Runtime\Chaos\Chaos\Collision\FCollisionDetectorSettings) & InSettings )


code: void SetGravity ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & InGravity )


code: void SetMaxPushOutVelocity ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) InMaxPushOutVelocity )


description: Enable or disable determinism. Support for determinism requires that we sort active constraints each tick, so there is additional cost.

code: void SetIsDeterministic ( const bool bInIsDeterministic )


code: void SetPositionFrictionIterations ( const int32 InNumIterations )


code: void SetPositionShockPropagationIterations ( const int32 InNumIterations )


code: void SetRestitutionEnabled ( bool bInEnableRestitution )


code: void SetRestitutionThreshold ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) InRestitutionThreshold )


description: Set the solver type. NOTE: Any previously created solvers will not be recreated at this level. (SeeFPBDRigidsEvolutionGBF::UpdateCollisionSolverType)

code: void SetSolverType ( const [Private::ECollisionSolverType](API\Runtime\Chaos\Chaos\Chaos__Private__ECollisionSolver-) InSolverType )


code: void SetVelocityBoundsExpansion ( const [FReal](API\Runtime\ChaosCore\Chaos\FReal) BoundsVelocityMultiplier, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) MaxVelocityBoundsExpansion )


code: void SetVelocityFrictionIterations ( const int32 InNumIterations )


code: void SetVelocityShockPropagationIterations ( const int32 InNumIterations )


description: Should undo any allocations in PrepareTick

code: virtual void UnprepareTick()


code: virtual ~FPBDCollisionConstraints()


code: FPBDCollisionConstraints ( const [FPBDRigidsSOAs](API\Runtime\Chaos\Chaos\FPBDRigidsSOAs) & InParticles, [TArrayCollectionArray](API\Runtime\Engine\Physics\Experimental\TArrayCollectionArray)< bool > & Collided, const [TArrayCollectionArray](API\Runtime\Engine\Physics\Experimental\TArrayCollectionArray)< [TSerializablePtr](API\Runtime\Chaos\Chaos\TSerializablePtr)< [FChaosPhysicsMaterial](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterial) >> & PhysicsMaterials, const [TArrayCollectionArray](API\Runtime\Engine\Physics\Experimental\TArrayCollectionArray)< [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FChaosPhysicsMaterial](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterial) >> & PerParticlePhysicsMaterials, const [THandleArray](API\Runtime\Chaos\Chaos\Framework\THandleArray)< [FChaosPhysicsMaterial](API\Runtime\Chaos\Chaos\FChaosPhysicsMaterial) > *const SimMaterials, const int32 NumCollisionsPerBlock, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) RestitutionThreshold )


className: FPBDCollisionConstraints

description: A container and solver for collision constraints.

code: class FPBDCollisionConstraints : public [Chaos::FPBDConstraintContainer](API\Runtime\Chaos\Chaos\FPBDConstraintContainer)


code: void Apply ( [FPBDParticles](API\Runtime\Chaos\Chaos\FPBDParticles) & InParticles, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const int32 Index ) const


code: FPBDCollisionSphereConstraints ( const [FPBDParticles](API\Runtime\Chaos\Chaos\FPBDParticles) & InParticles, const [TSet](API\Runtime\Core\Containers\TSet)< [TVec2](API\Runtime\ChaosCore\Chaos\TVec2)< int32 >> & DisabledCollisionElements, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Dt, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Height )


className: FPBDCollisionSphereConstraints

code: class FPBDCollisionSphereConstraints : public [Chaos::FPerParticleRule](API\Runtime\Chaos\Chaos\FPerParticleRule)


code: void Apply ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt ) const


code: void Apply ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & InConstraintIndices ) const


code: void Apply ( [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) Dt, const int32 ConstraintIndex ) const


code: static bool IsEnabled ( const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection )


code: void UpdateConstraintMaterialProperties ( [FPBDCollisionConstraint](API\Runtime\Chaos\Chaos\Collision\FPBDCollisionConstraint) & Contact )


className: MaxFrictionCoefficient

code: static constexpr [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MaxFrictionCoefficient = (FSolverReal)10.;


className: MinFrictionCoefficient

code: static constexpr [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MinFrictionCoefficient = (FSolverReal)0.;


className: SelfCollisionFrictionName

code: static const [FName](API\Runtime\Core\UObject\FName) SelfCollisionFrictionName = TEXT("SelfCollisionFriction");


className: SelfCollisionStiffnessName

code: static const [FName](API\Runtime\Core\UObject\FName) SelfCollisionStiffnessName = TEXT("SelfCollisionStiffness");


className: SelfCollisionThicknessName

code: static const [FName](API\Runtime\Core\UObject\FName) SelfCollisionThicknessName = TEXT("SelfCollisionThickness");


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


code: FPBDCollisionSpringConstraints ( const int32 InOffset, const int32 InNumParticles, const [FTriangleMesh](API\Runtime\Chaos\Chaos\FTriangleMesh) & InTriangleMesh, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > * InRestPositions, [TSet](API\Runtime\Core\Containers\TSet)< [TVec2](API\Runtime\ChaosCore\Chaos\TVec2)< int32 >> && InDisabledCollisionElements, const [FCollectionPropertyConstFacade](API\Runtime\Chaos\Chaos\FCollectionPropertyConstFacade) & PropertyCollection )


code: FPBDCollisionSpringConstraints ( const int32 InOffset, const int32 InNumParticles, const [FTriangleMesh](API\Runtime\Chaos\Chaos\FTriangleMesh) & InTriangleMesh, const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > * InRestPositions, [TSet](API\Runtime\Core\Containers\TSet)< [TVec2](API\Runtime\ChaosCore\Chaos\TVec2)< int32 >> && InDisabledCollisionElements, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InThickness, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InStiffness, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InFrictionCoefficient )


className: FPBDCollisionSpringConstraints

code: class FPBDCollisionSpringConstraints : public [Chaos::Softs::FPBDCollisionSpringConstraintsBase](API\Runtime\Chaos\Chaos\FPBDCollisionSpringConstraintsBa-)


className: BackCompatFrictionCoefficient

code: static constexpr [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) BackCompatFrictionCoefficient = (FSolverReal)0.f;


className: BackCompatStiffness

code: static constexpr [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) BackCompatStiffness = (FSolverReal)0.5f;


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > & GetBarys() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [TVec4](API\Runtime\ChaosCore\Chaos\TVec4)< int32 > > & GetConstraints() const


code: [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) GetDelta ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, const int32 i ) const


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


className: BackCompatThickness

code: static constexpr [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) BackCompatThickness = (FSolverReal)1.f;


description: Deprecated* Use Init(Particles, Spatial, GIAColors) instead.

code: void Init ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles )


code: template<typename SpatialAccelerator> void Init ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, const SpatialAccelerator & Spatial, const TConstArrayView< [FPBDTriangleMeshCollisions::FGIAColor](API\Runtime\Chaos\Chaos\FPBDTriangleMeshCollisions\FGIAColor) > & VertexGIAColors, const [TArray](API\Runtime\Core\Containers\TArray)< [FPBDTriangleMeshCollisions::FGIAColor](API\Runtime\Chaos\Chaos\FPBDTriangleMeshCollisions\FGIAColor) > & TriangleGIAColors )


code: void SetFrictionCoefficient ( [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InFrictionCoefficient )


code: void SetThickness ( [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InThickness )