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


module: Chaos

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


className: FSimCallbackOutputHandle::operator bool

code: operator bool() const


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


code: const [FSimCallbackOutput](API\Runtime\Chaos\Chaos\FSimCallbackOutput) & operator*() const


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


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


code: FSimCallbackOutputHandle ( [FSimCallbackOutput](API\Runtime\Chaos\Chaos\FSimCallbackOutput) * Output, [ISimCallbackObject](API\Runtime\Chaos\Chaos\ISimCallbackObject) * InCallbackObject )


code: int32 operator[] ( int32 Idx ) const


className: FSimCallbackOutputHandle

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

code: class FSimCallbackOutputHandle


code: FSimplex ( std::initializer_list< int32 > InIdxs )


code: FSleepingData ( [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) * InProxy, bool InSleeping )


className: FSleepingData

code: struct FSleepingData

Proxy

type: IPhysicsProxyBa...

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

Sleeping

type: bool


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


code: typedef [PMatrix](API\Runtime\Chaos\Chaos\PMatrix)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal), 2, 2 > FSolverMatrix22


code: typedef [PMatrix](API\Runtime\Chaos\Chaos\PMatrix)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal), 3, 3 > FSolverMatrix33


code: typedef [PMatrix](API\Runtime\Chaos\Chaos\PMatrix)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal), 4, 4 > FSolverMatrix44


className: Base

code: typedef [TDynamicParticles](API\Runtime\Chaos\Chaos\TDynamicParticles)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal), 3 > Base


code: [TArrayCollectionArray](API\Runtime\Engine\Physics\Experimental\TArrayCollectionArray)< [FPAndInvM](API\Runtime\Chaos\Chaos\FPAndInvM) > & GetPAndInvM()


code: const [TArrayCollectionArray](API\Runtime\Engine\Physics\Experimental\TArrayCollectionArray)< [FPAndInvM](API\Runtime\Chaos\Chaos\FPAndInvM) > & GetPAndInvM() const


code: const [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) & P ( const int32 index ) const


code: [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) & P ( const int32 index )


code: [FPAndInvM](API\Runtime\Chaos\Chaos\FPAndInvM) & PAndInvM ( const int32 index )


code: const [FPAndInvM](API\Runtime\Chaos\Chaos\FPAndInvM) & PAndInvM ( const int32 index ) const


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


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


className: FSolverParticles

code: class FSolverParticles : public [Chaos::TDynamicParticles< FSolverReal, 3 >](API\Runtime\Chaos\Chaos\TDynamicParticles)


className: FSolverReal

description: Softs solver types using FSolverReal = FReal;


code: typedef [TRotation](API\Runtime\Chaos\Chaos\TRotation)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal), 3 > FSolverRotation3


code: typedef [TRigidTransform](API\Runtime\Chaos\Chaos\TRigidTransform)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal), 3 > FSolverRigidTransform3


code: typedef [UE::Math::TTransform](API\Runtime\Core\Math\TTransform)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) > FSolverTransform3


code: typedef [TVector](API\Runtime\Chaos\Chaos\TVector)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal), 2 > FSolverVec2


code: typedef [TVector](API\Runtime\Chaos\Chaos\TVector)< [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal), 3 > FSolverVec3


code: void AddElements ( const int32 Num )


code: const [FAABB3](API\Runtime\Chaos\Chaos\FAABB3) & Bounds ( const int32 Idx ) const


code: [FAABB3](API\Runtime\Chaos\Chaos\FAABB3) & Bounds ( const int32 Idx )


code: void DestroyElement ( const int32 Idx )


code: bool HasBounds ( const int32 Idx ) const


code: bool & HasBounds ( const int32 Idx )


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


code: const [FAccelerationStructureHandle](API\Runtime\Chaos\Chaos\FAccelerationStructureHandle) & Payload ( const int32 Idx ) const


code: [FAccelerationStructureHandle](API\Runtime\Chaos\Chaos\FAccelerationStructureHandle) & Payload ( const int32 Idx )


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


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


className: FSpatialAccelerationCache

description: The SOA cache used for a single acceleration structure

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


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


code: template<typename TPayloadType> TPayloadType GetPayload ( int32 Idx ) const


code: FSpatialAccelerationCacheHandle ( [FSpatialAccelerationCache](API\Runtime\Chaos\Chaos\FSpatialAccelerationCache) * InCache, int32 InEntryIdx )


className: FSpatialAccelerationCacheHandle

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

code: struct FSpatialAccelerationCacheHandle

type: union Chaos::FS...

Cache

type: FSpatialAcceler...


className: MaxBuckets

code: static constexpr uint16 MaxBuckets = 1 << 3;


className: MaxBucketEntries

code: static constexpr uint16 MaxBucketEntries = 1 << 13;


code: bool operator== ( const [FSpatialAccelerationIdx](API\Runtime\Chaos\Chaos\FSpatialAccelerationIdx) & Rhs ) const


code: FSpatialAccelerationIdx ( uint16 inBucket, uint16 inInnerIdx )


className: FSpatialAccelerationIdx

code: struct FSpatialAccelerationIdx

Bucket

type: uint16:  3


className: FSphere

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


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


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


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


code: FStrainedProxyIterator ( [FRigidClustering](API\Runtime\Chaos\Chaos\FRigidClustering) & InRigidClustering, [TArray](API\Runtime\Core\Containers\TArray)< [FGeometryCollectionPhysicsProxy](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionPhysicsProxy) * > & InProxies, int32 InIndex )


className: FStrainedProxyIterator

description: Iterator produced byFStrainedProxyRange, for looping over proxies which are associated with rigid clusters which have been strained.

code: class FStrainedProxyIterator


description: Clear strains for all strained cluster children.

code: void ClearStrains()


description: Get the number of breaking strains amongst the level-1 strainables If DoubleCount is true, then add N for each strain which is strong enough to break a connection N times.

code: int32 GetNumBreakingStrains ( bool bDoubleCount, const uint8 StrainTypes ) const


description: Get the number of level-1 strainable entities (number of rest-children in the per-particle strain model, or number of rest-connections in the edge/area model).

code: int32 GetNumRestBreakables() const


description: Get the proxy that owns the strained cluster or clusters.

code: const [FGeometryCollectionPhysicsProxy](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionPhysicsProxy) * GetProxy() const


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


code: FStrainedProxyModifier ( [FRigidClustering](API\Runtime\Chaos\Chaos\FRigidClustering) & InRigidClustering, [FGeometryCollectionPhysicsProxy](API\Runtime\Chaos\PhysicsProxy\FGeometryCollectionPhysicsProxy) * InProxy )


className: FStrainedProxyModifier

description: User-facing api for accessing the proxy of a strained cluster. Provides const access to the proxy and limited read/write access to its internal strain data.

code: class FStrainedProxyModifier


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


code: FStrainedProxyRange ( [Chaos::FRigidClustering](API\Runtime\Chaos\Chaos\FRigidClustering) & InRigidClustering, bool bRootLevelOnly )


className: FStrainedProxyRange

description: Provides an interface for use with ranged-for, for iterating over strained proxies. Constructor produces filtered array of proxies, and begin and end functions produce iterators which can modify strain related properties of the clusters associated with each proxy.

code: class FStrainedProxyRange


description: Get the physics handle for the strained parent cluster.

code: const [Chaos::FPBDRigidParticleHandle](API\Runtime\Chaos\Chaos\FPBDRigidParticleHandle) * GetRootHandle() const


description: Get an iterable range of unique geometry collection proxies which correspond to all strained clusters. Optionally, only include proxies for whom the strained parent is still the original root (ie, unbroken).

code: [FStrainedProxyRange](API\Runtime\Chaos\Chaos\FStrainedProxyRange) GetStrainedProxies ( bool bRootLevelOnly )


code: FStrainModifierAccessor ( [FRigidClustering](API\Runtime\Chaos\Chaos\FRigidClustering) & InRigidClustering )


className: FStrainModifierAccessor

description: Provides access to strained proxies and clusters

code: class FStrainModifierAccessor


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


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


code: void SetAxis ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) Val )


code: void SetHardstopStiffness ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) Val )


code: void SetHardstopVelocityCompensation ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) Val )


code: void SetLocation ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) Val )


code: void SetMaxLength ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) Val )


code: void SetMinLength ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) Val )


code: void SetNormal ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) Val )


code: void SetParticleProxy ( [FSingleParticlePhysicsProxy](API\Runtime\Chaos\PhysicsProxy\FSingleParticlePhysicsProxy) * Val )


code: void SetSpringPreload ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) Val )


code: void SetSpringDamping ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) Val )


code: void SetSpringStiffness ( [FReal](API\Runtime\ChaosCore\Chaos\FReal) Val )


code: void SetTarget ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) Val )


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


className: FSuspensionConstraint

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

SuspensionLocation

type: TChaosProperty<...


className: FSuspensionLocation

code: struct FSuspensionLocation


className: FSweepParameters

code: struct FSweepParameters


className: FSyncState

code: struct FSyncState

State

type: ESyncState


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


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

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


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

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


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


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


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


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


description: Returns the centroid (center of mass).


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


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


description: Returns the bottommost hemisphere center of the capsule.


description: Returns the topmost hemisphere center of capsule .


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


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


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: static constexpr [EImplicitObjectType](API\Runtime\Chaos\Chaos\EImplicitObjectType) StaticType()


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


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


code: FTaperedCapsule ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & X1, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & X2, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Radius1, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Radius2 )


className: FTaperedCapsule

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


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


description: Points_ to append to.Origin_ is the bottom-most point of the tapered capsule.Axis_ is the orientation of the tapered capsule.Radius1is the first radius of the tapered capsule.Radius2_ is the second radius of the tapered capsule.Heightis the height of the tapered capsule.NumPoints_ is the number of points to generate.SpiralSeed_ is the starting index for golden spiral generation. When using this method to continue a spiral started elsewhere, `SpiralSeed_ should equal the number of particles already created.

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


description: Points_ to append to.Radius1is the first radius of the tapered capsule.Radius2_ is the second radius of the tapered capsule.Heightis the height of the capsule.NumPoints_ is the number of points to generate.SpiralSeed_ is the starting index for golden spiral generation. When using this method to continue a spiral started elsewhere, `SpiralSeed_ should equal the number of particles already created.

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


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


className: FTaperedCapsuleSpecializeSamplingHelper


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


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

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


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

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


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


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


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


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


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


description: Returns the centroid (center of mass).


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


description: Returns the topmost point on the cylinder.

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


description: Returns the bottommost point on the cylinder.

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


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


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


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


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


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


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: static constexpr [EImplicitObjectType](API\Runtime\Chaos\Chaos\EImplicitObjectType) StaticType()


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


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


code: FTaperedCylinder ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & x1, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & x2, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Radius1, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Radius2 )


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


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

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


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

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


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


className: FTetrahedron

code: typedef [TTetrahedron](API\Runtime\Chaos\Chaos\TTetrahedron)< [FReal](API\Runtime\ChaosCore\Chaos\FReal) > FTetrahedron


code: void DumpMemoryUsage ( [FOutputDevice](API\Runtime\Core\Misc\FOutputDevice) * Ar ) const


code: static [FTrackedGeometryManager](API\Runtime\Chaos\Chaos\FTrackedGeometryManager) & Get()


className: FTrackedGeometryManager

code: class FTrackedGeometryManager


code: FTrailingData ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InLocation, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InVelocity, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InAngularVelocity, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InMass, [IPhysicsProxyBase](API\Runtime\Chaos\Chaos\Framework\IPhysicsProxyBase) * InProxy, [Chaos::TAABB](API\Runtime\Chaos\Chaos\TAABB)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & InBoundingBox )


className: FTaperedCylinder

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


className: FTrailingData

description: TrailingData passed from the physics solver to subsystems

code: struct FTrailingData

Mass

type: FReal

Proxy

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


code: FTrailingDataExt ( const [FTrailingData](API\Runtime\Chaos\Chaos\FTrailingData) & InTrailingData )


code: FTrailingDataExt ( [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InLocation, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InVelocity, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) InAngularVelocity, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InMass, [FGeometryParticleHandle](API\Runtime\Chaos\Chaos\FGeometryParticleHandle) * InParticle, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InBoundingboxVolume, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InBoundingboxExtentMin, [FReal](API\Runtime\ChaosCore\Chaos\FReal) InBoundingboxExtentMax, int32 InSurfaceType )


className: FTrailingDataExt

description: TrailingData used in subsystems

code: struct FTrailingDataExt


className: FTransformPair

code: typedef [TVector](API\Runtime\Chaos\Chaos\TVector)< FTransform, 2 > FTransformPair


className: FTransientGeometryParticleHandle

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


className: FTransientPBDRigidParticleHandle

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


className: FTriangle

code: typedef [TTriangle](API\Runtime\Chaos\Chaos\TTriangle)< [FReal](API\Runtime\ChaosCore\Chaos\FReal) > FTriangle


code: template<typename T> void BuildBVH ( const TConstArrayView< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T >> & Points, [TBVHType](API\Runtime\Chaos\Chaos\FTriangleMesh\TBVHType)< T > & BVH ) const


description: Hierarchy will only go down to lods as small as MinSpatialLodSize.

code: template<typename T> void BuildSpatialHash ( const TConstArrayView< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T >> & Points, [TSpatialHashType](API\Runtime\Chaos\Chaos\FTriangleMesh\TSpatialHashType)< T > & SpatialHash, const T MinSpatialLodSize ) const


code: template<typename T> bool EdgeIntersectionQuery ( const [TBVHType](API\Runtime\Chaos\Chaos\FTriangleMesh\TBVHType)< T > & BVH, const TConstArrayView< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T >> & Points, const int32 EdgeIndex, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & EdgePosition1, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & EdgePosition2, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool(const int32 EdgeIndex, const int32TriangleIndex)> BroadphaseTest, [TArray](API\Runtime\Core\Containers\TArray)< [TTriangleCollisionPoint](API\Runtime\Chaos\Chaos\TTriangleCollisionPoint)< T >> & Result ) const


code: template<typename T> bool EdgeIntersectionQuery ( const [TSpatialHashType](API\Runtime\Chaos\Chaos\FTriangleMesh\TSpatialHashType)< T > & SpatialHash, const TConstArrayView< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T >> & Points, const int32 EdgeIndex, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & EdgePosition1, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & EdgePosition2, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool(const int32 EdgeIndex, const int32TriangleIndex)> BroadphaseTest, [TArray](API\Runtime\Core\Containers\TArray)< [TTriangleCollisionPoint](API\Runtime\Chaos\Chaos\TTriangleCollisionPoint)< T >> & Result ) const


description: Since the vertex range is built from connectivity, it won't include any free vertices that either precede the first vertex, or follow the last.

code: void ExpandVertexRange ( const int32 StartIdx, const int32 EndIdx )


description: Find vertices that are coincident within the subset

code: [TMap](API\Runtime\Core\Containers\TMap)< int32, int32 > FindCoincidentVertexRemappings ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & TestIndices, const TConstArrayView< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & Points )


description: Get the set of point indices that live on the boundary (an edge with only 1 coincident face).

code: [TSet](API\Runtime\Core\Containers\TSet)< int32 > GetBoundaryPoints()


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


code: static [FTriangleMesh](API\Runtime\Chaos\Chaos\FTriangleMesh) GetConvexHullFromParticles ( const TConstArrayView< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & points )


description: Deprecated. UseTArrayViewversion.

code: static [FTriangleMesh](API\Runtime\Chaos\Chaos\FTriangleMesh) GetConvexHullFromParticles ( const [FParticles](API\Runtime\Chaos\Chaos\FParticles) & InParticles )


description: Curvature between adjacent faces, specified on edges in radians.

code: [TArray](API\Runtime\Core\Containers\TArray)< [FReal](API\Runtime\ChaosCore\Chaos\FReal) > GetCurvatureOnEdges ( const [TArray](API\Runtime\Core\Containers\TArray)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & faceNormals )


description: Helper that generates face normals on the fly.

code: [TArray](API\Runtime\Core\Containers\TArray)< [FReal](API\Runtime\ChaosCore\Chaos\FReal) > GetCurvatureOnEdges ( const TConstArrayView< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & points )


description: The maximum curvature at points from connected edges, specified in radians.

code: [TArray](API\Runtime\Core\Containers\TArray)< [FReal](API\Runtime\ChaosCore\Chaos\FReal) > GetCurvatureOnPoints ( const [TArray](API\Runtime\Core\Containers\TArray)< [FReal](API\Runtime\ChaosCore\Chaos\FReal) > & edgeCurvatures )


description: Helper that generates edge curvatures on the fly.

code: [TArray](API\Runtime\Core\Containers\TArray)< [FReal](API\Runtime\ChaosCore\Chaos\FReal) > GetCurvatureOnPoints ( const TConstArrayView< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & points )


description: Note that this data is lazily calculated with the SegmentMesh (this method is not threadsafe unless it is known that the SegmentMesh is already up to date)  A map from all edge indices, to the indices of their containing faces.

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


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


code: [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< int32 > > GetElements()


description: The GetFaceNormals functions assume Counter Clockwise triangle windings in a Left Handed coordinate system If this is not the case the returned face normals may be inverted

code: [TArray](API\Runtime\Core\Containers\TArray)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > GetFaceNormals ( const [FParticles](API\Runtime\Chaos\Chaos\FParticles) & InParticles, const bool ReturnEmptyOnError ) const


code: template<typename T> void GetFaceNormals ( [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T >> & Normals, const TConstArrayView< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T >> & Points, const bool ReturnEmptyOnError ) const


code: template<typename T> [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > > GetFaceNormals ( const TConstArrayView< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T >> & Points, const bool ReturnEmptyOnError ) const


code: const [TSet](API\Runtime\Core\Containers\TSet)< int32 > & GetNeighbors ( const int32 Element ) const


description: Note that this data is lazily calculated with the SegmentMesh (this method is not threadsafe unless it is known that the SegmentMesh is already up to date)  A map from all face indices, to the indices of their associated edges.

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


code: [TSet](API\Runtime\Core\Containers\TSet)< int32 > GetNRing ( const int32 Element, const int32 N ) const


code: [TArray](API\Runtime\Core\Containers\TArray)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > GetPointNormals ( const TConstArrayView< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & points, const bool ReturnEmptyOnError, const bool bUseGlobalArray )


code: [TArray](API\Runtime\Core\Containers\TArray)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > GetPointNormals ( const [FParticles](API\Runtime\Chaos\Chaos\FParticles) & InParticles, const bool ReturnEmptyOnError )


code: void GetPointNormals ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > PointNormals, const TConstArrayView< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & FaceNormals, const bool bUseGlobalArray )


description: Get per-point normals. This const version of this function requires `GetPointToTriangleMap()_ to be called prior to invoking this function.

code: template<typename T> void GetPointNormals ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T >> PointNormals, const TConstArrayView< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T >> & FaceNormals, const bool bUseGlobalArray ) const


code: template<> void GetPointNormals ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) >> PointNormals, const TConstArrayView< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) >> & FaceNormals, const bool bUseGlobalArray ) const


code: const [TMap](API\Runtime\Core\Containers\TMap)< int32, [TSet](API\Runtime\Core\Containers\TSet)< int32 > > & GetPointToNeighborsMap() const


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


description: Note that the SegmentMesh is lazily calculated (this method is not threadsafe unless it is known that the SegmentMesh is already up to date)  The connectivity of this mesh represented as a collection of unique segments.

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


description: Deprecated* Non-const access to GetSegmentMesh will be removed. Use const version instead.


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


code: [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< int32 > > GetSurfaceElements()


description: Return the array of bending element indices {i0, i1, i2, i3}, with {i0, i1} the segment indices and {i2, i3} the cross segment indices.

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


description: Return the array of all cross segment indices for all pairs of adjacent triangles.

code: [TArray](API\Runtime\Core\Containers\TArray)< [Chaos::TVec2](API\Runtime\ChaosCore\Chaos\TVec2)< int32 > > GetUniqueAdjacentPoints() const


description: An array of vertex indices ordered from most important to least.

code: [TArray](API\Runtime\Core\Containers\TArray)< int32 > GetVertexImportanceOrdering ( const TConstArrayView< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & Points, const [TArray](API\Runtime\Core\Containers\TArray)< [FReal](API\Runtime\ChaosCore\Chaos\FReal) > & PointCurvatures, [TArray](API\Runtime\Core\Containers\TArray)< int32 > * CoincidentVertices, const bool RestrictToLocalIndexRange )


description: Helper that generates point curvatures on the fly.

code: [TArray](API\Runtime\Core\Containers\TArray)< int32 > GetVertexImportanceOrdering ( const TConstArrayView< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & Points, [TArray](API\Runtime\Core\Containers\TArray)< int32 > * CoincidentVertices, const bool RestrictToLocalIndexRange )


description: If this mesh is empty, the second index of the range will be negative.

code: [TVec2](API\Runtime\ChaosCore\Chaos\TVec2)< int32 > GetVertexRange() const


description: Returns the unique set of vertices used by this triangle mesh.

code: void GetVertexSet ( [TSet](API\Runtime\Core\Containers\TSet)< int32 > & VertexSet ) const


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


description: Returns the set of vertices used by triangles.

code: [TSet](API\Runtime\Core\Containers\TSet)< int32 > GetVertices() const


description: CullDegenerateElements_ removes faces with degenerate indices, and will change the order ofMElements_.

code: void Init ( [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< int32 >> && Elements, const int32 StartIdx, const int32 EndIdx, const bool CullDegenerateElements )


code: void Init ( const [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< int32 >> & Elements, const int32 StartIdx, const int32 EndIdx, const bool CullDegenerateElements )


code: template<typename T> static void InitEquilateralTriangleXY ( [FTriangleMesh](API\Runtime\Chaos\Chaos\FTriangleMesh) & TriMesh, [TParticles](API\Runtime\Chaos\Chaos\TParticles)< T, 3 > & Particles )


code: template<typename T> static void InitEquilateralTriangleYZ ( [FTriangleMesh](API\Runtime\Chaos\Chaos\FTriangleMesh) & TriMesh, [TParticles](API\Runtime\Chaos\Chaos\TParticles)< T, 3 > & Particles )


description: NOTE: This method assumes the BVH has already been built/fitted to Points.

code: template<typename T> bool PointProximityQuery ( const [TBVHType](API\Runtime\Chaos\Chaos\FTriangleMesh\TBVHType)< T > & BVH, const TConstArrayView< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T >> & Points, const int32 PointIndex, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & PointPosition, const T PointThickness, const T ThisThickness, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool(const int32 PointIndex, const int32TriangleIndex)> BroadphaseTest, [TArray](API\Runtime\Core\Containers\TArray)< [TTriangleCollisionPoint](API\Runtime\Chaos\Chaos\TTriangleCollisionPoint)< T >> & Result ) const


code: template<typename T> bool PointProximityQuery ( const [TSpatialHashType](API\Runtime\Chaos\Chaos\FTriangleMesh\TSpatialHashType)< T > & SpatialHash, const TConstArrayView< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T >> & Points, const int32 PointIndex, const [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< T > & PointPosition, const T PointThickness, const T ThisThickness, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool(const int32 PointIndex, const int32TriangleIndex)> BroadphaseTest, [TArray](API\Runtime\Core\Containers\TArray)< [TTriangleCollisionPoint](API\Runtime\Chaos\Chaos\TTriangleCollisionPoint)< T >> & Result ) const


description: Reorder vertices according to.

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


description: Reorder vertices according to.

code: void RemapVertices ( const [TMap](API\Runtime\Core\Containers\TMap)< int32, int32 > & Remapping )


description: Returnsfalse_ ifPoint_ is outside of the smooth normal cone, where a smooth projection doesn't exist.

code: template<typename T> bool SmoothProject ( const [TBVHType](API\Runtime\Chaos\Chaos\FTriangleMesh\TBVHType)< T > & BVH, const TConstArrayView< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & Points, const [TArray](API\Runtime\Core\Containers\TArray)< [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) > & PointNormals, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Point, int32 & TriangleIndex, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Weights, const int32 MaxIters ) const


className: TBVHType

description: BVH-based collision queries.

code: typedef [TAABBTree](API\Runtime\Chaos\Chaos\TAABBTree)< int32, [TAABBTreeLeafArray](API\Runtime\Chaos\Chaos\TAABBTreeLeafArray)< int32, false, T >, true, T > TBVHType


className: TSpatialHashType

code: typedef [THierarchicalSpatialHash](API\Runtime\Chaos\Chaos\THierarchicalSpatialHash)< int32, T > TSpatialHashType


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


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


code: FTriangleMesh ( [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< int32 >> && Elements, const int32 StartIdx, const int32 EndIdx, const bool CullDegenerateElements )


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


className: BVHType

code: typedef [TAABBTree](API\Runtime\Chaos\Chaos\TAABBTree)< int32, [TAABBTreeLeafArray](API\Runtime\Chaos\Chaos\TAABBTreeLeafArray)< int32, false, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) >, false, [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > BVHType


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


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

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


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

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


code: template<typename IdxType> int32 FindMostOpposingFace &40; const TArray< TVec3< IdxType >> & Elements, const FVec3 & Position, const FVec3 & UnitDir, int32 HintFaceIndex, FReal SearchDist, const FVec3 & Scale &41; const


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


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


description: Get a list of triangle indices that overlap the query bounds.

code: void FindOverlappingTriangles ( const [FAABB3](API\Runtime\Chaos\Chaos\FAABB3) & QueryBounds, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & OutTriangleIndices ) const


description: Does Trimesh cull backfaces in raycast.

code: bool GetCullsBackFaceRaycast() const


description: Returns -1 if InternalFaceIndex is not in map, or map is invalid.

code: int32 GetExternalFaceIndexFromInternal ( int32 InternalFaceIndex ) const


code: [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) GetFaceNormal ( const int32 FaceIdx ) const


code: virtual uint16 GetMaterialIndex ( uint32 HintIndex ) const


description: Does not correct winding for negative scales

code: void GetTransformedTriangle ( const int32 TriangleIndex, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & Transform, [FTriangle](API\Runtime\Chaos\Chaos\FTriangle) & OutTriangle, int32 & OutVertexIndex0, int32 & OutVertexIndex1, int32 & OutVertexIndex2 ) const


code: bool GJKContactPoint ( 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, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Location, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Normal, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & Penetration, int32 & FaceIndex ) const


code: bool GJKContactPoint ( 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, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Location, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Normal, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & Penetration, int32 & FaceIndex ) const


code: bool GJKContactPoint ( const FCapsule & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & QueryTM, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Location, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Normal, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & Penetration, int32 & FaceIndex ) const


code: bool GJKContactPoint ( const [FConvex](API\Runtime\Chaos\Chaos\FConvex) & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & QueryTM, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Location, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Normal, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & Penetration, int32 & FaceIndex ) const


code: bool GJKContactPoint ( 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, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Location, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Normal, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & Penetration, int32 & FaceIndex, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) TriMeshScale ) const


code: bool GJKContactPoint ( 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, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Location, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Normal, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & Penetration, int32 & FaceIndex, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) TriMeshScale ) const


code: bool GJKContactPoint ( const TImplicitObjectScaled< FCapsule > & QueryGeom, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & QueryTM, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Location, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Normal, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & Penetration, int32 & FaceIndex, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) TriMeshScale ) const


code: bool GJKContactPoint ( 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, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Location, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Normal, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & Penetration, int32 & FaceIndex, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) TriMeshScale ) const


description: This gives derived types a way to do an overlap check without calling PhiWithNormal todo: this api is confusing.

code: virtual bool Overlap ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Point, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness ) const


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, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) TriMeshScale ) 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, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) TriMeshScale ) 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, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) TriMeshScale ) 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, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) TriMeshScale ) const


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


className: ParticlesType

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


className: ParticleVecType

code: typedef [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > ParticleVecType


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


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

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


code: template<typename IdxType> bool RaycastImp ( const [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Chaos\Chaos\TVector)< IdxType, 3 >> & Elements, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & StartPoint, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Dir, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Length, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTime, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex ) const


code: template<typename IdxType> bool RaycastImp &40; const TArray< TVec3< IdxType >> & Elements, const FVec3 & StartPoint, const FVec3 & Dir, const FReal Length, const FReal Thickness, FReal & OutTime, FVec3 & OutPosition, FVec3 & OutNormal, int32 & OutFaceIndex &41; const


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


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


code: void SetCullsBackFaceRaycast ( const bool bInCullsBackFace )


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


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, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutFaceNormal, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const bool bComputeMTD, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) TriMeshScale ) const


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, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutFaceNormal, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const bool bComputeMTD, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) TriMeshScale ) 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, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutFaceNormal, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const bool bComputeMTD, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) TriMeshScale ) 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, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutFaceNormal, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const bool bComputeMTD, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) TriMeshScale ) 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, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutFaceNormal, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const bool bComputeMTD, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) TriMeshScale ) 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, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutFaceNormal, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const bool bComputeMTD, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) TriMeshScale ) 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, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutFaceNormal, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const bool bComputeMTD, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) TriMeshScale ) 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, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutFaceNormal, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const bool bComputeMTD, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) TriMeshScale ) const


description: Sweep used for CCD. Ignores triangles we penetrate by less than IgnorePenetration, and calculate the TOI for a depth of TargetPenetration. If both are zero, this is equivalent to SweepGeom.

code: bool SweepGeomCCD ( 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, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) IgnorePenetration, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) TargetPenetration, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTOI, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutPhi, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutFaceNormal, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & TriMeshScale ) const


code: bool SweepGeomCCD ( 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, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) IgnorePenetration, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) TargetPenetration, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTOI, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutPhi, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutFaceNormal, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & TriMeshScale ) const


code: bool SweepGeomCCD ( 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, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) IgnorePenetration, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) TargetPenetration, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTOI, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutPhi, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutFaceNormal, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & TriMeshScale ) const


code: bool SweepGeomCCD ( 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, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) IgnorePenetration, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) TargetPenetration, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTOI, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutPhi, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutFaceNormal, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & TriMeshScale ) const


code: bool SweepGeomCCD ( 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, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) IgnorePenetration, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) TargetPenetration, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTOI, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutPhi, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutFaceNormal, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & TriMeshScale ) const


code: bool SweepGeomCCD ( 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, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) IgnorePenetration, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) TargetPenetration, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTOI, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutPhi, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutFaceNormal, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & TriMeshScale ) const


code: bool SweepGeomCCD ( 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, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) IgnorePenetration, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) TargetPenetration, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTOI, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutPhi, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutFaceNormal, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & TriMeshScale ) const


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


code: void UpdateVertices ( const [TArray](API\Runtime\Core\Containers\TArray)< FVector > & Positions )


code: template<typename TriangleVisitor> void VisitTriangles ( const [FAABB3](API\Runtime\Chaos\Chaos\FAABB3) & QueryBounds, const [FRigidTransform3](API\Runtime\ChaosCore\Chaos\FRigidTransform3) & QueryTransform, const TriangleVisitor & Visitor ) const


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


code: bool SweepGeomCCD ( 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, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) IgnorePenetration, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) TargetPenetration, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutTOI, [FReal](API\Runtime\ChaosCore\Chaos\FReal) & OutPhi, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutPosition, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutNormal, int32 & OutFaceIndex, [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & OutFaceNormal, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & TriMeshScale ) const


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


code: template<typename IdxType> FTriangleMeshImplicitObject ( [ParticlesType](API\Runtime\Chaos\Chaos\FTriangleMeshImplicitObject\ParticlesType) && Particles, [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< IdxType >> && Elements, [TArray](API\Runtime\Core\Containers\TArray)< uint16 > && InMaterialIndices, [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [TArray](API\Runtime\Core\Containers\TArray)< int32 >> && InExternalFaceIndexMap, [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [TArray](API\Runtime\Core\Containers\TArray)< int32 >> && InExternalVertexIndexMap, const bool bInCullsBackFaceRaycast )


description: Initialising constructor privately declared for use in CopySlow to copy the underlying BVH.

code: template<typename IdxType> FTriangleMeshImplicitObject &40; ParticlesType && Particles, TArray< TVec3< IdxType >> && Elements, TArray< uint16 > && InMaterialIndices, const BVHType & InBvhToCopy, TUniquePtr< TArray< int32 >> && InExternalFaceIndexMap, TUniquePtr< TArray< int32 >> && InExternalVertexIndexMap, const bool bInCullsBackFaceRaycast &41;


code: virtual ~FTriangleMeshImplicitObject()


className: FTriangleMeshImplicitObject

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


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


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


code: FTriangleRegister ( const [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) & InA, const [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) & InB, const [VectorRegister4Float](API\Runtime\Core\Math\VectorRegister4Float) & InC )


className: FTriangleRegister

code: class FTriangleRegister


className: EFilterResult

code: enum EFilterResult { Skip = 0, Keep, }


className: EVisitorResult

code: enum EVisitorResult { Stop = 0, Continue, }


className: FAABBType

code: typedef [TAABB](API\Runtime\Chaos\Chaos\TAABB)< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle), 3 > FAABBType


code: const FAABBVectorized & GetBounds&40;&41; const


code: int32 GetChildOrFaceIndex&40;&41; const


code: void Serialize &40; FArchive & Ar &41;


code: void SetBounds &40; const FAABB3 & AABB &41;


code: void SetBounds &40; const TAABB< FRealSingle, 3 > & AABB &41;


code: void SetChildOrFaceIndex &40; int32 InChildOrFaceIndex &41;


code: void SetFaceCount &40; int32 InFaceCount &41;


code: [TArray](API\Runtime\Core\Containers\TArray)< int32 > FindAllIntersections ( const [FAABB3](API\Runtime\Chaos\Chaos\FAABB3) & Intersection ) const


code: template<typename QueryGeomType> bool FindAllIntersectionsNoMTD ( const [Private::FOBBVectorized](API\Runtime\Chaos\Chaos\FOBBVectorized) & Intersection, const [TRigidTransform](API\Runtime\Chaos\Chaos\TRigidTransform)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & Transform, const QueryGeomType & QueryGeom, [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & TriMeshScale, const [FTriangleMeshImplicitObject](API\Runtime\Chaos\Chaos\FTriangleMeshImplicitObject) * TriMesh ) const


code: template<typename QueryGeomType> bool FindAllIntersectionsNoMTD ( const [FAABB3](API\Runtime\Chaos\Chaos\FAABB3) & Intersection, const [TRigidTransform](API\Runtime\Chaos\Chaos\TRigidTransform)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & Transform, const QueryGeomType & QueryGeom, [FReal](API\Runtime\ChaosCore\Chaos\FReal) Thickness, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & TriMeshScale, const [FTriangleMeshImplicitObject](API\Runtime\Chaos\Chaos\FTriangleMeshImplicitObject) * TriMesh ) const


code: template<typename SQVisitor> void Overlap ( const [FAABBVectorized](API\Runtime\Chaos\Chaos\FAABBVectorized) & AABB, SQVisitor & Visitor ) const


code: template<typename SQVisitor> void OverlapOBB ( const [Private::FOBBVectorized](API\Runtime\Chaos\Chaos\FOBBVectorized) & Obb, SQVisitor & Visitor ) const


code: template<typename SQVisitor> void Raycast ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Start, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Dir, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Length, SQVisitor & Visitor ) const


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


code: template<typename SQVisitor> void Sweep ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Start, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & Dir, const [FReal](API\Runtime\ChaosCore\Chaos\FReal) Length, const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & QueryHalfExtents, SQVisitor & Visitor ) const


code: template<typename BoundsFilterType, typename FaceVisitorType> [EVisitorResult](API\Runtime\Chaos\Chaos\FTrimeshBVH\EVisitorResult) VisitFaces ( int32 StartIndex, int32 IndexCount, BoundsFilterType & BoundsFilter, FaceVisitorType & FaceVisitor ) const


code: template<typename BoundsFilterType, typename FaceVisitorType> void VisitTree ( BoundsFilterType & BoundsFilter, FaceVisitorType & FaceVisitor ) const


className: FTrimeshBVH

code: struct FTrimeshBVH

FaceBounds

type: TArray<FAABBVe...

Nodes

type: TArray<FNode>


code: template<typename ExpectedType> const [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< ExpectedType > > & GetIndexBuffer() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [LargeIdxType](API\Runtime\Chaos\Chaos\FTrimeshIndexBuffer\LargeIdxType) > > & GetLargeIndexBuffer() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [SmallIdxType](API\Runtime\Chaos\Chaos\FTrimeshIndexBuffer\SmallIdxType) > > & GetSmallIndexBuffer() const


className: LargeIdxType

code: typedef int32 LargeIdxType


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


code: void Reinitialize ( [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [LargeIdxType](API\Runtime\Chaos\Chaos\FTrimeshIndexBuffer\LargeIdxType) >> && Elements )


code: void Reinitialize ( [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [SmallIdxType](API\Runtime\Chaos\Chaos\FTrimeshIndexBuffer\SmallIdxType) >> && Elements )


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


className: SmallIdxType

code: typedef uint16 SmallIdxType


code: FTrimeshIndexBuffer ( [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [LargeIdxType](API\Runtime\Chaos\Chaos\FTrimeshIndexBuffer\LargeIdxType) >> && Elements )


code: FTrimeshIndexBuffer ( [TArray](API\Runtime\Core\Containers\TArray)< [TVec3](API\Runtime\ChaosCore\Chaos\TVec3)< [SmallIdxType](API\Runtime\Chaos\Chaos\FTrimeshIndexBuffer\SmallIdxType) >> && Elements )


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


className: FTrimeshIndexBuffer

code: class FTrimeshIndexBuffer


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


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


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


className: DefaultDragCoefficient

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


className: DefaultFluidDensity

code: static constexpr [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) DefaultFluidDensity = (FSolverReal)1.225;


className: DefaultLiftCoefficient

code: static constexpr [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) DefaultLiftCoefficient = (FSolverReal)0.1;


className: DragName

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


className: FluidDensityName

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


code: const TConstArrayView< [TVector](API\Runtime\Chaos\Chaos\TVector)< int32, 3 > > & GetElements() const


code: TConstArrayView< [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) > GetForces() const


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


className: LiftName

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


className: MaxCoefficient

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


className: MinCoefficient

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


className: PressureName

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


code: void SetGeometry &40; const FTriangleMesh &42; TriangleMesh &41;


code: void SetGeometry ( const [FTriangleMesh](API\Runtime\Chaos\Chaos\FTriangleMesh) * TriangleMesh, 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, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) WorldScale )


code: void SetGeometry ( const [FTriangleMesh](API\Runtime\Chaos\Chaos\FTriangleMesh) * TriangleMesh, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & DragMultipliers, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & LiftMultipliers, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & PressureMultipliers )


description: Deprecated* UseSetProperties(const FCollectionPropertyConstFacade&, const TMap>&, FSolverReal, bool)instead.

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


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, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) WorldScale, bool bEnableAerodynamics )


code: void SetProperties ( const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & Drag, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & Lift, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) FluidDensity, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & Pressure, [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) WorldScale )


code: void SetVelocity ( const [FSolverVec3](API\Runtime\Chaos\Chaos\FSolverVec3) & InVelocity )


description: Construct an uninitialized field. Mesh, properties, and velocity will have to be set for this field to be valid.

code: FVelocityAndPressureField()


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


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


className: FVelocityAndPressureField

description: Velocity field used solely for aerodynamics effects, use Chaos Fields for other types of fields.

code: class FVelocityAndPressureField


code: [TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * GetHandle() const


description: Assumes the weak particle handle has been initialized so SharedData must exist.

code: [TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * GetHandleUnsafe() const


code: FWeakParticleHandle ( [TGeometryParticleHandle](API\Runtime\Chaos\Chaos\TGeometryParticleHandle)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > * InHandle )


className: FWeakParticleHandle

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

code: class FWeakParticleHandle


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: static constexpr [EImplicitObjectType](API\Runtime\Chaos\Chaos\EImplicitObjectType) StaticType()


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


className: FWeightedLatticeBoneProxy

description: Not actually a collision object. CollisionParticles that are used to update bones used by theFWeightedLatticeImplicitObjecthave this as their geometry.

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


code: void DeformPoints ( const [TArray](API\Runtime\Core\Containers\TArray)< FTransform > & RelativeTransforms )


code: FMatrix DeformationTransform &40; const TArrayND< FVec3, 3 > & DeformedPoints, const TUniformGrid< FReal, 3 > & Grid &41; const


code: FVec3 DeformedPosition &40; const TArrayND< FVec3, 3 > & InDeformedPoints &41; const


code: int32 GreatestInfluenceBone &40; const TArrayND< FWeightedLatticeInfluenceData, 3 > & InBoneData &41; const


code: FEmbeddingCoordinate & operator&61; &40; const FEmbeddingCoordinate & Other &41;


code: const TVec4< TVec3< int32 > > & TetrahedronOffsets&40;&41; const


description: Inline definitions

code: FVec3 UndeformedPosition &40; const TUniformGrid< FReal, 3 > & InGrid &41; const


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


code: FEmbeddingCoordinate &40; const TVec3< int32 > & InCellIndex, const FVec3 & TrilinearCoordinate &41;


code: FEmbeddingCoordinate &40; const TVec3< int32 > & InCellIndex, int32 InLocalTetrahedron, const FVec3 & InBarycentric &41;


className: FEmbeddingCoordinate

code: struct FEmbeddingCoordinate

CellIndex

type: TVec3< int32 >


code: const [TArrayND](API\Runtime\Chaos\Chaos\TArrayND)< [FWeightedLatticeInfluenceData](API\Runtime\Chaos\Chaos\FWeightedLatticeInfluenceData), 3 > & GetBoneData() const


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


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


code: bool GetEmbeddingCoordinates ( const [FVec3](API\Runtime\ChaosCore\Chaos\FVec3) & DeformedPoint, [TArray](API\Runtime\Core\Containers\TArray)< [FEmbeddingCoordinate](API\Runtime\Chaos\Chaos\FWeightedLatticeImplicitObject\FEmbeddingCoordinate) > & CoordinatesOut, bool bFindClosest ) const


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


code: const [TArrayND](API\Runtime\Chaos\Chaos\TArrayND)< bool, 3 > & GetEmptyCells() const


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


code: uint32 GetTypeHashHelper ( const uint32 InHash ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & GetUsedBones() const


className: ObjectType

code: typedef [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FImplicitObject](API\Runtime\Chaos\Chaos\FImplicitObject) > ObjectType


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


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


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


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


code: FWeightedLatticeImplicitObject ( int32 Flags, [EImplicitObjectType](API\Runtime\Chaos\Chaos\EImplicitObjectType) InType )


code: FWeightedLatticeImplicitObject ( int32 Flags, [EImplicitObjectType](API\Runtime\Chaos\Chaos\EImplicitObjectType) InType, [TUniformGrid](API\Runtime\Chaos\Chaos\TUniformGrid)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > && InGrid, [TArrayND](API\Runtime\Chaos\Chaos\TArrayND)< [FWeightedLatticeInfluenceData](API\Runtime\Chaos\Chaos\FWeightedLatticeInfluenceData), 3 > && InBoneData, [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > && InUsedBones, [TArray](API\Runtime\Core\Containers\TArray)< FTransform > && InReferenceRelativeTransforms )


className: FWeightedLatticeImplicitObject

description: Embed the contained shape in a deformable lattice.

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

BoneData

type: TArrayND<FWeig...

EmptyCells

type: TArrayND< bool,...

description: Non-serialized cached (const) data derived from serialized data.

Grid

type: TUniformGrid<F...

description: Serialized data. Only non-const because of serialization.

LocalBoundingBox

type: TAABB<FReal, 3...

description: Non-serialized deforming data.

ReferenceRelativeTransforms

type: TArray< FTransf...

ReferenceRootTransform

type: FTransform

SolverBoneIndices

type: TArray< int32 >

description: Context-specific data (e.g., data a specific solver will need to do DeformPoints)

Spatial

type: THierarchicalSp...

UsedBones

type: TArray<FName>


code: void AddInfluence ( int32 FlatIndex, uint16 BoneIndex, float Weight, bool bIsOuterWeight )


className: EBuildStep

code: enum EBuildStep { None = 0, GridValid, InfluencesFinalized, Finished = None, }


code: template<typename TConcrete> [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [TWeightedLatticeImplicitObject](API\Runtime\Engine\PhysicsEngine\TWeightedLatticeImplicitObject)< TConcrete > > Generate ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< TConcrete > && Object )


description: BoneIndexToBoneName(int32 BoneIndex)->FNamereturnFNameof Bone for given BoneIndex (BoneIndex used by AddInfluence) BoneIndexToReferenceTransform(int32 BoneIndex)->FTransform return transform of Bone (BoneIndex used by AddInfluence). Should return transform for RootBone (parent of this object) when BoneIndex == INDEX_NONE

code: template<typename FBoneIndexToBoneName, typename FBoneIndexToReferenceTransform> void FinalizeInfluences ( const FBoneIndexToBoneName & BoneIndexToBoneName, const FBoneIndexToReferenceTransform & BoneIndexToReferenceTransform )


code: void GenerateGrid ( const int32 GridResolution, const [TAABB](API\Runtime\Chaos\Chaos\TAABB)< [FReal](API\Runtime\ChaosCore\Chaos\FReal), 3 > & ObjectBBox )


code: const [TArrayND](API\Runtime\Chaos\Chaos\TArrayND)< [FWeightedLatticeInfluenceData](API\Runtime\Chaos\Chaos\FWeightedLatticeInfluenceData), 3 > & GetBoneData() const


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


className: FWeightedLatticeImplicitObjectBuilder


className: MaxTotalInfluences

code: static const uint8 MaxTotalInfluences = 12;


className: FWeightedLatticeInfluenceData

code: struct FWeightedLatticeInfluenceData

BoneWeights

type: float[MaxTotalI...


code: void AddConnectivityEdgesBetween ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) > FromObjects, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) > ToObjects, const [FClusterCreationParameters](API\Runtime\Chaos\Chaos\FClusterCreationParameters) & Parameters )


code: void AddForce ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) > InObjects, const FVector & Force, bool bInvalidate )


code: void AddRadialImpulse ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) > InObjects, FVector Origin, float Radius, float Strength, enum ERadialImpulseFalloff Falloff, bool bApplyStrain, bool bInvalidate )


code: void AddTorque ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) > InObjects, const FVector & Torque, bool bInvalidate )


code: template<typename TPayloadType, typename T, int d> void AddToSpatialAcceleration ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) > InObjects, [ISpatialAcceleration](API\Runtime\Engine\Physics\Experimental\ISpatialAcceleration)< TPayloadType, T, d > * SpatialAcceleration )


code: void PutToSleep ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) > InObjects )


code: template<typename TPayloadType, typename T, int d> void RemoveFromSpatialAcceleration ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) > InObjects, [ISpatialAcceleration](API\Runtime\Engine\Physics\Experimental\ISpatialAcceleration)< TPayloadType, T, d > * SpatialAcceleration )


code: void UpdateShapeCollisionFlags ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) > InObjects, bool bSimCollision, bool bQueryCollision )


code: void UpdateShapeFilterData ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) > InObjects, const [FCollisionFilterData](API\Runtime\Chaos\Chaos\FCollisionFilterData) & QueryData, const [FCollisionFilterData](API\Runtime\Chaos\Chaos\FCollisionFilterData) & SimData )


code: void WakeUp ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FPhysicsObjectHandle](API\Runtime\Chaos\Chaos\FPhysicsObjectHandle) > InObjects )


className: FWritePhysicsObjectInterface

description: FReadPhysicsObjectInterfacewill assume that these operations are safe to call (i.e. the relevant scenes have been read locked on the physics thread).

code: template<[EThreadContext](API\Runtime\Chaos\Framework\Chaos__EThreadContext) Id> class FWritePhysicsObjectInterface : public [Chaos::FReadPhysicsObjectInterface< Id >](API\Runtime\Chaos\Chaos\FReadPhysicsObjectInterface)


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


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

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


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


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


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


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


className: MaxDamping

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


className: MaxStiffness

code: static constexpr [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MaxStiffness = (FSolverReal)1e7;


className: MinDamping

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


className: MinStiffness

description: Stiffness is in kg cm^2 / rad^2 s^2.

code: static constexpr [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) MinStiffness = (FSolverReal)1e-4;


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 )


className: XPBDAnisoBendingStiffnessWarpName

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


className: XPBDAnisoBendingStiffnessWeftName

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


className: XPBDAnisoBendingStiffnessBiasName

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


className: XPBDAnisoBendingDampingName

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


className: XPBDAnisoBucklingRatioName

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


className: XPBDAnisoBucklingStiffnessWarpName

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


className: XPBDAnisoBucklingStiffnessWeftName

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


className: XPBDAnisoBucklingStiffnessBiasName

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


className: XPBDAnisoFlatnessRatioName

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


className: XPBDAnisoRestAngleName

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


className: XPBDAnisoRestAngleTypeName

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


code: FXPBDAnisotropicBendingConstraints ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, int32 InParticleOffset, int32 InParticleCount, const [FTriangleMesh](API\Runtime\Chaos\Chaos\FTriangleMesh) & TriangleMesh, const [TArray](API\Runtime\Core\Containers\TArray)< TVec3< [FVec2f](API\Runtime\ChaosCore\Chaos\FVec2f) >> & FaceVertexPatternPositions, 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: FXPBDAnisotropicBendingConstraints ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & InParticles, int32 InParticleOffset, int32 InParticleCount, const [FTriangleMesh](API\Runtime\Chaos\Chaos\FTriangleMesh) & TriangleMesh, const [TArray](API\Runtime\Core\Containers\TArray)< TVec3< [FVec2f](API\Runtime\ChaosCore\Chaos\FVec2f) >> & FaceVertexPatternPositions, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & StiffnessWarpMultipliers, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & StiffnessWeftMultipliers, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & StiffnessBiasMultipliers, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & BucklingStiffnessWarpMultipliers, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & BucklingStiffnessWeftMultipliers, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & BucklingStiffnessBiasMultipliers, const TConstArrayView< [FRealSingle](API\Runtime\ChaosCore\Chaos\FRealSingle) > & DampingMultipliers, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InStiffnessWarp, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InStiffnessWeft, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InStiffnessBias, const [FSolverReal](API\Runtime\Chaos\Chaos\FSolverReal) InBucklingRatio, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InBucklingStiffnessWarp, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InBucklingStiffnessWeft, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InBucklingStiffnessBias, const [FSolverVec2](API\Runtime\Chaos\Chaos\FSolverVec2) & InDampingRatio, bool bTrimKinematicConstraints )


className: FXPBDAnisotropicBendingConstraints

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


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


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


code: FXPBDAreaSpringConstraints ( const [FSolverParticles](API\Runtime\Chaos\Chaos\FSolverParticles) & Particles, int32 ParticleOffset, int32 ParticleCount, 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 )


className: XPBDAreaSpringStiffnessName

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