|
| void | CleanTrimesh (TArray< FVector3f > &InOutVertices, TArray< int32 > &InOutIndices, TArray< int32 > *OutOptFaceRemap, TArray< int32 > *OutOptVertexRemap) |
| |
| template<typename T , int d> |
| void | DrawNodeRecursive (ISpacialDebugDrawInterface< T > *InInterface, const TBVHNode< T, d > &InNode, const TArray< TBVHNode< T, d > > &InAllNodes) |
| |
| template<class OBJECT_ARRAY , class T , int d, typename TPayloadType > |
| TArray< int32 > | MakeNewLeaf (const OBJECT_ARRAY &Objects, const TArray< int32 > &AllObjects, const TArray< int32 > *) |
| |
| template<class OBJECT_ARRAY , class T , int d, typename TPayloadType > |
| TBoundingVolume< TPayloadType, T, d > | MakeNewLeaf (const OBJECT_ARRAY &Objects, const TArray< int32 > &AllObjects, const TBoundingVolume< TPayloadType, T, d > *) |
| |
| template<class OBJECT_ARRAY , typename TPayloadType , class T , int d> |
| TArray< int32 > | FindAllIntersectionsLeafHelper (const TArray< int32 > &Leaf, const TVector< T, d > &Point) |
| |
| template<class OBJECT_ARRAY , typename TPayloadType , class T , int d> |
| TArray< int32 > | FindAllIntersectionsLeafHelper (const TBoundingVolume< TPayloadType, T, d > &Leaf, const TVector< T, d > &Point) |
| |
| template<typename T , int d> |
| bool | IntersectsHelper (const TAABB< T, d > &WorldSpaceBox, const TAABB< T, d > &LocalBox) |
| |
| template<typename T , int d> |
| bool | IntersectsHelper (const TAABB< T, d > &WorldSpaceBox, const TSpatialRay< T, d > &Ray) |
| |
| template<class OBJECT_ARRAY , typename TPayloadType , typename T , int d, typename QUERY_OBJECT > |
| TArray< int32 > | FindAllIntersectionsLeafHelper (const TArray< int32 > &Leaf, const QUERY_OBJECT &QueryObject) |
| |
| template<class OBJECT_ARRAY , typename TPayloadType , class T , int d, typename QUERY_OBJECT > |
| TArray< int32 > | FindAllIntersectionsLeafHelper (const TBoundingVolume< TPayloadType, T, d > &Leaf, const QUERY_OBJECT &QueryObject) |
| |
| template<typename T , int d> |
| void | AccumulateNextLevelCount (const TAABB< T, d > &Box, const TVector< T, d > &MidPoint, FSplitCount< d > &Counts) |
| |
| template<typename OBJECT_ARRAY , typename TPayloadType , typename T , int d> |
| void | FixupLeafObj (const OBJECT_ARRAY &Objects, TArray< TBoundingVolume< TPayloadType, T, d > > &Leafs) |
| |
| template<typename OBJECT_ARRAY > |
| void | FixupLeafObj (const OBJECT_ARRAY &Objects, TArray< TArray< int32 > > &Leafs) |
| |
| FConvexHalfEdgeStructureDataS16 | MakeBoxStructureData () |
| |
| bool | CCDConstraintSortPredicate (const FCCDConstraint *Constraint0, const FCCDConstraint *Constraint1) |
| |
| FString | ToString (const EObjectStateType ObjectState) |
| |
| FString | ToString (const FRotation3 &V) |
| |
| FString | ToString (const FRotation3f &V) |
| |
| FString | ToString (const FVec3 &V) |
| |
| FString | ToString (const FVec3f &V) |
| |
| FString | ToString (const TBitArray<> &BitArray) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::CreateNewClusterUnion"), STAT_CreateNewClusterUnion, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::DestroyClusterUnion"), STAT_DestroyClusterUnion, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::ForceRecreateClusterUnionSharedGeometry"), STAT_ForceRecreateClusterUnionSharedGeometry, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::ClaimNextUnionIndex"), STAT_ClaimNextUnionIndex, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::AddPendingExplicitIndexOperation"), STAT_AddPendingExplicitIndexOperation, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::AddPendingClusterIndexOperation"), STAT_AddPendingClusterIndexOperation, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::FlushPendingOperations"), STAT_FlushPendingOperations, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::HandleAddOperation"), STAT_HandleAddOperation, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::DeferredClusterUnionUpdate"), STAT_DeferredClusterUnionUpdate, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::HandleDeferredClusterUnionUpdateProperties"), STAT_HandleDeferredClusterUnionUpdateProperties, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::HandleRemoveOperation"), STAT_HandleRemoveOperation, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::HandleRemoveOperationWithClusterLookup"), STAT_HandleRemoveOperationWithClusterLookup, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::UpdateClusterUnionProperties"), STAT_UpdateClusterUnionProperties, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::GenerateInterclusterEdgesForParticle"), STAT_GenerateInterclusterEdgesForParticle, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::GenerateInterclusterEdgesBetweenParticles"), STAT_GenerateInterclusterEdgesBetweenParticles, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::FlushIncrementalConnectivityGraphOperations"), STAT_FlushIncrementalConnectivityGraphOperations, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::ForceRegenerateGeometry"), STAT_ForceRegenerateGeometry, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::FlushIncrementalGeometryOperations"), STAT_FlushIncrementalGeometryOperations, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::GetOrCreateClusterUnionIndexFromExplicitIndex"), STAT_GetOrCreateClusterUnionIndexFromExplicitIndex, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::FindClusterUnionIndexFromParticle"), STAT_FindClusterUnionIndexFromParticle, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::UpdateClusterUnionParticlesChildToParent"), STAT_UpdateClusterUnionParticlesChildToParent, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionManager::HandleUpdateChildToParentOperation"), STAT_HandleUpdateChildToParentOperation, STATGROUP_Chaos) |
| |
| template<typename T_CONVEX > |
| FContactPoint | CapsuleConvexContactPointImpl (const FImplicitCapsule3 &Capsule, const FRigidTransform3 &CapsuleTransform, const T_CONVEX &Convex, const FRigidTransform3 &ConvexTransform) |
| |
| FContactPoint | CapsuleConvexContactPoint (const FImplicitCapsule3 &Capsule, const FRigidTransform3 &CapsuleTransform, const FImplicitObject &Object, const FRigidTransform3 &ConvexTransform) |
| |
| void | AddCapsuleTriangleParallelEdgeManifoldContacts (const FVec3 &P0, const FVec3 &P1, const FVec3 &EdgeP0, const FVec3 &EdgeP1, const FReal R, const FReal RejectDistanceSq, const FReal NormalToleranceSq, FContactPointManifold &OutContactPoints) |
| |
| bool | InRangeClosed (const FReal V, const FReal RangeMin, const FReal RangeMax) |
| |
| bool | InRangeOpen (const FReal V, const FReal RangeMin, const FReal RangeMax) |
| |
| void | ConstructCapsuleTriangleOneShotManifold2 (const FImplicitCapsule3 &Capsule, const FTriangle &Triangle, const FReal CullDistance, FContactPointManifold &OutContactPoints) |
| |
| FReal | CalculateEdgePlaneTolarance (const FGeometryParticleHandle *Particle) |
| |
| FReal | CalculateEdgePointBarycentricTolarance (const FGeometryParticleHandle *Particle) |
| |
| bool | CollisionsHasTriangleEdgeContacts (const FPBDCollisionConstraint &Collision, const int32 MeshParticleIndex) |
| |
| FVec3 | CalculateTriangleNormal (const FVec3 Vertices[]) |
| |
| template<typename TFunctor > |
| void | MeshCastHelper (const FImplicitObject &Geom, const TFunctor &Func) |
| |
| void | GetTransformedMeshTriangle (const FImplicitObject *InImplicit, const int32 TriangleIndex, const FRigidTransform3 &InTransform, FVec3 OutVertices[], int32 OutVertexIndices[]) |
| |
| template<typename GeometryB > |
| FContactPoint | GJKImplicitSweptContactPoint (const FImplicitObject &A, const FRigidTransform3 &AStartTransform, const GeometryB &B, const FRigidTransform3 &BTransform, const FVec3 &Dir, const FReal Length, const FReal IgnorePenetration, const FReal TargetPenetration, FReal &OutTOI) |
| |
| void | ComputeSweptContactPhiAndTOIHelper (const FReal DirDotNormal, const FReal &Length, const FReal &HitTime, FReal &OutTOI, FReal &OutPhi) |
| |
| void | ComputeSweptContactPhiAndTOIHelper (const FVec3 &ContactNormal, const FVec3 &Dir, const FReal &Length, const FReal &HitTime, FReal &OutTOI, FReal &OutPhi) |
| |
| bool | ComputeSweptContactStartAndEndPhi (const FReal TOI, const FReal Phi, const FReal DirDotNormal, const FReal Length, FReal &StartPhi, FReal &EndPhi) |
| |
| FReal | ComputeSweptContactTimeToTargetPhi (const FReal StartPhi, const FReal EndPhi, const FReal IgnorePhi, const FReal TargetPhi) |
| |
| bool | ComputeSweptContactTOIAndPhiAtTargetPenetration (const FReal DirDotNormal, const FReal SweepLength, const FReal HitDistance, const FReal IgnorePenetration, const FReal TargetPenetration, FReal &OutTOI, FReal &OutPhi) |
| | Given a sweep result, calculate the sweep time at which the penetration depth will be TargetPenetration This is based on the initial and final contact separation from the sweep test but modified so that.
|
| |
| bool | ComputeSweptContactTOIAndPhiAtTargetPenetration (const FVec3 &ContactNormal, const FVec3 &Dir, const FReal SweepLength, const FReal HitDistance, const FReal IgnorePenetration, const FReal TargetPenetration, FReal &OutTOI, FReal &OutPhi) |
| |
| void | LegacyComputeSweptContactTOIAndPhiAtTargetPenetration (const FReal DirDotNormal, const FReal Length, const FReal IgnorePenetration, const FReal TargetPenetration, FReal &InOutTOI, FReal &InOutPhi) |
| |
| template<typename GeometryA , typename GeometryB > |
| FContactPoint | GJKImplicitContactPoint (const FImplicitObject &A, const FRigidTransform3 &ATransform, const GeometryB &B, const FRigidTransform3 &BTransform, const FReal CullDistance) |
| |
| template<typename GeometryA > |
| FContactPoint | GJKImplicitScaledTriMeshSweptContactPoint (const FImplicitObject &A, const FRigidTransform3 &AStartTransform, const TImplicitObjectScaled< FTriangleMeshImplicitObject > &B, const FRigidTransform3 &BTransform, const FVec3 &Dir, const FReal Length, const FReal IgnorePenetration, const FReal TargetPenetration, FReal &OutTOI) |
| |
| FContactPoint | SphereSphereContactPoint (const FSphere &Sphere1, const FRigidTransform3 &Sphere1Transform, const FSphere &Sphere2, const FRigidTransform3 &Sphere2Transform, const FRealSingle CullDistance) |
| |
| FContactPoint | SpherePlaneContactPoint (const FSphere &Sphere, const FRigidTransform3 &SphereTransform, const TPlane< FReal, 3 > &Plane, const FRigidTransform3 &PlaneTransform) |
| |
| FContactPoint | SphereBoxContactPoint (const FSphere &Sphere, const FRigidTransform3 &SphereTransform, const FImplicitBox3 &Box, const FRigidTransform3 &BoxTransform) |
| |
| FContactPoint | SphereCapsuleContactPoint (const FSphere &A, const FRigidTransform3 &ATransform, const FCapsule &B, const FRigidTransform3 &BTransform) |
| |
| template<typename TriMeshType > |
| FContactPoint | SphereTriangleMeshContactPoint (const FSphere &A, const FRigidTransform3 &ATransform, const TriMeshType &B, const FRigidTransform3 &BTransform, const FReal CullDistance) |
| |
| template<typename TriMeshType > |
| FContactPoint | SphereTriangleMeshSweptContactPoint (const FSphere &A, const FRigidTransform3 &ATransform, const TriMeshType &B, const FRigidTransform3 &BStartTransform, const FVec3 &Dir, const FReal Length, const FReal IgnorePenetration, const FReal TargetPenetration, FReal &TOI) |
| |
| FContactPoint | BoxHeightFieldContactPoint (const FImplicitBox3 &A, const FRigidTransform3 &ATransform, const FHeightField &B, const FRigidTransform3 &BTransform, const FReal CullDistance) |
| |
| template<typename TriMeshType > |
| FContactPoint | BoxTriangleMeshContactPoint (const FImplicitBox3 &A, const FRigidTransform3 &ATransform, const TriMeshType &B, const FRigidTransform3 &BTransform, const FReal CullDistance) |
| |
| FContactPoint | SphereHeightFieldContactPoint (const FSphere &A, const FRigidTransform3 &ATransform, const FHeightField &B, const FRigidTransform3 &BTransform, const FReal CullDistance) |
| |
| FContactPoint | CapsuleHeightFieldContactPoint (const FCapsule &A, const FRigidTransform3 &ATransform, const FHeightField &B, const FRigidTransform3 &BTransform, const FReal CullDistance) |
| |
| template<typename TriMeshType > |
| FContactPoint | CapsuleTriangleMeshContactPoint (const FCapsule &A, const FRigidTransform3 &ATransform, const TriMeshType &B, const FRigidTransform3 &BTransform, const FReal CullDistance) |
| |
| template<typename TriMeshType > |
| FContactPoint | CapsuleTriangleMeshSweptContactPoint (const FCapsule &A, const FRigidTransform3 &ATransform, const TriMeshType &B, const FRigidTransform3 &BStartTransform, const FVec3 &Dir, const FReal Length, const FReal IgnorePenetration, const FReal TargetPenetration, FReal &TOI) |
| |
| FContactPoint | ConvexHeightFieldContactPoint (const FImplicitObject &A, const FRigidTransform3 &ATransform, const FHeightField &B, const FRigidTransform3 &BTransform, const FReal CullDistance) |
| |
| FContactPoint | ConvexTriangleMeshContactPoint (const FImplicitObject &A, const FRigidTransform3 &ATransform, const FImplicitObject &B, const FRigidTransform3 &BTransform, const FReal CullDistance) |
| |
| template<typename TriMeshType > |
| FContactPoint | ConvexTriangleMeshSweptContactPoint (const FImplicitObject &A, const FRigidTransform3 &ATransform, const TriMeshType &B, const FRigidTransform3 &BStartTransform, const FVec3 &Dir, const FReal Length, const FReal IgnorePenetration, const FReal TargetPenetration, FReal &TOI) |
| |
| FContactPoint | CapsuleCapsuleContactPoint (const FCapsule &A, const FRigidTransform3 &ATransform, const FCapsule &B, const FRigidTransform3 &BTransform) |
| |
| FContactPoint | CapsuleBoxContactPoint (const FCapsule &A, const FRigidTransform3 &ATransform, const FImplicitBox3 &B, const FRigidTransform3 &BTransform, const FVec3 &InitialDir) |
| |
| template FContactPoint | GJKImplicitSweptContactPoint< FHeightField > (const FImplicitObject &A, const FRigidTransform3 &AStartTransform, const FHeightField &B, const FRigidTransform3 &BTransform, const FVec3 &Dir, const FReal Length, const FReal IgnorePenetration, const FReal TargetPenetration, FReal &TOI) |
| |
| template FContactPoint | SphereTriangleMeshSweptContactPoint< TImplicitObjectScaled< class Chaos::FTriangleMeshImplicitObject, 1 > > (const FSphere &A, const FRigidTransform3 &ATransform, const TImplicitObjectScaled< class Chaos::FTriangleMeshImplicitObject, 1 > &B, const FRigidTransform3 &BStartTransform, const FVec3 &Dir, const FReal Length, const FReal IgnorePenetration, const FReal TargetPenetration, FReal &TOI) |
| |
| template FContactPoint | SphereTriangleMeshSweptContactPoint< FTriangleMeshImplicitObject > (const FSphere &A, const FRigidTransform3 &ATransform, const FTriangleMeshImplicitObject &B, const FRigidTransform3 &BStartTransform, const FVec3 &Dir, const FReal Length, const FReal IgnorePenetration, const FReal TargetPenetration, FReal &TOI) |
| |
| template FContactPoint | CapsuleTriangleMeshSweptContactPoint< TImplicitObjectScaled< class Chaos::FTriangleMeshImplicitObject, 1 > > (const FCapsule &A, const FRigidTransform3 &ATransform, const TImplicitObjectScaled< class Chaos::FTriangleMeshImplicitObject, 1 > &B, const FRigidTransform3 &BStartTransform, const FVec3 &Dir, const FReal Length, const FReal IgnorePenetration, const FReal TargetPenetration, FReal &TOI) |
| |
| template FContactPoint | CapsuleTriangleMeshSweptContactPoint< FTriangleMeshImplicitObject > (const FCapsule &A, const FRigidTransform3 &ATransform, const FTriangleMeshImplicitObject &B, const FRigidTransform3 &BStartTransform, const FVec3 &Dir, const FReal Length, const FReal IgnorePenetration, const FReal TargetPenetration, FReal &TOI) |
| |
| template FContactPoint | ConvexTriangleMeshSweptContactPoint< TImplicitObjectScaled< class Chaos::FTriangleMeshImplicitObject, 1 > > (const FImplicitObject &A, const FRigidTransform3 &ATransform, const TImplicitObjectScaled< class Chaos::FTriangleMeshImplicitObject, 1 > &B, const FRigidTransform3 &BStartTransform, const FVec3 &Dir, const FReal Length, const FReal IgnorePenetration, const FReal TargetPenetration, FReal &TOI) |
| |
| template FContactPoint | ConvexTriangleMeshSweptContactPoint< FTriangleMeshImplicitObject > (const FImplicitObject &A, const FRigidTransform3 &ATransform, const FTriangleMeshImplicitObject &B, const FRigidTransform3 &BStartTransform, const FVec3 &Dir, const FReal Length, const FReal IgnorePenetration, const FReal TargetPenetration, FReal &TOI) |
| |
| template FContactPoint | BoxTriangleMeshContactPoint< TImplicitObjectScaled< class Chaos::FTriangleMeshImplicitObject, 1 > > (const FImplicitBox3 &A, const FRigidTransform3 &ATransform, const TImplicitObjectScaled< class Chaos::FTriangleMeshImplicitObject, 1 > &B, const FRigidTransform3 &BTransform, const FReal CullDistance) |
| |
| template FContactPoint | BoxTriangleMeshContactPoint< FTriangleMeshImplicitObject > (const FImplicitBox3 &A, const FRigidTransform3 &ATransform, const FTriangleMeshImplicitObject &B, const FRigidTransform3 &BTransform, const FReal CullDistance) |
| |
| template FContactPoint | SphereTriangleMeshContactPoint< TImplicitObjectScaled< class Chaos::FTriangleMeshImplicitObject, 1 > > (const FSphere &A, const FRigidTransform3 &ATransform, const TImplicitObjectScaled< class Chaos::FTriangleMeshImplicitObject, 1 > &B, const FRigidTransform3 &BTransform, const FReal CullDistance) |
| |
| template FContactPoint | SphereTriangleMeshContactPoint< FTriangleMeshImplicitObject > (const FSphere &A, const FRigidTransform3 &ATransform, const FTriangleMeshImplicitObject &B, const FRigidTransform3 &BTransform, const FReal CullDistance) |
| |
| template FContactPoint | CapsuleTriangleMeshContactPoint< TImplicitObjectScaled< class Chaos::FTriangleMeshImplicitObject, 1 > > (const FCapsule &A, const FRigidTransform3 &ATransform, const TImplicitObjectScaled< class Chaos::FTriangleMeshImplicitObject, 1 > &B, const FRigidTransform3 &BTransform, const FReal CullDistance) |
| |
| template FContactPoint | CapsuleTriangleMeshContactPoint< FTriangleMeshImplicitObject > (const FCapsule &A, const FRigidTransform3 &ATransform, const FTriangleMeshImplicitObject &B, const FRigidTransform3 &BTransform, const FReal CullDistance) |
| |
| template<typename ConvexImplicitType > |
| TArrayView< FVec3 > | ClipTriangleToConvex (const FTriangle &Triangle, const ConvexImplicitType &Convex, const int32 ConvexPlaneIndex, const FVec3 &Axis, TArrayView< FVec3 > VertexBuffer1, TArrayView< FVec3 > VertexBuffer2) |
| |
| template<typename ConvexImplicitType > |
| TArrayView< FVec3 > | ClipConvexToTriangle (const ConvexImplicitType &Convex, const int32 ConvexPlaneIndex, const FTriangle &Triangle, const FVec3 &TriangleN, TArrayView< FVec3 > VertexBuffer1, TArrayView< FVec3 > VertexBuffer2) |
| |
| template<typename ConvexType > |
| void | ConstructConvexTriangleOneShotManifold2 (const ConvexType &Convex, const FTriangle &Triangle, const FReal CullDistance, FContactPointManifold &OutContactPoints) |
| |
| template void | ConstructConvexTriangleOneShotManifold2 (const FImplicitConvex3 &Convex, const FTriangle &Triangle, const FReal CullDistance, FContactPointManifold &OutContactPoints) |
| |
| template void | ConstructConvexTriangleOneShotManifold2 (const TImplicitObjectInstanced< FImplicitConvex3 > &Convex, const FTriangle &Triangle, const FReal CullDistance, FContactPointManifold &OutContactPoints) |
| |
| template void | ConstructConvexTriangleOneShotManifold2 (const TImplicitObjectScaled< FImplicitConvex3 > &Convex, const FTriangle &Triangle, const FReal CullDistance, FContactPointManifold &OutContactPoints) |
| |
| template void | ConstructConvexTriangleOneShotManifold2 (const FImplicitBox3 &Convex, const FTriangle &Triangle, const FReal CullDistance, FContactPointManifold &OutContactPoints) |
| |
| template void | ConstructConvexTriangleOneShotManifold2 (const TImplicitObjectScaled< FImplicitBox3 > &Convex, const FTriangle &Triangle, const FReal CullDistance, FContactPointManifold &OutContactPoints) |
| |
| template void | ConstructConvexTriangleOneShotManifold2 (const TImplicitObjectInstanced< FImplicitBox3 > &Convex, const FTriangle &Triangle, const FReal CullDistance, FContactPointManifold &OutContactPoints) |
| |
| template<typename GeometryA , typename GeometryB > |
| FContactPoint | GJKContactPoint2 (const GeometryA &A, const GeometryB &B, const FRigidTransform3 &ATM, const FRigidTransform3 &BToATM, const FVec3 &InitialDir) |
| |
| template<typename GeometryA , typename GeometryB > |
| FContactPoint | GJKContactPoint (const GeometryA &A, const FRigidTransform3 &ATM, const GeometryB &B, const FRigidTransform3 &BTM, const FVec3 &InitialDir) |
| |
| FContactPoint | GJKContactPointSwept (const FGeomGJKHelperSIMD &A, const FRigidTransform3 &AStartTM, const FRigidTransform3 &AEndTM, const FGeomGJKHelperSIMD &B, const FRigidTransform3 &BStartTM, const FRigidTransform3 &BEndTM, const FVec3 &Dir, const FReal Length, const FReal IgnorePenetration, const FReal TargetPenetration, FReal &OutTOI) |
| |
| FContactPoint | GenericConvexConvexContactPointSwept (const FImplicitObject &A, const FRigidTransform3 &AStartTM, const FRigidTransform3 &AEndTM, const FImplicitObject &B, const FRigidTransform3 &BStartTM, const FRigidTransform3 &BEndTM, const FVec3 &Dir, const FReal Length, const FReal IgnorePenetration, const FReal TargetPenetration, FReal &TOI) |
| |
| bool | ImplicitOverlapOBBToAABB (const FImplicitObject *Implicit0, const FImplicitObject *Implicit1, const FRigidTransform3 &ShapeTransform1To0, const FVec3f &LocalRelativeMovement0, const FReal CullDistance) |
| |
| bool | ImplicitOverlapOBBToAABB (const FImplicitObject *Implicit0, const FImplicitObject *Implicit1, const FRigidTransform3 &ShapeWorldTransform0, const FRigidTransform3 &ShapeWorldTransform1, const FVec3f &RelativeMovement, const FReal CullDistance) |
| |
| int32 | GetNumLeafImplicits (const FImplicitObject *Implicit) |
| |
| const FShapeInstance * | GetShapeInstance (const FShapeInstanceArray &ShapeInstances, const int32 RootObjectIndex, const Private::FConvexOptimizer *ConvexOptimizer=nullptr) |
| |
| const FBVHParticles * | FindLevelSetParticles (const FGeometryParticleHandle *Particle, const FImplicitObject *Implicit) |
| |
| FPBDCollisionConstraintPtr | CreateShapePairConstraint (FGeometryParticleHandle *Particle0, const FPerShapeData *InShape0, FGeometryParticleHandle *Particle1, const FPerShapeData *InShape1, const FReal CullDistance, const EContactShapesType ShapePairType, const bool bUseManifold, const FCollisionContext &Context) |
| |
| FPBDCollisionConstraintPtr | CreateImplicitPairConstraint (FGeometryParticleHandle *Particle0, const FImplicitObject *Implicit0, const FPerShapeData *Shape0, const FBVHParticles *BVHParticles0, const FRigidTransform3 &ShapeRelativeTransform0, FGeometryParticleHandle *Particle1, const FImplicitObject *Implicit1, const FPerShapeData *Shape1, const FBVHParticles *BVHParticles1, const FRigidTransform3 &ShapeRelativeTransform1, const FReal CullDistance, const EContactShapesType ShapePairType, const bool bUseManifold, const FCollisionContext &Context) |
| |
| void | ReactivateCollisionConstraint (FPBDCollisionConstraint *Constraint) |
| |
| void | PrefetchConstraint (const TArray< FPBDCollisionConstraint * > &Constraints, const int32 ConstraintIndex) |
| |
| bool | ContactConstraintSortPredicate (const FPBDCollisionConstraint &L, const FPBDCollisionConstraint &R) |
| |
| void | UpdateCollisionSolverContactPointFromConstraint (Private::FPBDCollisionSolver &Solver, const int32 SolverPointIndex, FPBDCollisionConstraint *Constraint, const int32 ConstraintPointIndex, const FRealSingle Dt, const FRealSingle MaxDepenetrationVelocity, const FRealSingle MaxPushOut, const FConstraintSolverBody &Body0, const FConstraintSolverBody &Body1) |
| |
| void | UpdateCollisionSolverManifoldFromConstraint (Private::FPBDCollisionSolver &Solver, FPBDCollisionConstraint *Constraint, const FSolverReal Dt, const int32 ConstraintPointBeginIndex, const int32 ConstraintPointEndIndex, const FPBDCollisionSolverSettings &SolverSettings) |
| |
| void | UpdateCollisionSolverFromConstraint (Private::FPBDCollisionSolver &Solver, FPBDCollisionConstraint *Constraint, const FSolverReal Dt, const FPBDCollisionSolverSettings &SolverSettings, bool &bOutPerIterationCollision) |
| |
| FORCEINLINE_DEBUGGABLE void | UpdateCollisionConstraintFromSolver (FPBDCollisionConstraint *Constraint, const Private::FPBDCollisionSolver &Solver, const FSolverReal Dt) |
| |
| template<typename T_CONVEX > |
| bool | ConvexPointPenetrationVector (const T_CONVEX &Convex, const FVec3 &X, FVec3 &OutNormal, FReal &OutPhi) |
| |
| template<typename ConvexType > |
| FContactPoint | SphereConvexContactPointImpl (const FImplicitSphere3 &Sphere, const ConvexType &Convex, const FRigidTransform3 &SphereToConvexTransform) |
| |
| FContactPoint | SphereConvexContactPoint (const FImplicitSphere3 &Sphere, const FImplicitObject &Object, const FRigidTransform3 &SphereToConvexTransform) |
| |
| FContactPoint | SphereConvexContactPoint (const FImplicitSphere3 &Sphere, const FRigidTransform3 &SphereTransform, const FImplicitObject &Object, const FRigidTransform3 &ConvexTransform) |
| |
| void | ConstructSphereTriangleOneShotManifold (const FImplicitSphere3 &Sphere, const FTriangle &Triangle, const FReal CullDistance, FContactPointManifold &OutContactPoints) |
| |
| bool | ComputeCapsuleTriangleOverlapSimd (const VectorRegister4Float &A, const VectorRegister4Float &B, const VectorRegister4Float &C, const VectorRegister4Float &X1, const VectorRegister4Float &X2, FRealSingle Radius) |
| |
| bool | ComputeSphereTriangleOverlapSimd (const VectorRegister4Float &A, const VectorRegister4Float &B, const VectorRegister4Float &C, const VectorRegister4Float &X, FRealSingle Radius) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FConvex::CreateStructureData"), STAT_CreateConvexStructureData, STATGROUP_ChaosCollision) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FConvex::ComputeUnitMassInertiaTensorAndRotationOfMass"), STAT_ComputeConvexMassInertia, STATGROUP_ChaosCollision) |
| |
| CHAOS_API | DECLARE_LOG_CATEGORY_EXTERN (LogChaosMinEvolution, Log, All) |
| |
| | DEFINE_LOG_CATEGORY (LogChaosMinEvolution) |
| |
| | DECLARE_CYCLE_STAT (TEXT("MinEvolution::Advance"), STAT_MinEvolution_Advance, STATGROUP_ChaosMinEvolution) |
| |
| | DECLARE_CYCLE_STAT (TEXT("MinEvolution::PrepareTick"), STAT_MinEvolution_PrepareTick, STATGROUP_ChaosMinEvolution) |
| |
| | DECLARE_CYCLE_STAT (TEXT("MinEvolution::UnprepareTick"), STAT_MinEvolution_UnprepareTick, STATGROUP_ChaosMinEvolution) |
| |
| | DECLARE_CYCLE_STAT (TEXT("MinEvolution::Rewind"), STAT_MinEvolution_Rewind, STATGROUP_ChaosMinEvolution) |
| |
| | DECLARE_CYCLE_STAT (TEXT("MinEvolution::AdvanceOneTimeStep"), STAT_MinEvolution_AdvanceOneTimeStep, STATGROUP_ChaosMinEvolution) |
| |
| | DECLARE_CYCLE_STAT (TEXT("MinEvolution::Integrate"), STAT_MinEvolution_Integrate, STATGROUP_ChaosMinEvolution) |
| |
| | DECLARE_CYCLE_STAT (TEXT("MinEvolution::KinematicTargets"), STAT_MinEvolution_KinematicTargets, STATGROUP_ChaosMinEvolution) |
| |
| | DECLARE_CYCLE_STAT (TEXT("MinEvolution::Gather"), STAT_MinEvolution_Gather, STATGROUP_ChaosMinEvolution) |
| |
| | DECLARE_CYCLE_STAT (TEXT("MinEvolution::Scatter"), STAT_MinEvolution_Scatter, STATGROUP_ChaosMinEvolution) |
| |
| | DECLARE_CYCLE_STAT (TEXT("MinEvolution::ApplyConstraintsPhase1"), STAT_MinEvolution_ApplyConstraintsPhase1, STATGROUP_ChaosMinEvolution) |
| |
| | DECLARE_CYCLE_STAT (TEXT("MinEvolution::ApplyConstraintsPhase2"), STAT_MinEvolution_ApplyConstraintsPhase2, STATGROUP_ChaosMinEvolution) |
| |
| | DECLARE_CYCLE_STAT (TEXT("MinEvolution::ApplyConstraintsPhase3"), STAT_MinEvolution_ApplyConstraintsPhase3, STATGROUP_ChaosMinEvolution) |
| |
| | DECLARE_CYCLE_STAT (TEXT("MinEvolution::DetectCollisions"), STAT_MinEvolution_DetectCollisions, STATGROUP_ChaosMinEvolution) |
| |
| void | SolverQuaternionNormalizeApprox (FRotation3 &InOutQ) |
| | An approximate quaternion normalize for use in the solver.
|
| |
| FRotation3 | SolverQuaternionApplyAngularDeltaApprox (const FRotation3 &InQ0, const FVec3 &InDR) |
| |
| void | UpdateSolverBodyFromParticle (FSolverBody &SolverBody, const FGeometryParticleHandle *Particle, const FReal Dt) |
| |
| void | UpdateParticleFromSolverBody (FGeometryParticleHandle *Particle, const FSolverBody &SolverBody) |
| |
| void | ConjugateAll (const FFFT3::FUniformGrid &Grid, FFFT3::FArrayNDOfComplex &Velocity, const int32 z) |
| |
| void | EnforceSymmetry (const FFFT3::FUniformGrid &Grid, FFFT3::FArrayNDOfComplex &Velocity) |
| |
| void | exchange (FReal &f1, FReal &f2) |
| |
| template<int d> |
| void | NRFourn (const int isign, const TVector< int32, d > &counts, TArray< FReal > &Data) |
| |
| void | InverseTransformHelper (const FFFT3::FUniformGrid &Grid, TArrayND< FVec3, 3 > &Velocity, const FFFT3::FArrayNDOfComplex &u, const int32 index, const bool Normalize) |
| |
| void | TransformHelper (const FFFT3::FUniformGrid &Grid, const TArrayND< FVec3, 3 > &Velocity, FFFT3::FArrayNDOfComplex &u, const int32 index) |
| |
| FReal | ComputeAlphaHelper (const FPullPhysicsData &Next, const FReal ResultsTime) |
| |
| bool | StateDiverged (const FDirtyRigidParticleData &A, const FDirtyRigidParticleData &B) |
| |
| void | UpdateShapesArrayFromGeometry (FShapeInstanceArray &ShapesArray, const FImplicitObjectPtr &Geometry, const FRigidTransform3 &ActorTM) |
| |
| void | TransformSweepResultsToWorld (const bool bResult, const FReal Time, const bool bComputeMTD, const FImplicitObject &TestGeom, const FVec3 &TestGeomLocation, const FVec3 &LocalDir, const FVec3 &LocalPosition, const FVec3 &LocalNormal, const int32 FaceIndex, FVec3 &OutWorldPosition, FVec3 &OutWorldNormal, FVec3 &OutWorldFaceNormal) |
| |
| void | TransformSweepResultsToWorld (const bool bResult, const FReal Time, const bool bComputeMTD, const FImplicitObject &TestGeom, const FRigidTransform3 &TestGeomTM, const FVec3 &LocalDir, const FVec3 &LocalPosition, const FVec3 &LocalNormal, const int32 FaceIndex, FVec3 &OutWorldPosition, FVec3 &OutWorldNormal, FVec3 &OutWorldFaceNormal) |
| |
| FGJKSphereSingleSIMD | ComputeLocalSphere (const FSphere &Sphere, const FRigidTransform3 &SphereTM, const FRigidTransform3 &OtherTM) |
| |
| FGJKCapsuleSingleSIMD | ComputeLocalCapsule (const FCapsule &Capsule, const FRigidTransform3 &CapsuleTM, const FRigidTransform3 &OtherTM) |
| |
| template<typename SweptShapeType , typename TestShapeType , typename TestObjectType > |
| bool | LocalSweep (const SweptShapeType &SweptShape, const TestShapeType &TestShape, const TestObjectType &TestObject, const FRigidTransform3 &LocalToWorldTM, const FVec3 &WorldSweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal) |
| |
| bool | SweepSphereVsSphere (const FSphere &SweptSphere, const FRigidTransform3 &SweptSphereTM, const FSphere &TestSphere, const FRigidTransform3 &TestSphereTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal) |
| |
| bool | SweepSphereVsBox (const FSphere &SweptSphere, const FRigidTransform3 &SweptSphereTM, const TBox< FReal, 3 > &TestBox, const FRigidTransform3 &TestBoxTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal) |
| |
| bool | SweepSphereVsCapsule (const FSphere &SweptSphere, const FRigidTransform3 &SweptSphereTM, const FCapsule &TestCapsule, const FRigidTransform3 &TestCapsuleTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal) |
| |
| bool | SweepSphereVsConvex (const FSphere &SweptSphere, const FRigidTransform3 &SweptSphereTM, const FImplicitObject &TestObject, const FRigidTransform3 &TestObjectTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal) |
| |
| bool | SweepBoxVsSphere (const TBox< FReal, 3 > &SweptBox, const FRigidTransform3 &SweptBoxTM, const FSphere &TestSphere, const FRigidTransform3 &TestSphereTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal) |
| |
| bool | SweepBoxVsCapsule (const TBox< FReal, 3 > &SweptBox, const FRigidTransform3 &SweptBoxTM, const FCapsule &TestCapsule, const FRigidTransform3 &TestCapsuleTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal) |
| |
| bool | SweepCapsuleVsSphere (const FCapsule &SweptCapsule, const FRigidTransform3 &SweptCapsuleTM, const FSphere &TestSphere, const FRigidTransform3 &TestSphereTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal) |
| |
| bool | SweepCapsuleVsBox (const FCapsule &SweptCapsule, const FRigidTransform3 &SweptCapsuleTM, const TBox< FReal, 3 > &TestBox, const FRigidTransform3 &TestBoxTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal) |
| |
| bool | SweepCapsuleVsCapsule (const FCapsule &SweptCapsule, const FRigidTransform3 &SweptCapsuleTM, const FCapsule &TestCapsule, const FRigidTransform3 &TestCapsuleTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal) |
| |
| bool | SweepCapsuleVsConvex (const FCapsule &SweptCapsule, const FRigidTransform3 &SweptCapsuleTM, const FImplicitObject &TestObject, const FRigidTransform3 &TestObjectTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal) |
| |
| template<typename BufferType , typename ToRealFuncType > |
| void | BuildGeomData (TArrayView< BufferType > BufferView, TArrayView< const uint8 > MaterialIndexView, int32 NumRows, int32 NumCols, const FVec3 &InScale, ToRealFuncType ToRealFunc, typename FHeightField::FDataType &OutData, FAABB3 &OutBounds) |
| |
| template<typename BufferType , typename ToRealFuncType > |
| void | EditGeomData (TArrayView< BufferType > BufferView, int32 InBeginRow, int32 InBeginCol, int32 NumRows, int32 NumCols, ToRealFuncType ToRealFunc, typename FHeightField::FDataType &OutData, FAABB3 &OutBounds) |
| |
| template<bool bFillHeight, bool bFillNormal> |
| FHeightNormalResult | GetHeightNormalAt (const FVec2 &InGridLocationLocal, const Chaos::FHeightField::FDataType &InGeomData, const TUniformGrid< Chaos::FReal, 2 > &InGrid) |
| |
| FAABB3 | CalculateObjectsBounds (const TArrayView< FImplicitObjectPtr > &Objects) |
| |
| FORCEINLINE bool | ExtractLinearMotion (const FPBDJointSettings &JointSettings, TVec3< bool > &bLinearLocked, TVec3< bool > &bLinearLimited) |
| |
| bool | ExtractAngularMotion (const FPBDJointSettings &JointSettings, TVec3< bool > &bAngularLocked, TVec3< bool > &bAngularLimited, TVec3< bool > &bAngularFree) |
| |
| bool | Compare (const Pair< FReal *, TVec3< int32 > > &Other1, const Pair< FReal *, TVec3< int32 > > &Other2) |
| |
| FReal | SolveQuadraticEquation (const FReal Phi, const FReal PhiX, const FReal PhiY, const FReal Dx, const FReal Dy) |
| |
| void | GetGeomSurfaceSamples (const FSphere &InGeom, TArray< FVec3 > &OutSamples) |
| |
| void | GetGeomSurfaceSamples (const TBox< FReal, 3 > &InGeom, TArray< FVec3 > &OutSamples) |
| |
| void | GetGeomSurfaceSamples (const FCapsule &InGeom, TArray< FVec3 > &OutSamples) |
| |
| void | GetGeomSurfaceSamples (const FConvex &InGeom, TArray< FVec3 > &OutSamples) |
| |
| template<typename InnerT > |
| void | GetGeomSurfaceSamples (const TImplicitObjectScaled< InnerT > &InScaledGeom, TArray< FVec3 > &OutSamples) |
| |
| void | GetGeomSurfaceSamplesExtended (const FSphere &InGeom, TArray< FVec3 > &OutSamples) |
| |
| void | GetGeomSurfaceSamplesExtended (const TBox< FReal, 3 > &InGeom, TArray< FVec3 > &OutSamples) |
| |
| void | GetGeomSurfaceSamplesExtended (const FCapsule &InGeom, TArray< FVec3 > &OutSamples) |
| |
| void | GetGeomSurfaceSamplesExtended (const FConvex &InGeom, TArray< FVec3 > &OutSamples) |
| |
| template<typename InnerT > |
| void | GetGeomSurfaceSamplesExtended (const TImplicitObjectScaled< InnerT > &InScaledGeom, TArray< FVec3 > &OutSamples) |
| |
| FVec3f | CalculateInertiaConditioning (const FRealSingle InvM, const FVec3f &InvI, const FVec3f &ConstraintExtents, const FRealSingle MaxDistance, const FRealSingle MaxRotationRatio, const FRealSingle MaxInvInertiaComponentRatio, const FInertiaConditioningTolerances &Tolerances) |
| |
| FVec3f | CalculateCoMConstraintExtents (const FPBDRigidParticleHandle *Rigid) |
| |
| FVec3f | CalculateParticleInertiaConditioning (const FPBDRigidParticleHandle *Rigid, const FRealSingle MaxDistance, const FRealSingle MaxRotationRatio, const FRealSingle MaxInvInertiaComponentRatio, const FInertiaConditioningTolerances &Tolerances) |
| |
| template<typename T > |
| TRotation< T, 3 > | TransformToLocalSpace (PMatrix< T, 3, 3 > &Inertia) |
| |
| void | TransformToLocalSpace (FMassProperties &MassProperties) |
| |
| void | CalculateVolumeAndCenterOfMass (const FBox &BoundingBox, FVector::FReal &OutVolume, FVector &OutCenterOfMass) |
| |
| void | CalculateInertiaAndRotationOfMass (const FBox &BoundingBox, const FVector::FReal Density, FMatrix33 &OutInertiaTensor, FRotation3 &OutRotationOfMass) |
| |
| FMassProperties | CalculateMassProperties (const FBox &BoundingBox, const FVector::FReal Density) |
| |
| template<typename T , typename TVec , typename TSurfaces > |
| void | CalculateVolumeAndCenterOfMassImpl (const TArray< TVec > &Vertices, const TSurfaces &Surfaces, T &OutVolume, TVec &OutCenterOfMass) |
| |
| template<typename T , typename TSurfaces > |
| void CHAOS_API | CalculateVolumeAndCenterOfMass (const TParticles< T, 3 > &Vertices, const TSurfaces &Surfaces, T &OutVolume, TVec3< T > &OutCenterOfMass) |
| |
| template<typename T , typename TSurfaces > |
| void CHAOS_API | CalculateVolumeAndCenterOfMass (const TArray< TVec3< T > > &Vertices, const TSurfaces &Surfaces, T &OutVolume, TVec3< T > &OutCenterOfMass) |
| |
| template<typename T , typename TSurfaces > |
| void CHAOS_API | CalculateVolumeAndCenterOfMass (const TArray< UE::Math::TVector< T > > &Vertices, const TSurfaces &Surfaces, T &OutVolume, UE::Math::TVector< T > &OutCenterOfMass) |
| |
| template<typename T , typename TVec , typename TSurfaces > |
| void | CalculateInertiaAndRotationOfMassImpl (const TArray< TVec > &Vertices, const TSurfaces &Surfaces, const T Density, const TVec &CenterOfMass, PMatrix< T, 3, 3 > &OutInertiaTensor, TRotation< T, 3 > &OutRotationOfMass) |
| |
| template<typename T , typename TSurfaces > |
| void CHAOS_API | CalculateInertiaAndRotationOfMass (const TParticles< T, 3 > &Vertices, const TSurfaces &Surfaces, const T Density, const TVec3< T > &CenterOfMass, PMatrix< T, 3, 3 > &OutInertiaTensor, TRotation< T, 3 > &OutRotationOfMass) |
| |
| template<typename T , typename TSurfaces > |
| void CHAOS_API | CalculateInertiaAndRotationOfMass (const TArray< UE::Math::TVector< T > > &Vertices, const TSurfaces &Surfaces, const T Density, const UE::Math::TVector< T > &CenterOfMass, PMatrix< T, 3, 3 > &OutInertiaTensor, TRotation< T, 3 > &OutRotationOfMass) |
| |
| template<typename TSurfaces > |
| FMassProperties | CalculateMassProperties (const FParticles &Vertices, const TSurfaces &Surfaces, const FReal Mass) |
| |
| FMassProperties | Combine (const TArray< FMassProperties > &MPArray) |
| |
| FMassProperties | CombineWorldSpace (const TArray< FMassProperties > &MPArray) |
| |
| bool | CalculateMassPropertiesOfImplicitUnion (Chaos::FMassProperties &OutMassProperties, const Chaos::FRigidTransform3 &WorldTransform, const Chaos::FImplicitObjectUnion &ImplicitUnion, Chaos::FReal InDensityKGPerCM) |
| |
| bool | CalculateMassPropertiesOfImplicitType (Chaos::FMassProperties &OutMassProperties, const Chaos::FRigidTransform3 &WorldTransform, const Chaos::FImplicitObject *ImplicitObject, Chaos::FReal InDensityKGPerCM) |
| |
| void | CalculateMassPropertiesFromShapeCollection (Chaos::FMassProperties &OutProperties, int32 InNumShapes, Chaos::FReal InDensityKGPerCM, const TArray< bool > &bContributesToMass, TFunction< Chaos::FPerShapeData *(int32 ShapeIndex)> GetShapeDelegate) |
| |
| template CHAOS_API TRotation< FRealSingle, 3 > | TransformToLocalSpace (PMatrix< FRealSingle, 3, 3 > &Inertia) |
| |
| template CHAOS_API TRotation< FRealDouble, 3 > | TransformToLocalSpace (PMatrix< FRealDouble, 3, 3 > &Inertia) |
| |
| template CHAOS_API FMassProperties | CalculateMassProperties (const FParticles &Vertices, const TArray< TVec3< int32 > > &Surfaces, const FReal Mass) |
| |
| template CHAOS_API FMassProperties | CalculateMassProperties (const FParticles &Vertices, const TArray< TArray< int32 > > &Surfaces, const FReal Mass) |
| |
| template CHAOS_API void | CalculateVolumeAndCenterOfMass (const TParticles< FRealDouble, 3 > &Vertices, const TArray< TVec3< int32 > > &Surfaces, FRealDouble &OutVolume, TVec3< FRealDouble > &OutCenterOfMass) |
| |
| template CHAOS_API void | CalculateVolumeAndCenterOfMass (const TParticles< FRealDouble, 3 > &Vertices, const TArray< TArray< int32 > > &Surfaces, FRealDouble &OutVolume, TVec3< FRealDouble > &OutCenterOfMass) |
| |
| template CHAOS_API void | CalculateVolumeAndCenterOfMass (const TParticles< FRealSingle, 3 > &Vertices, const TArray< TVec3< int32 > > &Surfaces, FRealSingle &OutVolume, TVec3< FRealSingle > &OutCenterOfMass) |
| |
| template CHAOS_API void | CalculateVolumeAndCenterOfMass (const TParticles< FRealSingle, 3 > &Vertices, const TArray< TArray< int32 > > &Surfaces, FRealSingle &OutVolume, TVec3< FRealSingle > &OutCenterOfMass) |
| |
| template CHAOS_API void | CalculateVolumeAndCenterOfMass (const TArray< TVec3< FRealSingle > > &Vertices, const TArray< TArray< int32 > > &Surfaces, FRealSingle &OutVolume, TVec3< FRealSingle > &OutCenterOfMass) |
| |
| template CHAOS_API void | CalculateVolumeAndCenterOfMass (const TArray< TVec3< FRealDouble > > &Vertices, const TArray< TArray< int32 > > &Surfaces, FRealDouble &OutVolume, TVec3< FRealDouble > &OutCenterOfMass) |
| |
| template CHAOS_API void | CalculateVolumeAndCenterOfMass (const TArray< UE::Math::TVector< float > > &Vertices, const TArray< TVec3< int32 > > &Surfaces, float &OutVolume, UE::Math::TVector< float > &OutCenterOfMass) |
| |
| template void CHAOS_API | CalculateInertiaAndRotationOfMass (const TParticles< FRealSingle, 3 > &Vertices, const TArray< TVec3< int32 > > &Surfaces, const FRealSingle Density, const TVec3< FRealSingle > &CenterOfMass, PMatrix< FRealSingle, 3, 3 > &OutInertiaTensor, TRotation< FRealSingle, 3 > &OutRotationOfMass) |
| |
| template void CHAOS_API | CalculateInertiaAndRotationOfMass (const TParticles< FRealSingle, 3 > &Vertices, const TArray< TArray< int32 > > &Surfaces, const FRealSingle Density, const TVec3< FRealSingle > &CenterOfMass, PMatrix< FRealSingle, 3, 3 > &OutInertiaTensor, TRotation< FRealSingle, 3 > &OutRotationOfMass) |
| |
| template void CHAOS_API | CalculateInertiaAndRotationOfMass (const TParticles< FRealDouble, 3 > &Vertices, const TArray< TVec3< int32 > > &Surfaces, const FRealDouble Density, const TVec3< FRealDouble > &CenterOfMass, PMatrix< FRealDouble, 3, 3 > &OutInertiaTensor, TRotation< FRealDouble, 3 > &OutRotationOfMass) |
| |
| template void CHAOS_API | CalculateInertiaAndRotationOfMass (const TParticles< FRealDouble, 3 > &Vertices, const TArray< TArray< int32 > > &Surfaces, const FRealDouble Density, const TVec3< FRealDouble > &CenterOfMass, PMatrix< FRealDouble, 3, 3 > &OutInertiaTensor, TRotation< FRealDouble, 3 > &OutRotationOfMass) |
| |
| template void CHAOS_API | CalculateInertiaAndRotationOfMass (const TArray< UE::Math::TVector< float > > &Vertices, const TArray< TVec3< int32 > > &Surfaces, const float Density, const UE::Math::TVector< float > &CenterOfMass, PMatrix< float, 3, 3 > &OutInertiaTensor, TRotation< float, 3 > &OutRotationOfMass) |
| |
| void | UpdateShapesArrayFromGeometry (FShapeInstanceProxyArray &ShapesArray, const FImplicitObjectPtr &Geometry, const FRigidTransform3 &ActorTM, IPhysicsProxyBase *Proxy) |
| |
| void | SetObjectStateHelper (IPhysicsProxyBase &Proxy, FPBDRigidParticleHandle &Rigid, EObjectStateType InState, bool bAllowEvents, bool bInvalidate) |
| |
| FImplicitObject * | GetInstancedImplicitHelper (FImplicitObject *Implicit0) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Collisions::Reset"), STAT_Collisions_Reset, STATGROUP_ChaosCollision) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Collisions::BeginDetect"), STAT_Collisions_BeginDetect, STATGROUP_ChaosCollision) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Collisions::EndDetect"), STAT_Collisions_EndDetect, STATGROUP_ChaosCollision) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Collisions::Sort"), STAT_Collisions_Sort, STATGROUP_ChaosCollision) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Collisions::DetectProbeCollisions"), STAT_Collisions_DetectProbeCollisions, STATGROUP_ChaosCollision) |
| |
| void | UpdateSoftCollisionSettings (const FChaosPhysicsMaterial *PhysicsMaterial, const FGeometryParticleHandle *Particle, FReal &InOutThickess) |
| |
| void | ComputeHashTable (const TArray< Chaos::FPBDCollisionConstraint > &ConstraintsArray, const FBox &BoundingBox, TMultiMap< int32, int32 > &HashTableMap, const FReal SpatialHashRadius) |
| |
| void | ComputeHashTable (const TArray< FCollidingData > &CollisionsArray, const FBox &BoundingBox, TMultiMap< int32, int32 > &HashTableMap, const FReal SpatialHashRadius) |
| |
| void | ComputeHashTable (const TArray< FCollidingDataExt > &CollisionsArray, const FBox &BoundingBox, TMultiMap< int32, int32 > &HashTableMap, const FReal SpatialHashRadius) |
| |
| void | ComputeHashTable (const TArray< FVector > &ParticleArray, const FBox &BoundingBox, TMultiMap< int32, int32 > &HashTableMap, const FReal SpatialHashRadius) |
| |
| void | ComputeHashTable (const TArray< FBreakingData > &BreakingsArray, const FBox &BoundingBox, TMultiMap< int32, int32 > &HashTableMap, const FReal SpatialHashRadius) |
| |
| void | ComputeHashTable (const TArray< FBreakingDataExt > &BreakingsArray, const FBox &BoundingBox, TMultiMap< int32, int32 > &HashTableMap, const FReal SpatialHashRadius) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Joints::Sort"), STAT_Joints_Sort, STATGROUP_ChaosJoint) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Joints::PrepareTick"), STAT_Joints_PrepareTick, STATGROUP_ChaosJoint) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Joints::UnprepareTick"), STAT_Joints_UnprepareTick, STATGROUP_ChaosJoint) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Joints::Gather"), STAT_Joints_Gather, STATGROUP_ChaosJoint) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Joints::Scatter"), STAT_Joints_Scatter, STATGROUP_ChaosJoint) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Joints::Apply"), STAT_Joints_Apply, STATGROUP_ChaosJoint) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Joints::ApplyPushOut"), STAT_Joints_ApplyPushOut, STATGROUP_ChaosJoint) |
| |
| | DECLARE_CYCLE_STAT (TEXT("Joints::ApplyProjection"), STAT_Joints_ApplyProjection, STATGROUP_ChaosJoint) |
| |
| FReal | GetSwingAngleY (const FRotation3 &RSwing) |
| |
| FReal | GetSwingAngleZ (const FRotation3 &RSwing) |
| |
| FVec2 | NearPointOnEllipse (const FVec2 &P, const FVec2 &R, const int MaxIts=20, const FReal Tolerance=1.e-4f) |
| |
| bool | GetEllipticalAxisError (const FVec3 &SwingAxisRot, const FVec3 &EllipseNormal, const FVec3 &TwistAxis, FVec3 &AxisLocal, FReal &Error) |
| |
| template<typename TProxy = FGeometryCollectionPhysicsProxy> |
| TProxy * | GetConcreteProxy (FPBDRigidClusteredParticleHandle *ClusteredParticle) |
| |
| template<typename TProxy = FGeometryCollectionPhysicsProxy> |
| const TProxy * | GetConcreteProxy (const FPBDRigidClusteredParticleHandle *ClusteredParticle) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::CreateClusterParticle"), STAT_CreateClusterParticle, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::AddParticlesToCluster"), STAT_AddParticlesToCluster, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::RemoveParticlesFromCluster"), STAT_RemoveParticlesFromCluster, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::UpdateClusterParticlePropertiesFromChildren"), STAT_UpdateClusterParticlePropertiesFromChildren, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::CreateClusterParticleFromClusterChildren"), STAT_CreateClusterParticleFromClusterChildren, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::UnionClusterGroups"), STAT_UnionClusterGroups, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::DeactivateClusterParticle"), STAT_DeactivateClusterParticle, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::ReleaseClusterParticles(STRAIN)"), STAT_ReleaseClusterParticles_STRAIN, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::ReleaseClusterParticlesNoInternalCluster"), STAT_ReleaseClusterParticlesNoInternalCluster, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::HandleConnectivityOnReleaseClusterParticle"), HandleConnectivityOnReleaseClusterParticle, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::ReleaseClusterParticles(LIST)"), STAT_ReleaseClusterParticles_LIST, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::ReleaseChildrenParticleAndParents"), ReleaseChildrenParticleAndParents, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::AdvanceClustering"), STAT_AdvanceClustering, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::Update Impulse from Strain"), STAT_UpdateImpulseStrain, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::Update Dirty Impulses"), STAT_UpdateDirtyImpulses, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FRigidClustering::CleanupInternalClustersForProxy"), STAT_CleanupInternalClustersForProxy, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("BreakingModel_AllParticles"), STAT_BreakingModel_AllParticles, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("BreakingModel"), STAT_BreakingModel, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FRigidClustering::Visitor"), STAT_ClusterVisitor, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::GetActiveClusterIndex"), STAT_GetActiveClusterIndex, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::GenerateConnectionGraph"), STAT_GenerateConnectionGraph, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::ClearConnectionGraph"), STAT_ClearConnectionGraph, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("ComputeStrainFromCollision"), STAT_ComputeStrainFromCollision, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("ResetCollisionImpulseArray"), STAT_ResetCollisionImpulseArray, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::UpdateConnectivityGraphUsingPointImplicit"), STAT_UpdateConnectivityGraphUsingPointImplicit, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::FixConnectivityGraphUsingDelaunayTriangulation"), STAT_FixConnectivityGraphUsingDelaunayTriangulation, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::UpdateConnectivityGraphUsingDelaunayTriangulation"), STAT_UpdateConnectivityGraphUsingDelaunayTriangulation, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::UpdateConnectivityGraphUsingDelaunayTriangulationWithBoundsOverlaps"), STAT_UpdateConnectivityGraphUsingDelaunayTriangulationWithBoundsOverlaps, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::RemoveNodeConnections"), STAT_RemoveNodeConnections, STATGROUP_Chaos) |
| |
| FClusterCreationParameters::EConnectionMethod | ToInternalConnectionMethod (EClusterUnionMethod InMethod) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::UpdateClusterMassProperties()"), STAT_UpdateClusterMassProperties, STATGROUP_Chaos) |
| |
| void | UpdateClusterMassProperties (FPBDRigidClusteredParticleHandle *Parent, const TSet< FPBDRigidParticleHandle * > &Children) |
| |
| void | AdjustClusterInertia (FPBDRigidClusteredParticleHandle *Cluster, const EInertiaOperations InertiaOperations) |
| |
| FRigidTransform3 | MoveClusterToMassOffset (FPBDRigidClusteredParticleHandle *Cluster, const EMassOffsetType MassOffsetTypes) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::UpdateKinematicProperties()"), STAT_UpdateKinematicProperties, STATGROUP_Chaos) |
| |
| void | UpdateKinematicProperties (Chaos::FPBDRigidParticleHandle *InParent, const FRigidClustering::FClusterMap &MChildren, FRigidClustering::FRigidEvolution &MEvolution) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::UpdateGeometry"), STAT_UpdateGeometry, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::UpdateGeometry_GatherObjects"), STAT_UpdateGeometry_GatherObjects, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::UpdateGeometry_GatherPoints"), STAT_UpdateGeometry_GatherPoints, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::UpdateGeometry_CopyPoints"), STAT_UpdateGeometry_CopyPoints, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("TPBDRigidClustering<>::UpdateGeometry_PointsBVH"), STAT_UpdateGeometry_PointsBVH, STATGROUP_Chaos) |
| |
| void | BuildScaledGeometry (Chaos::FPBDRigidClusteredParticleHandle *ParticleHandle, const Chaos::FImplicitObjectPtr &ProxyGeometry, const FVector &WorldScale) |
| |
| void | UpdateCollisionFlags (Chaos::FPBDRigidClusteredParticleHandle *ParticleHandle, const bool bUseParticleImplicit) |
| |
| void | UpdateGeometry (Chaos::FPBDRigidClusteredParticleHandle *Parent, const TSet< FPBDRigidParticleHandle * > &Children, const FRigidClustering::FClusterMap &ChildrenMap, const Chaos::FImplicitObjectPtr &ProxyGeometry, const FClusterCreationParameters &Parameters) |
| |
| void | UpdateClusterFilterDataFromChildren (FPBDRigidClusteredParticleHandle *ClusterParent, const TArray< FPBDRigidParticleHandle * > &Children) |
| |
| FAutoConsoleVariableRef | CVarBroadphaseIsTree (TEXT("p.BroadphaseType"), BroadPhaseConfig.BroadphaseType, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarBoundingVolumeNumCells (TEXT("p.BoundingVolumeNumCells"), BroadPhaseConfig.BVNumCells, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarMaxChildrenInLeaf (TEXT("p.MaxChildrenInLeaf"), BroadPhaseConfig.MaxChildrenInLeaf, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarMaxTreeDepth (TEXT("p.MaxTreeDepth"), BroadPhaseConfig.MaxTreeDepth, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarAABBMaxChildrenInLeaf (TEXT("p.AABBMaxChildrenInLeaf"), BroadPhaseConfig.AABBMaxChildrenInLeaf, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarAABBMaxTreeDepth (TEXT("p.AABBMaxTreeDepth"), BroadPhaseConfig.AABBMaxTreeDepth, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarMaxPayloadSize (TEXT("p.MaxPayloadSize"), BroadPhaseConfig.MaxPayloadSize, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarIterationsPerTimeSlice (TEXT("p.IterationsPerTimeSlice"), BroadPhaseConfig.IterationsPerTimeSlice, TEXT("")) |
| |
| | DECLARE_CYCLE_STAT (TEXT("CacheAccelerationBounds"), STAT_CacheAccelerationBounds, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("ComputeIntermediateSpatialAcceleration"), STAT_ComputeIntermediateSpatialAcceleration, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("CopyAccelerationStructure"), STAT_CopyAccelerationStructure, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("SwapAccelerationStructures"), STAT_SwapAccelerationStructures, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("AccelerationStructureTimeSlice"), STAT_AccelerationStructureTimeSlice, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("AccelerationStructureTimeSliceCopy"), STAT_AccelerationStructureTimeSliceCopy, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("CreateInitialAccelerationStructure"), STAT_CreateInitialAccelerationStructure, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("CreateNonSlicedStructures"), STAT_CreateNonSlicedStructures, STATGROUP_Chaos) |
| |
| TUniquePtr< ISpatialAccelerationCollection< FAccelerationStructureHandle, FReal, 3 > > | CreateNewSpatialStructureFromSubStructure (TUniquePtr< ISpatialAcceleration< FAccelerationStructureHandle, FReal, 3 > > &&Substructure) |
| |
| int32 | CalculateNumCollisionsPerBlock () |
| |
| template<typename TEvolution > |
| void | SerializeToDisk (TEvolution &Evolution) |
| |
| template<typename TParticleView > |
| void | CheckParticleViewForDupes (const FString &Name, const TParticleView &ParticleView) |
| |
| void | CheckParticleViewsForDupes (FPBDRigidsSOAs &Particles) |
| |
| void | CheckMovingKinematicFlag (FPBDRigidsSOAs &Particles) |
| |
| void | CheckParticleViewsForErrors (FPBDRigidsSOAs &Particles) |
| |
| bool | ZeroOrOneBitSet (const EGeometryParticleListMask ParticleListMask, const EGeometryParticleListMask ViewListMask) |
| |
| FChaosArchive & | operator<< (FChaosArchive &Ar, FRigidParticleControlFlags &Flags) |
| |
| const TCHAR * | LexToString (ESerializedDataContext Value) |
| |
| | DECLARE_CYCLE_STAT_WITH_FLAGS (TEXT("UpdateShapesArrayFromGeometryImpl"), STAT_UpdateShapesArrayFromGeometryImpl, STATGROUP_Chaos, EStatFlags::Verbose) |
| |
| template<typename TShapesArrayType > |
| void | UpdateShapesArrayFromGeometryImpl (TShapesArrayType &ShapesArray, const FImplicitObjectPtr &Geometry, const FRigidTransform3 &ActorTM, IPhysicsProxyBase *Proxy) |
| |
| void | UpdateShapesArrayFromGeometry (FShapesArray &ShapesArray, TSerializablePtr< FImplicitObject > Geometry, const FRigidTransform3 &ActorTM, IPhysicsProxyBase *Proxy) |
| |
| const FImplicitObject * | GetInnerGeometryInstanceData (const FImplicitObject *Implicit, const FRigidTransform3 **OutRelativeTransformPtr) |
| |
| bool | ShapeInstanceWantsLeafCache (const FImplicitObject *Geometry) |
| |
| | DEFINE_LOG_CATEGORY_STATIC (LogChaosSpatialHash, Verbose, All) |
| |
| template<class T > |
| void | AddTrianglesToHull (const TConstArrayView< FVec3 > &Points, const int32 I0, const int32 I1, const int32 I2, const TPlane< T, 3 > &SplitPlane, const TArray< int32 > &InIndices, TArray< TVec3< int32 > > &OutIndices) |
| |
| FORCEINLINE TVec2< int32 > | GetOrdered (const TVec2< int32 > &elem) |
| |
| void | Order (int32 &A, int32 &B) |
| |
| TVec3< int32 > | GetOrdered (const TVec3< int32 > &Elem) |
| |
| FReal | GetWindingOrder (const FVec3 &Scale) |
| |
| void | ScaleTransformHelper (const FVec3 &TriMeshScale, const FRigidTransform3 &QueryTM, FRigidTransform3 &OutScaledQueryTM) |
| |
| template<typename QueryGeomType > |
| const QueryGeomType & | ScaleGeomIntoWorldHelper (const QueryGeomType &QueryGeom, const FVec3 &TriMeshScale) |
| |
| template<typename QueryGeomType > |
| TImplicitObjectScaled< QueryGeomType > | ScaleGeomIntoWorldHelper (const TImplicitObjectScaled< QueryGeomType > &QueryGeom, const FVec3 &TriMeshScale) |
| |
| void | TransformSweepOutputsHelper (FVec3 TriMeshScale, const FVec3 &HitNormal, const FVec3 &HitPosition, const FRealSingle LengthScale, const FRealSingle Time, FVec3 &OutNormal, FVec3 &OutPosition, FRealSingle &OutTime) |
| |
| template<typename QueryGeomType > |
| const auto | MakeTriangleHelper (const QueryGeomType &Geom) |
| |
| template<typename QueryGeomType > |
| const auto | MakeTriangleHelper (const TImplicitObjectScaled< QueryGeomType > &ScaledGeom) |
| |
| void | ComputeScaledSweepInputs (FVec3 TriMeshScale, const FRigidTransform3 &StartTM, const FVec3 &Dir, const FReal Length, FVec3 &OutScaledDirNormalized, FReal &OutLengthScale, FRigidTransform3 &OutScaledStartTM) |
| |
| FVec3 | SafeInvScale (const FVec3 &Scale) |
| |
| template<class T_SCALAR , class T > |
| T_SCALAR | LinearlyInterpolate1D (const T_SCALAR &Prev, const T_SCALAR &Next, const T Alpha) |
| |
| template<class T_SCALAR , class T , int d> |
| T_SCALAR | LinearlyInterpolateHelper (const TArrayND< T_SCALAR, d > &ScalarN, const TVector< int32, d > &CellPrev, const TVector< T, d > &Alpha) |
| |
| template<class T_SCALAR , class T > |
| T_SCALAR | LinearlyInterpolateHelper (const TArrayND< T_SCALAR, 2 > &ScalarN, const TVector< int32, 2 > &CellPrev, const TVector< T, 2 > &Alpha) |
| |
| template<class T_SCALAR , class T > |
| T_SCALAR | LinearlyInterpolateHelper (const TArrayND< T_SCALAR, 3 > &ScalarN, const TVector< int32, 3 > &CellPrev, const TVector< T, 3 > &Alpha) |
| |
| | DECLARE_CYCLE_STAT (TEXT("EventDefaults::RegisterCollisionEvent_Filter"), STAT_Events_RegisterCollisionEvent_Filter, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("EventDefaults::RegisterCollisionEvent_Notify"), STAT_Events_RegisterCollisionEvent_Notify, STATGROUP_Chaos) |
| |
| FMaterialHandle | ResolveMaterial (const FPerShapeData *InShape, const FPBDCollisionConstraint &InConstraint) |
| |
| template<typename TRigidParticle > |
| bool | ShouldUpdateFromSimulation (const TRigidParticle &InRigidParticle) |
| |
| bool | HasSimulationCallback (const ISimCallbackObject *Callback) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionPhysicsProxy::PushToPhysicsState"), STAT_ClusterUnionPhysicsProxyPushToPhysicsState, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionPhysicsProxy::PullFromPhysicsState"), STAT_ClusterUnionPhysicsProxyPullFromPhysicsState, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionPhysicsProxy::BufferPhysicsResults_Internal"), STAT_ClusterUnionPhysicsProxyBufferPhysicsResultsInternal, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionPhysicsProxy::BufferPhysicsResults_External"), STAT_ClusterUnionPhysicsProxyBufferPhysicsResultsExternal, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FClusterUnionPhysicsProxy::SyncRemoteData"), STAT_ClusterUnionPhysicsProxySyncRemoteData, STATGROUP_Chaos) |
| |
| template<Chaos::EParticleType ParticleType> |
| void | PushToPhysicsStateImp (const Chaos::FDirtyPropertiesManager &Manager, Chaos::FGeometryParticleHandle *Handle, int32 DataIdx, const Chaos::FDirtyProxy &Dirty, Chaos::FShapeDirtyData *ShapesData, Chaos::FPBDRigidsSolver &Solver, bool bResimInitialized, Chaos::FReal ExternalDt) |
| |
| template<typename T > |
| void | BufferPhysicsResultsImp (Chaos::FDirtyRigidParticleData &PullData, T *Particle) |
| |
| bool | ShouldUpdateTransformFromSimulation (const Chaos::FPBDRigidParticle &Rigid) |
| |
| bool | SimWritablePropsMayChange (const TGeometryParticleHandle< FReal, 3 > &Handle) |
| |
| | DECLARE_CYCLE_STAT (TEXT("AABBTreeGenerateTree"), STAT_AABBTreeGenerateTree, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("AABBTreeTimeSliceSetup"), STAT_AABBTreeTimeSliceSetup, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("AABBTreeInitialTimeSlice"), STAT_AABBTreeInitialTimeSlice, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("AABBTreeProgressTimeSlice"), STAT_AABBTreeProgressTimeSlice, STATGROUP_Chaos) |
| |
| template<typename TPayloadType , bool bComputeBounds, typename T > |
| FChaosArchive & | operator<< (FChaosArchive &Ar, TAABBTreeLeafArray< TPayloadType, bComputeBounds, T > &LeafArray) |
| |
| template<typename LeafType > |
| FChaosArchive & | operator<< (FChaosArchive &Ar, TLeafContainer< LeafType > &LeafArray) |
| |
| template<typename T > |
| FORCEINLINE FChaosArchive & | operator<< (FChaosArchive &Ar, TAABBTreeNode< T > &Node) |
| |
| FORCEINLINE FArchive & | operator<< (FArchive &Ar, FAABBTreePayloadInfo &PayloadInfo) |
| |
| template<typename TPayloadType , typename TLeafType , bool bMutable, typename T , typename StorageTraits > |
| FArchive & | operator<< (FChaosArchive &Ar, TAABBTree< TPayloadType, TLeafType, bMutable, T, StorageTraits > &AABBTree) |
| |
| FORCEINLINE_DEBUGGABLE uint32 | InterleaveWithZeros (uint16 input) |
| |
| FORCEINLINE_DEBUGGABLE int64 | GetDirtyCellIndexFromWorldCoordinate (FReal Coordinate, FReal DirtyElementGridCellSizeInv) |
| |
| FORCEINLINE_DEBUGGABLE int32 | HashCell (int64 XCell, int64 YCell) |
| |
| FORCEINLINE_DEBUGGABLE int32 | HashCoordinates (FReal Xcoordinate, FReal Ycoordinate, FReal DirtyElementGridCellSizeInv) |
| |
| template<typename T > |
| FORCEINLINE_DEBUGGABLE bool | TooManyOverlapQueryCells (const TAABB< T, 3 > &AABB, FReal DirtyElementGridCellSizeInv, int32 MaximumOverlap) |
| |
| template<typename T , typename FunctionType > |
| FORCEINLINE_DEBUGGABLE bool | DoForOverlappedCells (const TAABB< T, 3 > &AABB, FReal DirtyElementGridCellSize, FReal DirtyElementGridCellSizeInv, FunctionType Function) |
| |
| template<typename T , typename FunctionType > |
| FORCEINLINE_DEBUGGABLE bool | DoForOverlappedCellsExclude (const TAABB< T, 3 > &AABB, const TAABB< T, 3 > &AABBExclude, FReal DirtyElementGridCellSize, FReal DirtyElementGridCellSizeInv, FunctionType Function) |
| |
| FORCEINLINE_DEBUGGABLE int32 | FindInSortedArray (const TArray< int32 > &Array, int32 FindValue, int32 StartIndex, int32 EndIndex) |
| |
| FORCEINLINE_DEBUGGABLE int32 | FindInsertIndexIntoSortedArray (const TArray< int32 > &Array, int32 FindValue, int32 StartIndex, int32 EndIndex) |
| |
| FORCEINLINE_DEBUGGABLE bool | InsertValueIntoSortedSubArray (TArray< int32 > &Array, int32 Value, int32 StartIndex, int32 Count) |
| |
| FORCEINLINE_DEBUGGABLE bool | DeleteValueFromSortedSubArray (TArray< int32 > &Array, int32 Value, int32 StartIndex, int32 Count) |
| |
| FORCEINLINE_DEBUGGABLE bool | TooManySweepQueryCells (const TVec3< FReal > &QueryHalfExtents, const FVec3 &StartPoint, const FVec3 &Dir, FReal Length, FReal DirtyElementGridCellSizeInv, int32 DirtyElementMaxGridCellQueryCount) |
| |
| template<typename FunctionType > |
| FORCEINLINE_DEBUGGABLE void | DoForSweepIntersectCellsImp (const FReal QueryHalfExtentsX, const FReal QueryHalfExtentsY, const FReal StartPointX, const FReal StartPointY, const FReal RayX, const FReal RayY, FReal DirtyElementGridCellSize, FReal DirtyElementGridCellSizeInv, FunctionType InFunction) |
| |
| template<typename FunctionType > |
| void | DoForSweepIntersectCells (const FVec3 QueryHalfExtents, const FVec3 &StartPoint, const FVec3 &Dir, FReal Length, FReal DirtyElementGridCellSize, FReal DirtyElementGridCellSizeInv, FunctionType InFunction) |
| |
| FORCEINLINE_DEBUGGABLE bool | TooManyRaycastQueryCells (const FVec3 &StartPoint, const FVec3 &Dir, const FReal Length, FReal DirtyElementGridCellSizeInv, int32 DirtyElementMaxGridCellQueryCount) |
| |
| template<typename FunctionType > |
| FORCEINLINE_DEBUGGABLE void | DoForRaycastIntersectCells (const FVec3 &StartPoint, const FVec3 &Dir, FReal Length, FReal DirtyElementGridCellSize, FReal DirtyElementGridCellSizeInv, FunctionType InFunction) |
| |
| template<typename TPayloadType , class T , int d> |
| FChaosArchive & | operator<< (FChaosArchive &Ar, TBVCellElement< TPayloadType, T, d > &Elem) |
| |
| template<typename T , int d> |
| FArchive & | operator<< (FArchive &Ar, TBVPayloadInfo< T, d > &Info) |
| |
| template<typename TPayloadType , class T , int d> |
| FArchive & | operator<< (FArchive &Ar, TBoundingVolume< TPayloadType, T, d > &BoundingVolume) |
| |
| template<typename TPayloadType , class T , int d> |
| FArchive & | operator<< (FChaosArchive &Ar, TBoundingVolume< TPayloadType, T, d > &BoundingVolume) |
| |
| template<typename T , int d> |
| FArchive & | operator<< (FArchive &Ar, TBVHNode< T, d > &LeafNode) |
| |
| template<class OBJECT_ARRAY , class LEAF_TYPE , class T , int d> |
| FArchive & | operator<< (FArchive &Ar, TBoundingVolumeHierarchy< OBJECT_ARRAY, LEAF_TYPE, T, d > &BVH) |
| |
| FVec3 | ComputeBoundsThickness (FVec3 Vel, FReal Dt, FReal MinBoundsThickness, FReal MaxBoundsThickness, FReal BoundsVelocityInflation) |
| |
| FVec3 | ComputeBoundsThickness (const TPBDRigidParticles< FReal, 3 > &InParticles, FReal Dt, int32 BodyIndex, FReal MinBoundsThickness, FReal BoundsVelocityInflation) |
| |
| template<typename THandle > |
| FVec3 | ComputeBoundsThickness (const THandle &ParticleHandle, FReal Dt, FReal MinBoundsThickness, FReal BoundsVelocityInflation) |
| |
| template<class OBJECT_ARRAY > |
| bool | HasBoundingBox (const OBJECT_ARRAY &Objects, const int32 i) |
| |
| template<class T , int d> |
| bool | HasBoundingBox (const TParticles< T, d > &Objects, const int32 i) |
| |
| template<class T , int d> |
| bool | HasBoundingBox (const TGeometryParticles< T, d > &Objects, const int32 i) |
| |
| template<class T , int d> |
| bool | HasBoundingBox (const TPBDRigidParticles< T, d > &Objects, const int32 i) |
| |
| template<typename Generic > |
| bool | HasBoundingBox (const Generic &Item) |
| |
| template<typename T , int d, bool bPersistent> |
| bool | HasBoundingBox (const TGeometryParticleHandleImp< T, d, bPersistent > &Handle) |
| |
| template<typename T , int d, bool bPersistent> |
| bool | HasBoundingBox (const TPBDRigidParticleHandleImp< T, d, bPersistent > &Handle) |
| |
| template<class OBJECT_ARRAY , class T , int d> |
| const TAABB< T, d > | GetWorldSpaceBoundingBox (const OBJECT_ARRAY &Objects, const int32 i, const TMap< int32, TAABB< T, d > > &WorldSpaceBoxes) |
| |
| template<class T , int d> |
| const TAABB< T, d > & | GetWorldSpaceBoundingBox (const TParticles< T, d > &Objects, const int32 i, const TMap< int32, TAABB< T, d > > &WorldSpaceBoxes) |
| |
| template<class T , int d> |
| const TAABB< T, d > & | GetWorldSpaceBoundingBox (const TGeometryParticles< T, d > &Objects, const int32 i, const TMap< int32, TAABB< T, d > > &WorldSpaceBoxes) |
| |
| template<class T , int d> |
| const TAABB< T, d > | GetWorldSpaceBoundingBox (const TPBDRigidParticles< T, d > &Objects, const int32 i, const TMap< int32, TAABB< T, d > > &WorldSpaceBoxes) |
| |
| template<class T , int d> |
| TAABB< T, d > | ComputeWorldSpaceBoundingBox (const TParticles< T, d > &Objects, const int32 i, bool bUseVelocity=false, T Dt=0) |
| |
| template<class T , int d> |
| TAABB< T, d > | ComputeWorldSpaceBoundingBox (const TGeometryParticles< T, d > &Objects, const int32 i, bool bUseVelocity=false, T Dt=0) |
| |
| template<class T , int d> |
| TAABB< T, d > | ComputeWorldSpaceBoundingBox (const TPBDRigidParticles< T, d > &Objects, const int32 i, bool bUseVelocity=false, T Dt=0) |
| |
| template<typename THandle , typename T , int d, bool bPersistent> |
| TAABB< T, d > | ComputeWorldSpaceBoundingBoxForHandle (const THandle &Handle) |
| |
| template<typename T , int d, bool bPersistent> |
| TAABB< T, d > | ComputeWorldSpaceBoundingBox (const TGeometryParticleHandleImp< T, d, bPersistent > &Handle, bool bUseVelocity=false, T Dt=0) |
| |
| template<typename T , int d, bool bPersistent> |
| TAABB< T, d > | ComputeWorldSpaceBoundingBox (const TPBDRigidParticleHandleImp< T, d, bPersistent > &Handle, bool bUseVelocity=false, T Dt=0) |
| |
| template<typename T , typename GenericEntry > |
| TAABB< T, 3 > | ComputeWorldSpaceBoundingBox (const GenericEntry &InEntry, bool bUseVelocity=false, T Dt=0) |
| |
| template<typename OBJECT_ARRAY , typename T , int d> |
| const TAABB< T, d > | ComputeGlobalBoxAndSplitAxis (const OBJECT_ARRAY &Objects, const TArray< int32 > &AllObjects, const TMap< int32, TAABB< T, d > > &WorldSpaceBoxes, bool bAllowMultipleSplitting, int32 &OutAxis) |
| |
| template<typename T , int d> |
| const TAABB< T, d > | ComputeGlobalBoxAndSplitAxis (const TParticles< T, d > &Objects, const TArray< int32 > &AllObjects, const TMap< int32, TAABB< T, d > > &WorldSpaceBoxes, bool bAllowMultipleSplitting, int32 &OutAxis) |
| |
| template<class OBJECT_ARRAY , class T , int d> |
| void | ComputeAllWorldSpaceBoundingBoxes (const OBJECT_ARRAY &Objects, const TArray< int32 > &AllObjects, const bool bUseVelocity, const T Dt, TMap< int32, TAABB< T, d > > &WorldSpaceBoxes) |
| |
| template<class T , int d> |
| void | ComputeAllWorldSpaceBoundingBoxes (const TParticles< T, d > &Objects, const TArray< int32 > &AllObjects, const bool bUseVelocity, const T Dt, TMap< int32, TAABB< T, d > > &WorldSpaceBoxes) |
| |
| template<class T , int d> |
| void | ComputeAllWorldSpaceBoundingBoxes (const TGeometryParticles< T, d > &Objects, const TArray< int32 > &AllObjects, const bool bUseVelocity, const T Dt, TMap< int32, TAABB< T, d > > &WorldSpaceBoxes) |
| |
| template<class T , int d> |
| void | ComputeAllWorldSpaceBoundingBoxes (const TPBDRigidParticles< T, d > &Objects, const TArray< int32 > &AllObjects, const bool bUseVelocity, const T Dt, TMap< int32, TAABB< T, d > > &WorldSpaceBoxes) |
| |
| template<typename ParticleView , typename T , int d> |
| TEnableIf< TModels_V< CParticleView, ParticleView > >::Type | ComputeAllWorldSpaceBoundingBoxes (const ParticleView &Particles, const TArray< bool > &RequiresBounds, const bool bUseVelocity, const T Dt, TArray< TAABB< T, d > > &WorldSpaceBoxes) |
| |
| template<typename ParticleView , typename T , int d> |
| TEnableIf<!TModels_V< CParticleView, ParticleView > >::Type | ComputeAllWorldSpaceBoundingBoxes (const ParticleView &Particles, const TArray< bool > &RequiresBounds, const bool bUseVelocity, const T Dt, TArray< TAABB< T, d > > &WorldSpaceBoxes) |
| |
| template<class OBJECT_ARRAY > |
| int32 | GetObjectCount (const OBJECT_ARRAY &Objects) |
| |
| template<class T , int d> |
| int32 | GetObjectCount (const TParticles< T, d > &Objects) |
| |
| template<class T , int d> |
| int32 | GetObjectCount (const TGeometryParticles< T, d > &Objects) |
| |
| template<class T , int d> |
| int32 | GetObjectCount (const TPBDRigidParticles< T, d > &Objects) |
| |
| template<class OBJECT_ARRAY > |
| bool | IsDisabled (const OBJECT_ARRAY &Objects, const uint32 Index) |
| |
| template<class T , int d> |
| bool | IsDisabled (const TGeometryParticles< T, d > &Objects, const uint32 Index) |
| |
| template<class T , int d> |
| bool | IsDisabled (const TPBDRigidParticles< T, d > &Objects, const uint32 Index) |
| |
| FORCEINLINE FChaosArchive & | operator<< (FChaosArchive &Ar, FBVHParticles &Value) |
| |
| FORCEINLINE FArchive & | operator<< (FArchive &Ar, FBVHParticles &Value) |
| |
| template<typename T , typename TAllocator > |
| FChaosArchive & | operator<< (FChaosArchive &Ar, TArray< T, TAllocator > &Array) |
| |
| FORCEINLINE FChaosArchive & | operator<< (FChaosArchive &Ar, Chaos::FReal &Real) |
| |
| template<typename T > |
| constexpr TEnableIf< TModels_V< CSerializablePtr, T >, bool >::Type | IsSerializablePtr () |
| |
| template<typename T > |
| TEnableIf< IsSerializablePtr< T >(), FChaosArchive & >::Type | operator<< (FChaosArchive &Ar, TRefCountPtr< T > &Obj) |
| |
| template<typename T > |
| TEnableIf< IsSerializablePtr< T >(), FChaosArchive & >::Type | operator<< (FChaosArchive &Ar, TUniquePtr< T > &Obj) |
| |
| template<typename T , ESPMode Mode> |
| TEnableIf< IsSerializablePtr< T >(), FChaosArchive & >::Type | operator<< (FChaosArchive &Ar, TSharedPtr< T, Mode > &Obj) |
| |
| template<typename T > |
| TEnableIf< IsSerializablePtr< T >(), FChaosArchive & >::Type | operator<< (FChaosArchive &Ar, TSerializablePtr< T > &Serializable) |
| |
| template<typename T > |
| TEnableIf< T::AlwaysSerializable, FChaosArchive & >::Type | operator<< (FChaosArchive &Ar, T *&Obj) |
| |
| template<typename T , typename TAllocator > |
| TEnableIf< T::AlwaysSerializable, FChaosArchive & >::Type | operator<< (FChaosArchive &Ar, TArray< T *, TAllocator > &Array) |
| |
| template<typename T , typename TAllocator > |
| TEnableIf< IsSerializablePtr< T >(), FChaosArchive & >::Type | operator<< (FChaosArchive &Ar, TArray< TRefCountPtr< T >, TAllocator > &Array) |
| |
| template<typename T , typename TAllocator , typename TAllocator2 > |
| TEnableIf< IsSerializablePtr< T >(), FChaosArchive & >::Type | operator<< (FChaosArchive &Ar, TArray< TArray< TRefCountPtr< T >, TAllocator >, TAllocator2 > &Array) |
| |
| template<typename T , typename TAllocator > |
| TEnableIf< IsSerializablePtr< T >(), FChaosArchive & >::Type | operator<< (FChaosArchive &Ar, TArray< TUniquePtr< T >, TAllocator > &Array) |
| |
| template<typename T , typename TAllocator , typename TAllocator2 > |
| TEnableIf< IsSerializablePtr< T >(), FChaosArchive & >::Type | operator<< (FChaosArchive &Ar, TArray< TArray< TUniquePtr< T >, TAllocator >, TAllocator2 > &Array) |
| |
| template<typename T , typename TAllocator , ESPMode Mode> |
| TEnableIf< IsSerializablePtr< T >(), FChaosArchive & >::Type | operator<< (FChaosArchive &Ar, TArray< TSharedPtr< T, Mode >, TAllocator > &Array) |
| |
| template<typename T , typename TAllocator , typename TAllocator2 , ESPMode Mode> |
| TEnableIf< IsSerializablePtr< T >(), FChaosArchive & >::Type | operator<< (FChaosArchive &Ar, TArray< TArray< TSharedPtr< T, Mode >, TAllocator >, TAllocator2 > &Array) |
| |
| template<typename T , typename TAllocator > |
| TEnableIf< IsSerializablePtr< T >(), FChaosArchive & >::Type | operator<< (FChaosArchive &Ar, TArray< TSerializablePtr< T >, TAllocator > &Array) |
| |
| template<typename T , typename TAllocator , typename TAllocator2 > |
| TEnableIf< IsSerializablePtr< T >(), FChaosArchive & >::Type | operator<< (FChaosArchive &Ar, TArray< TArray< TSerializablePtr< T >, TAllocator >, TAllocator2 > &Array) |
| |
| | ENUM_CLASS_FLAGS (EUpdateClusterUnionPropertiesFlags) |
| |
| template<typename TParticle > |
| void | TransferClusterUnionShapeData (const TUniquePtr< Chaos::FPerShapeData > &ShapeData, TParticle *TemplateParticle, const TUniquePtr< Chaos::FPerShapeData > &TemplateShape, int32 ActorId, int32 ComponentId) |
| |
| template<typename TClusterParticle , typename TParticle , typename TLambda > |
| void | ModifyAdditionOfChildrenToClusterUnionGeometry (TClusterParticle *ClusterParticle, const TArray< TParticle * > &Particles, int32 ActorId, int32 ComponentId, TLambda &&Func) |
| |
| template<typename TClusterParticle , typename TParticle > |
| void | RemoveParticlesFromClusterUnionGeometry (TClusterParticle *ClusterParticle, const TArray< TParticle * > &ShapeParticles, TArray< TParticle * > &AllChildParticles) |
| |
| bool | CollisionVisitorShouldVisit (const FPBDCollisionConstraint *Constraint, const ECollisionVisitorFlags VisitFlags) |
| |
| bool | ParticlePairBroadPhaseFilter (const FGeometryParticleHandle *Particle1, const FGeometryParticleHandle *Particle2, const FIgnoreCollisionManager *IgnoreCollisionManager) |
| |
| bool | IsFilterValid (const FCollisionFilterData &Filter) |
| |
| bool | FilterHasSimEnabled (const FPerShapeData *Shape) |
| |
| bool | DoCollide (EImplicitObjectType ImplicitType, const FPerShapeData *Shape) |
| |
| bool | DoCollide (EImplicitObjectType Implicit0Type, const FPerShapeData *Shape0, EImplicitObjectType Implicit1Type, const FPerShapeData *Shape1) |
| |
| bool | ShapePairNarrowPhaseFilter (EImplicitObjectType Implicit0Type, const FPerShapeData *Shape0, EImplicitObjectType Implicit1Type, const FPerShapeData *Shape1) |
| |
| uint32 | OrderIndependentHashCombine (const uint32 A, const uint32 B) |
| |
| bool | AreParticlesInPreferredOrder (const FGeometryParticleHandle *Particle0, const FGeometryParticleHandle *Particle1) |
| |
| bool | ShouldSwapParticleOrder (const bool bIsDynamicOrSleeping0, const bool bIsDynamicOrSleeping1, const bool bIsParticle0Preferred) |
| |
| bool | ShouldSwapParticleOrder (const FGeometryParticleHandle *Particle0, const FGeometryParticleHandle *Particle1) |
| |
| class | UE_DEPRECATED (5.4, "No longer used") FCollisionParticlePairConstraintKey |
| |
| | ENUM_CLASS_FLAGS (ECollisionVisitorFlags) |
| |
| template<typename T > |
| constexpr T | InvalidPhi () |
| |
| bool | GetTriangleEdgeVerticesAtPosition (const FVec3 &Position, const FVec3 VertexA, const FVec3 VertexB, const FVec3 VertexC, int32 &OutEdgeVertexIndexA, int32 &OutEdgeVertexIndexB, const FReal BaryCentricTolerance=UE_KINDA_SMALL_NUMBER) |
| |
| bool | GetTriangleEdgeVerticesAtPosition (const FVec3 &Position, const FVec3 Vertices[], int32 &OutEdgeVertexIndexA, int32 &OutEdgeVertexIndexB, const FReal BaryCentricTolerance=UE_KINDA_SMALL_NUMBER) |
| |
| template<typename ConvexType > |
| void | ProjectOntoAxis (const ConvexType &Convex, const FVec3 &AxisN, const FVec3 &AxisX, FReal &PMin, FReal &PMax, int32 &MinVertexIndex, int32 &MaxVertexIndex, TArrayView< FReal > *VertexDs) |
| |
| void | ProjectOntoAxis (const FTriangle &Triangle, const FVec3 &AxisN, const FVec3 &AxisX, FReal &PMin, FReal &PMax, int32 &MinVertexIndex, int32 &MaxVertexIndex) |
| |
| void | ProjectOntoAxis (const FCapsule &Capsule, const FVec3 &AxisN, const FVec3 &AxisX, FReal &PMin, FReal &PMax, int32 &MinVertexIndex, int32 &MaxVertexIndex) |
| |
| template<typename ConvexType > |
| CHAOS_API void | ConstructConvexTriangleOneShotManifold2 (const ConvexType &Convex, const FTriangle &Triangle, const FReal CullDistance, FContactPointManifold &OutContactPoints) |
| |
| template<> |
| bool | PrePreFilterHelper (const FAccelerationStructureHandle &Payload, const Private::FSimOverlapVisitor &Visitor) |
| |
| | ENUM_CLASS_FLAGS (EFilterFlags) |
| |
| const TCHAR * | LexToString (EFilterFlags FilterFlag) |
| |
| FComplex | operator* (const FReal Other, const FComplex Complex) |
| |
| constexpr float | MegaPascalToKgPerCmS2 (float MegaPascals) |
| |
| template<typename T > |
| FORCEINLINE const TVec3< T > | MinkowskiVert (const TVec3< T > *VertsABuffer, const TVec3< T > *VertsBBuffer, const int32 Idx) |
| |
| template<typename T > |
| bool | InitializeEPA (TArray< TVec3< T > > &VertsA, TArray< TVec3< T > > &VertsB, TFunctionRef< TVector< T, 3 >(const TVec3< T > &V)> SupportA, TFunctionRef< TVector< T, 3 >(const TVec3< T > &V)> SupportB, TEPAWorkingArray< TEPAEntry< T > > &OutEntries, TVec3< T > &OutTouchNormal) |
| |
| template<typename T , typename SupportALambda , typename SupportBLambda > |
| bool | InitializeEPA (TArray< TVec3< T > > &VertsA, TArray< TVec3< T > > &VertsB, const SupportALambda &SupportA, const SupportBLambda &SupportB, TEPAWorkingArray< TEPAEntry< T > > &OutEntries, TVec3< T > &OutTouchNormal) |
| |
| template<typename T > |
| void | EPAComputeVisibilityBorder (TEPAWorkingArray< TEPAEntry< T > > &Entries, int32 EntryIdx, const TVec3< T > &W, TEPAWorkingArray< FEPAFloodEntry > &OutBorderEdges, TEPAWorkingArray< FEPAFloodEntry > &ToVisitStack) |
| |
| template<typename T > |
| void | ComputeEPAResults (const TVec3< T > *VertsA, const TVec3< T > *VertsB, const TEPAEntry< T > &Entry, T &OutPenetration, TVec3< T > &OutDir, TVec3< T > &OutA, TVec3< T > &OutB) |
| |
| const bool | IsEPASuccess (EEPAResult EPAResult) |
| |
| template<typename T , typename TSupportA , typename TSupportB > |
| EEPAResult | EPA (TArray< TVec3< T > > &VertsABuffer, TArray< TVec3< T > > &VertsBBuffer, const TSupportA &SupportA, const TSupportB &SupportB, T &OutPenetration, TVec3< T > &OutDir, TVec3< T > &WitnessA, TVec3< T > &WitnessB, const FReal Eps=1.e-2f) |
| |
| template<typename T > |
| EEPAResult | EPA (TArray< TVec3< T > > &VertsABuffer, TArray< TVec3< T > > &VertsBBuffer, const TFunctionRef< TVector< T, 3 >(const TVec3< T > &V)> &SupportA, const TFunctionRef< TVector< T, 3 >(const TVec3< T > &V)> &SupportB, T &OutPenetration, TVec3< T > &OutDir, TVec3< T > &WitnessA, TVec3< T > &WitnessB, const FReal EpsRel=1.e-2f) |
| |
| FORCEINLINE const VectorRegister4Float | VectorMinkowskiVert (const VectorRegister4Float *VertsABuffer, const VectorRegister4Float *VertsBBuffer, const int32 Idx) |
| |
| template<typename SupportALambda , typename SupportBLambda > |
| bool | VectorInitializeEPA (TArray< VectorRegister4Float > &VertsA, TArray< VectorRegister4Float > &VertsB, const SupportALambda &SupportA, const SupportBLambda &SupportB, TEPAWorkingArray< VectorTEPAEntry > &OutEntries, VectorRegister4Float &OutTouchNormal) |
| |
| FORCEINLINE_DEBUGGABLE void | VectorEPAComputeVisibilityBorder (TEPAWorkingArray< VectorTEPAEntry > &Entries, int32 EntryIdx, const VectorRegister4Float &W, TEPAWorkingArray< FEPAFloodEntry > &OutBorderEdges, TEPAWorkingArray< FEPAFloodEntry > &ToVisitStack) |
| |
| FORCEINLINE_DEBUGGABLE void | VectorComputeEPAResults (const VectorRegister4Float *VertsA, const VectorRegister4Float *VertsB, const VectorTEPAEntry &Entry, VectorRegister4Float &OutPenetration, VectorRegister4Float &OutDir, VectorRegister4Float &OutA, VectorRegister4Float &OutB, EEPAResult &ResultStatus) |
| |
| template<typename TSupportA , typename TSupportB > |
| EEPAResult | VectorEPA (TArray< VectorRegister4Float > &VertsABuffer, TArray< VectorRegister4Float > &VertsBBuffer, const TSupportA &SupportA, const TSupportB &SupportB, VectorRegister4Float &OutPenetration, VectorRegister4Float &OutDir, VectorRegister4Float &WitnessA, VectorRegister4Float &WitnessB) |
| |
| template<int d> |
| bool | IsPowerOfTwo (const TVector< int32, d > &Counts) |
| |
| template<typename TItemArray > |
| void | MoveArrayItemsDown (TItemArray &Items, const int32 BeginIndex, const int32 EndIndex, const int32 DownShift) |
| |
| template<typename TItemArray > |
| void | RemoveArrayItemsAtSortedIndices (TItemArray &Items, const TArrayView< const int32 > &SortedIndicesToRemove) |
| |
| void CHAOS_API | PhysicsParallelForRange (int32 InNum, TFunctionRef< void(int32, int32)> InCallable, const int32 MinBatchSize, bool bForceSingleThreaded=false) |
| |
| void CHAOS_API | PhysicsParallelFor (int32 InNum, TFunctionRef< void(int32)> InCallable, bool bForceSingleThreaded=false) |
| |
| void CHAOS_API | InnerPhysicsParallelForRange (int32 InNum, TFunctionRef< void(int32, int32)> InCallable, const int32 MinBatchSize, bool bForceSingleThreaded=false) |
| |
| void CHAOS_API | InnerPhysicsParallelFor (int32 InNum, TFunctionRef< void(int32)> InCallable, bool bForceSingleThreaded=false) |
| |
| void CHAOS_API | PhysicsParallelForWithContext (int32 InNum, TFunctionRef< int32(int32, int32)> InContextCreator, TFunctionRef< void(int32, int32)> InCallable, bool bForceSingleThreaded=false) |
| |
| bool CHAOS_API | ShouldExecuteTasksInParallel (int32 InTaskNum) |
| |
| FORCEINLINE uint32 | GetTypeHash (const FParticleID &Unique) |
| |
| template<typename T , int d, EGeometryParticlesSimType SimType> |
| FChaosArchive & | operator<< (FChaosArchive &Ar, TGeometryParticlesImp< T, d, SimType > &Particles) |
| |
| uint32 | GetTypeHash (const FSpatialAccelerationIdx &Idx) |
| |
| FArchive & | operator<< (FArchive &Ar, FSpatialAccelerationIdx &Idx) |
| |
| FORCEINLINE uint32 | GetTypeHash (const FUniqueIdx &Unique) |
| |
| | ENUM_CLASS_FLAGS (EGeometryParticleListMask) |
| |
| template<typename QueryGeometry > |
| bool | OverlapQuery (const FImplicitObject &A, const FRigidTransform3 &ATM, const QueryGeometry &B, const FRigidTransform3 &BTM, const FReal Thickness=0, FMTDInfo *OutMTD=nullptr) |
| |
| template<EImplicitObjectType SweptType> |
| UE_INTERNAL bool | TryRunSpecializedSweep (const FImplicitObject &SweptShape, const FRigidTransform3 &SweptShapeTM, const FImplicitObject &TestGeom, const FRigidTransform3 &TestGeomTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, bool &bOutResult, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal) |
| |
| template<typename SweptGeometry > |
| bool | SweepQuery (const FImplicitObject &A, const FRigidTransform3 &ATM, const SweptGeometry &B, const FRigidTransform3 &BTM, const FVec3 &Dir, const FReal Length, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal, const FReal Thickness, const bool bComputeMTD) |
| |
| bool | SweepQuery (const FImplicitObject &A, const FRigidTransform3 &ATM, const FImplicitObject &B, const FRigidTransform3 &BTM, const FVec3 &Dir, const FReal Length, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal, const FReal Thickness, const bool bComputeMTD) |
| |
| template<typename ConvexTypeA , typename ConvexTypeB > |
| bool | CheckGJKIterationLimit (const int32 NumIterations, const ConvexTypeA &A, const ConvexTypeB &B) |
| |
| template<typename TGeometryA , typename TGeometryB , typename T > |
| void | CalculateQueryMargins (const TGeometryA &A, const TGeometryB &B, T &outMarginA, T &outMarginB) |
| |
| template<typename T , typename TGeometryA , typename TGeometryB > |
| bool | GJKIntersection (const TGeometryA &RESTRICT A, const TGeometryB &RESTRICT B, const TRigidTransform< T, 3 > &BToATM, const T InThicknessA=0, const TVector< T, 3 > &InitialDir=TVector< T, 3 >(1, 0, 0)) |
| |
| template<typename TGeometryA , typename TGeometryB > |
| bool | GJKIntersectionSimd (const TGeometryA &RESTRICT A, const TGeometryB &RESTRICT B, const VectorRegister4Float &Translation, const VectorRegister4Float &Rotation, FRealSingle InThicknessA, const VectorRegister4Float &InitialDir) |
| |
| bool | GJKIntersectionSimd (const FGeomGJKHelperSIMD &RESTRICT A, const FGeomGJKHelperSIMD &RESTRICT B, FRealSingle EpsilonScale, const VectorRegister4Float &Translation, const VectorRegister4Float &Rotation, FRealSingle InThicknessA, const VectorRegister4Float &InitialDir) |
| |
| template<typename T > |
| bool | GJKIntersection (const FGeomGJKHelperSIMD &RESTRICT A, const FGeomGJKHelperSIMD &RESTRICT B, FReal EpsilonScale, const TRigidTransform< T, 3 > &BToATM, const T InThicknessA=0, const TVector< T, 3 > &InitialDir=TVector< T, 3 >(1, 0, 0)) |
| |
| template<typename TGeometryA , typename TGeometryB > |
| bool | GJKIntersectionSameSpaceSimd (const TGeometryA &A, const TGeometryB &B, FRealSingle InThicknessA, const VectorRegister4Float &InitialDir) |
| |
| template<typename T , typename TGeometryA , typename TGeometryB > |
| bool | GJKPenetrationWarmStartable (const TGeometryA &A, const TGeometryB &B, const TRigidTransform< T, 3 > &BToATM, T &OutPenetration, TVec3< T > &OutClosestA, TVec3< T > &OutClosestB, TVec3< T > &OutNormalA, TVec3< T > &OutNormalB, int32 &OutVertexA, int32 &OutVertexB, TGJKSimplexData< T > &InOutSimplexData, T &OutMaxSupportDelta, const T Epsilon=T(1.e-3), const T EPAEpsilon=T(1.e-2)) |
| | Calculate the penetration data for two shapes using GJK and a warm-start buffer.
|
| |
| template<typename T , typename TGeometryA , typename TGeometryB > |
| bool | GJKPenetrationWarmStartable2 (const TGeometryA &A, const TGeometryB &B, const TRigidTransform< T, 3 > &BToATM, T &OutPenetration, TVec3< T > &OutClosestA, TVec3< T > &OutClosestB, TVec3< T > &OutNormalA, TVec3< T > &OutNormalB, int32 &OutVertexA, int32 &OutVertexB, TGJKSimplexData< T > &InOutSimplexData, T &OutMaxSupportDelta, const T Epsilon=T(1.e-3), const T EPAEpsilon=T(1.e-2)) |
| |
| template<typename T , typename TGeometryA , typename TGeometryB > |
| bool | GJKPenetrationSameSpace (const TGeometryA &A, const TGeometryB &B, T &OutPenetration, TVec3< T > &OutClosestA, TVec3< T > &OutClosestB, TVec3< T > &OutNormal, int32 &OutVertexA, int32 &OutVertexB, T &OutMaxSupportDelta, const TVec3< T > &InitialDir, const T Epsilon=T(1.e-3), const T EPAEpsilon=T(1.e-2)) |
| | Calculate the penetration data for two shapes using GJK, assuming both shapes are already in the same space. This is intended for use with triangles which have been transformed into the space of the convex shape.
|
| |
| template<typename T , typename TGeometryA , typename TGeometryB > |
| bool | GJKPenetrationSameSpace2 (const TGeometryA &A, const TGeometryB &B, T &OutPenetration, TVec3< T > &OutClosestA, TVec3< T > &OutClosestB, TVec3< T > &OutNormal, int32 &OutVertexA, int32 &OutVertexB, T &OutMaxSupportDelta, const TVec3< T > &InitialDir, const T Epsilon=T(1.e-3), const T EPAEpsilon=T(1.e-2)) |
| |
| template<bool bNegativePenetrationAllowed = false, typename T > |
| bool | GJKPenetrationImpl (const FGeomGJKHelper &A, const FGeomGJKHelper &B, const TRigidTransform< T, 3 > &BToATM, T &OutPenetration, TVec3< T > &OutClosestA, TVec3< T > &OutClosestB, TVec3< T > &OutNormal, int32 &OutClosestVertexIndexA, int32 &OutClosestVertexIndexB, const T InThicknessA=0.0f, const T InThicknessB=0.0f, const TVector< T, 3 > &InitialDir=TVector< T, 3 >(1, 0, 0), const T Epsilon=1.e-3f) |
| |
| template<bool bNegativePenetrationAllowed = false, typename T , typename TGeometryA , typename TGeometryB > |
| bool | GJKPenetration (const TGeometryA &A, const TGeometryB &B, const TRigidTransform< T, 3 > &BToATM, T &OutPenetration, TVec3< T > &OutClosestA, TVec3< T > &OutClosestB, TVec3< T > &OutNormal, int32 &OutClosestVertexIndexA, int32 &OutClosestVertexIndexB, const T InThicknessA=0.0f, const T InThicknessB=0.0f, const TVector< T, 3 > &InitialDir=TVector< T, 3 >(1, 0, 0), const T Epsilon=1.e-3f) |
| |
| template<typename T , typename TGeometryA , typename TGeometryB > |
| bool | GJKRaycast (const TGeometryA &A, const TGeometryB &B, const TRigidTransform< T, 3 > &StartTM, const TVector< T, 3 > &RayDir, const T RayLength, T &OutTime, TVector< T, 3 > &OutPosition, TVector< T, 3 > &OutNormal, const T ThicknessA=0, const TVector< T, 3 > &InitialDir=TVector< T, 3 >(1, 0, 0), const T ThicknessB=0) |
| |
| template<typename T , EGJKTestSpace TestSpace = EGJKTestSpace::ALocalSpace> |
| bool | GJKRaycast2ImplSimd (const FGeomGJKHelperSIMD &RESTRICT A, const FGeomGJKHelperSIMD &RESTRICT B, const T &BToARotation, const T &StartPoint, const T &RayDir, FRealSingle RayLength, FRealSingle &OutTime, T &OutPosition, T &OutNormal, bool bComputeMTD, const T &InitialDir) |
| |
| bool | GJKRaycast2Impl (const FGeomGJKHelperSIMD &A, const FGeomGJKHelperSIMD &B, const TRigidTransform< FReal, 3 > &StartTM, const TVector< FReal, 3 > &RayDir, const FReal RayLength, FReal &OutTime, TVector< FReal, 3 > &OutPosition, TVector< FReal, 3 > &OutNormal, const FReal GivenThicknessA, bool bComputeMTD, const TVector< FReal, 3 > &InitialDir, const FReal GivenThicknessB) |
| |
| template<typename T = FReal, typename TGeometryA , typename TGeometryB > |
| bool | GJKRaycast2 (const TGeometryA &A, const TGeometryB &B, const TRigidTransform< T, 3 > &StartTM, const TVector< T, 3 > &RayDir, const T RayLength, T &OutTime, TVector< T, 3 > &OutPosition, TVector< T, 3 > &OutNormal, const T GivenThicknessA=0, bool bComputeMTD=false, const TVector< T, 3 > &InitialDir=TVector< T, 3 >(1, 0, 0), const T GivenThicknessB=0) |
| |
| bool | GJKRaycast2SameSpaceImpl (const FGeomGJKHelperSIMD &A, const FGeomGJKHelperSIMD &B, const TVector< FReal, 3 > &Start, const TVector< FReal, 3 > &RayDir, const FReal RayLength, FReal &OutTime, TVector< FReal, 3 > &OutPosition, TVector< FReal, 3 > &OutNormal, const FReal GivenThicknessA, bool bComputeMTD, const TVector< FReal, 3 > &InitialDir, const FReal GivenThicknessB) |
| |
| template<typename T = FReal, typename TGeometryA , typename TGeometryB > |
| bool | GJKRaycast2SameSpace (const TGeometryA &A, const TGeometryB &B, const TVector< T, 3 > &Start, const TVector< T, 3 > &RayDir, const T RayLength, T &OutTime, TVector< T, 3 > &OutPosition, TVector< T, 3 > &OutNormal, const T GivenThicknessA=0, bool bComputeMTD=false, const TVector< T, 3 > &InitialDir=TVector< T, 3 >(1, 0, 0), const T GivenThicknessB=0) |
| |
| template<typename T , typename TGeometryA , typename TGeometryB > |
| TVector< T, 3 > | GJKDistanceInitialV (const TGeometryA &A, const TGeometryB &B, const TRigidTransform< T, 3 > &BToATM) |
| |
| template<typename T , typename TGeometryA , typename TGeometryB > |
| TVector< T, 3 > | GJKDistanceInitialVFromRelativeTransform (const TGeometryA &A, const TGeometryB &B, const TRigidTransform< T, 3 > &BToATM) |
| |
| template<typename T , typename TGeometryA , typename TGeometryB > |
| TVec3< T > | GJKDistanceInitialVFromDirection (const TGeometryA &A, const TGeometryB &B, TVec3< T > Direction) |
| |
| template<typename T , typename GJKShapeTypeA , typename GJKShapeTypeB > |
| EGJKDistanceResult | GJKDistance (const GJKShapeTypeA &A, const GJKShapeTypeB &B, const TVec3< T > &InitialV, T &OutDistance, TVec3< T > &OutNearestA, TVec3< T > &OutNearestB, TVec3< T > &OutNormalA, const T Epsilon=(T) 1e-3, const int32 MaxIts=16) |
| |
| template<typename T_SHAPE > |
| TGJKShape< T_SHAPE > | MakeGJKShape (const T_SHAPE &InShape) |
| |
| template<typename T_SHAPE > |
| TGJKCoreShape< T_SHAPE > | MakeGJKCoreShape (const T_SHAPE &InShape) |
| |
| template<typename T > |
| void | ComputeGridBasedGraphSubColoringPointer (const TArray< TArray< int32 > > &ElementsPerColor, const TMPMGrid< T > &Grid, const int32 GridSize, TArray< TArray< int32 > > *&PreviousColoring, const TArray< TArray< int32 > > &ConstraintsNodesSet, TArray< TArray< TArray< int32 > > > &ElementsPerSubColors) |
| |
| template<typename T > |
| CHAOS_API void | ComputeGridBasedGraphSubColoringPointer (const TArray< TArray< int32 > > &ElementsPerColor, const TMPMGrid< T > &Grid, const int32 GridSize, TUniquePtr< TArray< TArray< int32 > > > &PreviousColoring, const TArray< TArray< int32 > > &ConstraintsNodesSet, TArray< TArray< TArray< int32 > > > &ElementsPerSubColors) |
| |
| template<typename T > |
| CHAOS_API void | ComputeWeakConstraintsColoring (const TArray< TArray< int32 > > &Indices, const TArray< TArray< int32 > > &SecondIndices, const Chaos::TDynamicParticles< T, 3 > &InParticles, TArray< TArray< int32 > > &ConstraintsPerColor) |
| |
| template<typename T > |
| CHAOS_API TArray< TArray< int32 > > | ComputeNodalColoring (const TArray< TVec4< int32 > > &Graph, const Chaos::TDynamicParticles< T, 3 > &InParticles, const int32 GraphParticlesStart, const int32 GraphParticlesEnd, const TArray< TArray< int32 > > &IncidentElements, const TArray< TArray< int32 > > &IncidentElementsLocalIndex) |
| |
| template<typename T , typename ParticleType > |
| CHAOS_API TArray< TArray< int32 > > | ComputeNodalColoring (const TArray< TArray< int32 > > &Graph, const Chaos::TDynamicParticles< T, 3 > &InParticles, const int32 GraphParticlesStart, const int32 GraphParticlesEnd, const TArray< TArray< int32 > > &IncidentElements, const TArray< TArray< int32 > > &IncidentElementsLocalIndex, const Chaos::TPBDActiveView< ParticleType > *InParticleActiveView=nullptr, TArray< int32 > *ParticleColorsOut=nullptr) |
| |
| template<typename T > |
| CHAOS_API void | ComputeExtraNodalColoring (const TArray< TArray< int32 > > &Graph, const TArray< TArray< int32 > > &ExtraGraph, const Chaos::TDynamicParticles< T, 3 > &InParticles, const TArray< TArray< int32 > > &IncidentElements, const TArray< TArray< int32 > > &ExtraIncidentElements, TArray< int32 > &ParticleColors, TArray< TArray< int32 > > &ParticlesPerColor) |
| |
| template<typename T > |
| CHAOS_API void | ComputeExtraNodalColoring (const TArray< TArray< int32 > > &StaticGraph, const TArray< TArray< int32 > > &DynamicGraph, const TArray< TArray< int32 > > &ExtraGraph, const Chaos::TDynamicParticles< T, 3 > &InParticles, const TArray< TArray< int32 > > &StaticIncidentElements, const TArray< TArray< int32 > > &DynamicIncidentElements, const TArray< TArray< int32 > > &ExtraIncidentElements, TArray< int32 > &ParticleColors, TArray< TArray< int32 > > &ParticlesPerColor) |
| |
| FORCEINLINE FChaosArchive & | operator<< (FChaosArchive &Ar, FHeightField::FDataType::MinMaxHeights &Value) |
| |
| FORCEINLINE FChaosArchive & | operator<< (FChaosArchive &Ar, FImplicitObject &Value) |
| |
| FORCEINLINE FArchive & | operator<< (FArchive &Ar, FImplicitObject &Value) |
| |
| template<> |
| bool | HasBoundingBox (const TArray< Private::FImplicitBVHObject > &Objects, const int32 ObjectIndex) |
| |
| template<class T , int d> |
| const TAABB< T, d > | GetWorldSpaceBoundingBox (const TArray< Private::FImplicitBVHObject > &Objects, const int32 ObjectIndex, const TMap< int32, TAABB< T, d > > &WorldSpaceBoxes) |
| |
| template<class T , int d> |
| void | ComputeAllWorldSpaceBoundingBoxes (const TArray< Private::FImplicitBVHObject > &Objects, const TArray< int32 > &AllObjects, const bool bUseVelocity, const T Dt, TMap< int32, TAABB< T, d > > &WorldSpaceBoxes) |
| |
| template<typename T > |
| const T * | UnwrapImplicit (const FImplicitObject &Implicit, FVec3 &OutScale, FReal &OutMargin) |
| | Remove the Instanced or Scaled wrapper from an ImplicitObject of a known inner type and extract the instance properties.
|
| |
| void | TImplicitObjectTransformSerializeHelper (FChaosArchive &Ar, FImplicitObjectPtr &Obj) |
| |
| void | TImplicitObjectTransformSerializeHelper (FChaosArchive &Ar, TSerializablePtr< FImplicitObject > &Obj) |
| |
| void | TImplicitObjectTransformSerializeHelper (FChaosArchive &Ar, const FImplicitObject *Obj) |
| |
| FORCEINLINE bool | IsInstanced (EImplicitObjectType Type) |
| |
| FORCEINLINE bool | IsScaled (EImplicitObjectType Type) |
| |
| FORCEINLINE bool | IsWeightedLattice (EImplicitObjectType Type) |
| |
| FORCEINLINE EImplicitObjectType | GetInnerType (EImplicitObjectType Type) |
| |
| FName | GetImplicitObjectTypeName (EImplicitObjectType Val) |
| |
| bool | SpatialAccelerationEqual (ESpatialAcceleration A, SpatialAccelerationType B) |
| |
| bool | operator== (ESpatialAcceleration A, SpatialAccelerationType B) |
| |
| bool | operator== (SpatialAccelerationType A, ESpatialAcceleration B) |
| |
| bool | operator!= (ESpatialAcceleration A, SpatialAccelerationType B) |
| |
| bool | operator!= (SpatialAccelerationType A, ESpatialAcceleration B) |
| |
| template<typename TPayload > |
| TEnableIf<!TIsPointer< TPayload >::Value, FUniqueIdx >::Type | GetUniqueIdx (const TPayload &Payload) |
| |
| template<typename TPayload > |
| TEnableIf< TIsPointer< TPayload >::Value, FUniqueIdx >::Type | GetUniqueIdx (const TPayload &Payload) |
| |
| FORCEINLINE FUniqueIdx | GetUniqueIdx (const int32 Payload) |
| |
| FORCEINLINE FUniqueIdx | GetUniqueIdx (const FUniqueIdx Payload) |
| |
| template<typename TPayloadType , typename T > |
| FChaosArchive & | operator<< (FChaosArchive &Ar, TPayloadBoundsElement< TPayloadType, T > &PayloadElement) |
| |
| template<typename TKey , typename TValue > |
| FChaosArchive & | operator<< (FChaosArchive &Ar, SQMapKeyWithValue< TKey, TValue > &Pair) |
| |
| template<typename TKey , typename TValue > |
| FChaosArchive & | operator<< (FChaosArchive &Ar, TArrayAsMap< TKey, TValue > &Map) |
| |
| template<typename TKey , typename TValue > |
| FChaosArchive & | operator<< (FChaosArchive &Ar, TSQMap< TKey, TValue > &Map) |
| |
| template<typename TPayload , typename TVisitor > |
| TEnableIf<!TIsPointer< TPayload >::Value, bool >::Type | PrePreFilterHelper (const TPayload &Payload, const TVisitor &Visitor) |
| |
| template<typename TPayload , typename TVisitor > |
| TEnableIf< TIsPointer< TPayload >::Value, bool >::Type | PrePreFilterHelper (const TPayload &Payload, const TVisitor &Visitor) |
| |
| template<typename TVisitor > |
| FORCEINLINE bool | PrePreFilterHelper (const int32 Payload, const TVisitor &Visitor) |
| |
| template<typename T , int d, EGeometryParticlesSimType SimType> |
| FChaosArchive & | operator<< (FChaosArchive &Ar, TKinematicGeometryParticlesImp< T, d, SimType > &Particles) |
| |
| template<typename T > |
| TRotation< T, 3 > CHAOS_API | TransformToLocalSpace (PMatrix< T, 3, 3 > &Inertia) |
| |
| template<typename TSurfaces > |
| FMassProperties CHAOS_API | CalculateMassProperties (const FParticles &Vertices, const TSurfaces &Surfaces, const FReal Mass) |
| |
| template<typename T > |
| T | KgCm3ToKgM3 (T Density) |
| |
| template<typename T > |
| T | KgM3ToKgCm3 (T Density) |
| |
| template<typename T > |
| T | GCm3ToKgCm3 (T Density) |
| |
| template<typename T > |
| T | KgCm3ToGCm3 (T Density) |
| |
| template<typename Func , class T > |
| void | LanczosCG (Func multiplyA, TArray< T > &x, const TArray< T > &b, const int max_it, const T res=1e-4, bool check_residual=false, int min_parallel_batch_size=1000) |
| |
| template<class T , typename Func , int32 d = 3> |
| void | LanczosCG (Func multiplyA, TArray< TVector< T, d > > &x, const TArray< TVector< T, d > > &b, const int max_it, const T res=1e-4, const TArray< int32 > *use_list=nullptr) |
| |
| template<typename T , typename TV , typename Func1 , typename Func2 , typename Func3 , typename Func4 , typename Func5 > |
| void | LanczosCG (Func1 multiplyA, Func2 dotProduct, Func3 AXPY, Func4 scale, Func5 set, TArray< TV > &x, const TArray< TV > &b, const int max_it, const T res=T(1e-4), bool check_residual=false) |
| |
| template<class T > |
| void | RowMaj3x3Set (T *A, const int32 i, const int32 j, const T Value) |
| |
| template<class T > |
| const T & | RowMaj3x3Get (const T *A, const int32 i, const int32 j) |
| |
| template<class T > |
| T & | RowMaj3x3Get (T *A, const int32 i, const int32 j) |
| |
| template<class T > |
| void | RowMaj3x3SetRow (T *A, const int32 i, const T *Values) |
| |
| template<class T , class TV > |
| void | RowMaj3x3SetRow (T *A, const int32 i, const TV Value) |
| |
| template<class T , class TV > |
| void | RowMaj3x3GetRow (T *A, const int32 i, TV &Row) |
| |
| template<class T > |
| void | RowMaj3x3SetCol (T *A, const int32 j, const T *Values) |
| |
| template<class T , class TV > |
| void | RowMaj3x3SetCol (T *A, const int32 j, const TV Value) |
| |
| template<class T , class TV > |
| void | RowMaj3x3GetCol (T *A, const int32 j, TV &Col) |
| |
| template<class T > |
| T | RowMaj3x3Determinant (const T A0, const T A1, const T A2, const T A3, const T A4, const T A5, const T A6, const T A7, const T A8) |
| |
| template<class T > |
| T | RowMaj3x3Determinant (const T *A) |
| |
| template<class T > |
| void | RowMaj3x3Inverse (const T Det, const T A0, const T A1, const T A2, const T A3, const T A4, const T A5, const T A6, const T A7, const T A8, T *Inv) |
| |
| template<class T > |
| void | RowMaj3x3Inverse (const T Det, const T *A, T *Inv) |
| |
| template<class T > |
| void | RowMaj3x3Inverse (const T *A, T *Inv) |
| |
| template<class T > |
| void | RowMaj3x3Transpose (const T *A, T *Transpose) |
| |
| template<class T , class TV > |
| TV | RowMaj3x3Multiply (const T *A, const TV &x) |
| |
| template<class T , class TV > |
| TV | RowMaj3x3RobustSolveLinearSystem (const T *A, const TV &b) |
| |
| template<class T , class TV = FVector3f, class TV_INT = FIntVector4, int32 d = 3> |
| void | ComputeDeInverseAndElementMeasures (const TArray< TV_INT > &Mesh, const TArray< TV > &X, TArray< T > &De_inverse, TArray< T > &measure) |
| |
| template<class T > |
| void | Fill (TArray< T > &Array, const T Value) |
| |
| int32 | MinFlatIndex (const TArray< int32 > &ElemIdx, const TArray< int32 > &LocalIdx) |
| |
| template<class T , class TV , class TV_INT = FIntVector4, int d = 3> |
| void | PoissonSolve (const TArray< int32 > &InConstrainedNodes, const TArray< T > &ConstrainedWeights, const TArray< TV_INT > &Mesh, const TArray< TV > &X, const int32 MaxItCG, const T CGTol, TArray< T > &Weights) |
| |
| template<class T , class TV_INT = FIntVector4, int d = 3> |
| void | Laplacian (const TArray< TV_INT > &Mesh, const TArray< TArray< int32 > > &IncidentElements, const TArray< TArray< int32 > > &IncidentElementsLocalIndex, const TArray< T > &De_inverse, const TArray< T > &measure, const TArray< T > &u, TArray< T > &Lu) |
| |
| template<class T , class TV_INT , int d = 3> |
| T | LaplacianEnergy (const TArray< TV_INT > &Mesh, const TArray< T > &De_inverse, const TArray< T > &measure, const TArray< T > &u) |
| |
| template<class T , class TV , class TV_INT , int d = 3> |
| void | ComputeFiberField (const TArray< TV_INT > &Mesh, const TArray< TV > &Vertices, const TArray< TArray< int32 > > &IncidentElements, const TArray< TArray< int32 > > &IncidentElementsLocalIndex, const TArray< int32 > &Origins, const TArray< int32 > &Insertions, TArray< TV > &Directions, TArray< T > &ScalarField, const int32 MaxIt=100, const T Tol=T(1e-7)) |
| |
| template<class TV , class T , bool NodalValues = false> |
| void | Laplacian (const TUniformGrid< T, 3 > &UniformGrid, const TArray< TV > &U, TArray< TV > &Lu) |
| |
| template<class TV , class T , bool NodalValues = false> |
| void | PoissonSolve (const TArray< int32 > &InConstrainedNodes, const TArray< TV > &ConstrainedWeights, const TUniformGrid< T, 3 > &UniformGrid, const int32 MaxItCG, const TV CGTol, TArray< TV > &Weights, bool bCheckResidual=false, int32 MinParallelBatchSize=1000) |
| |
| FChaosArchive & | operator<< (FChaosArchive &Ar, FParticlePositionRotation &Data) |
| |
| FChaosArchive & | operator<< (FChaosArchive &Ar, FParticleVelocities &Data) |
| |
| FChaosArchive & | operator<< (FChaosArchive &Ar, FParticleDynamics &Data) |
| |
| FChaosArchive & | operator<< (FChaosArchive &Ar, FParticleMassProps &Data) |
| |
| FChaosArchive & | operator<< (FChaosArchive &Ar, FParticleDynamicMisc &Data) |
| |
| FChaosArchive & | operator<< (FChaosArchive &Ar, FParticleNonFrequentData &Data) |
| |
| FChaosArchive & | operator<< (FChaosArchive &Ar, FCollisionData &Data) |
| |
| FChaosArchive & | operator<< (FChaosArchive &Ar, FMaterialData &Data) |
| |
| constexpr EChaosPropertyFlags | ChaosPropertyToFlag (EChaosProperty Prop) |
| |
| constexpr EShapeFlags | ShapePropToFlag (EShapeProperty Prop) |
| |
| template<typename T , int d, typename FConcrete > |
| void | GeometryParticleDefaultConstruct (FConcrete &Concrete, const FGeometryParticleParameters &Params) |
| |
| template<typename T , int d, typename FConcrete > |
| void | KinematicGeometryParticleDefaultConstruct (FConcrete &Concrete, const FKinematicGeometryParticleParameters &Params) |
| |
| template<typename T , int d, typename FConcrete > |
| void | PBDRigidParticleDefaultConstruct (FConcrete &Concrete, const FPBDRigidParticleParameters &Params) |
| |
| template<typename T , int d, typename FConcrete > |
| void | PBDRigidClusteredParticleDefaultConstruct (FConcrete &Concrete, const FPBDRigidParticleParameters &Params) |
| |
| template<typename FConcrete > |
| bool | GeometryParticleSleeping (const FConcrete &Concrete) |
| |
| FORCEINLINE_DEBUGGABLE bool | PrePreQueryFilterImp (const FCollisionFilterData &QueryFilterData, const FCollisionFilterData &UnionFilterData) |
| |
| FORCEINLINE_DEBUGGABLE uint32 | GetChaosCollisionChannelAndExtraFilter (uint32 Word3, uint8 &OutMaskFilter) |
| |
| FORCEINLINE_DEBUGGABLE bool | PrePreSimFilterImp (const FCollisionFilterData &SimFilterData, const FCollisionFilterData &OtherSimFilterData) |
| |
| template<typename T , int d> |
| TGeometryParticleHandle< T, d > * | GetHandleHelper (TGeometryParticleHandle< T, d > *Handle) |
| |
| template<typename T , int d> |
| const TGeometryParticleHandle< T, d > * | GetHandleHelper (const TGeometryParticleHandle< T, d > *Handle) |
| |
| template<typename T , int d> |
| TGeometryParticleHandle< T, d > * | GetHandleHelper (TTransientGeometryParticleHandle< T, d > *Handle) |
| |
| template<typename T , int d> |
| const TGeometryParticleHandle< T, d > * | GetHandleHelper (const TTransientGeometryParticleHandle< T, d > *Handle) |
| |
| template<typename ParticleType > |
| void | UpdateParticleShapes (const TArray< ParticleType * > &ShapesParticles, const FImplicitObject *ImplicitObject, const FShapesArray &ShapesArray, const int32 ActorId, const int32 ComponentID) |
| |
| template<typename T , int d> |
| FChaosArchive & | operator<< (FChaosArchive &Ar, TGeometryParticle< T, d > &Particle) |
| |
| FORCEINLINE_DEBUGGABLE FChaosArchive & | operator<< (FChaosArchive &Ar, FAccelerationStructureHandle &AccelerationHandle) |
| |
| void | SetObjectStateHelper (IPhysicsProxyBase &Proxy, FPBDRigidParticle &Rigid, EObjectStateType InState, bool bAllowEvents=false, bool bInvalidate=true) |
| |
| template<typename TParticleView , typename ContextCreatorType , typename Lambda > |
| void | ParticleViewParallelForImp (const TParticleView &Particles, const ContextCreatorType &ContextCreator, const Lambda &Func) |
| |
| template<typename THandleView , typename ContextCreatorType , typename Lambda > |
| void | HandleViewParallelForImp (const THandleView &HandleView, const ContextCreatorType &ContextCreator, const Lambda &Func) |
| |
| template<typename TSOA , typename ContextCreatorType , typename Lambda > |
| void | ParticlesParallelForImp (const TConstHandleView< TSOA > &Particles, const ContextCreatorType &ContextCreator, const Lambda &Func) |
| |
| template<typename TSOA , typename ContextCreatorType , typename Lambda > |
| void | ParticlesParallelForImp (const THandleView< TSOA > &Particles, const ContextCreatorType &ContextCreator, const Lambda &Func) |
| |
| template<typename TSOA , typename ContextCreatorType , typename Lambda > |
| void | ParticlesParallelForImp (const TConstParticleView< TSOA > &Particles, const ContextCreatorType &ContextCreator, const Lambda &Func) |
| |
| template<typename TSOA , typename ContextCreatorType , typename Lambda > |
| void | ParticlesParallelForImp (const TParticleView< TSOA > &Particles, const ContextCreatorType &ContextCreator, const Lambda &Func) |
| |
| template<typename TParticle , typename ContextCreatorType , typename Lambda > |
| void | ParticlesParallelForImp (const TArray< TParticle > &Particles, const ContextCreatorType &ContextCreator, const Lambda &Func) |
| |
| template<typename TView , typename ContextCreatorType , typename Lambda > |
| void | ParticlesSequentialFor (const TView &Particles, const ContextCreatorType &ContextCreator, const Lambda &Func) |
| |
| template<typename TView , typename ContextCreatorType , typename Lambda > |
| void | ParticlesParallelFor (const TView &Particles, const ContextCreatorType &ContextCreator, const Lambda &Func, bool bForceSingleThreaded=false) |
| |
| template<typename THandle > |
| TConstHandleIterator< typename THandle::TSOAType > | MakeConstHandleIterator (const TArray< THandle * > &Handles) |
| |
| template<typename THandle > |
| THandleIterator< typename THandle::TSOAType > | MakeHandleIterator (const TArray< THandle * > &Handles) |
| |
| template<typename THandle > |
| TConstHandleView< typename THandle::TSOAType > | MakeConstHandleView (const TArray< THandle * > &Handles) |
| |
| template<typename THandle > |
| THandleView< typename THandle::TSOAType > | MakeHandleView (const TArray< THandle * > &Handles) |
| |
| template<typename TSOA > |
| TConstParticleIterator< TSOA > | MakeConstParticleIterator (const TArray< TSOAView< TSOA > > &SOAs) |
| |
| template<typename TSOA > |
| TParticleIterator< TSOA > | MakeParticleIterator (const TArray< TSOAView< TSOA > > &SOAs) |
| |
| template<typename TSOA > |
| TConstParticleView< TSOA > | MakeConstParticleView (TArray< TSOAView< TSOA > > &&SOAViews) |
| |
| template<typename TSOA > |
| TConstParticleView< TSOA > | MakeConstParticleView (TSOAView< TSOA > &&SOAView) |
| |
| template<typename TSOA > |
| TParticleView< TSOA > | MakeParticleView (TArray< TSOAView< TSOA > > &&SOAViews) |
| |
| template<typename TSOA > |
| TConstParticleView< TSOA > | MakeConstParticleView (TSOA *SOA) |
| |
| template<typename TSOA > |
| TParticleView< TSOA > | MakeParticleView (TSOA *SOA) |
| |
| template<class T , int d> |
| class TPBDChainConstraints | UE_DEPRECATED (4.27, "Deprecated. this class is to be deleted, use FPBDChainConstraints instead") |
| |
| void CHAOS_API | ComputeHashTable (const TArray< FVector > &ParticleArray, const FBox &BoundingBox, TMultiMap< int32, int32 > &HashTableMap, const float SpatialHashRadius) |
| |
| template<typename T > |
| bool | IsInterclusterEdge (const TPBDRigidParticleHandle< T, 3 > &Particle, const TConnectivityEdge< T > &Edge) |
| |
| FORCEINLINE void CHAOS_API | UpdateGeometry (Chaos::FPBDRigidClusteredParticleHandle *Parent, const TSet< FPBDRigidParticleHandle * > &Children, const FRigidClustering::FClusterMap &ChildrenMap, TSharedPtr< Chaos::FImplicitObject, ESPMode::ThreadSafe > ProxyGeometry, const FClusterCreationParameters &Parameters) |
| |
| TArray< FVec3 > | CleanCollisionParticles (const TArray< FVec3 > &Vertices, FAABB3 BBox, const FReal SnapDistance=(FReal) 0.01) |
| |
| TArray< FVec3 > | CleanCollisionParticles (const TArray< FVec3 > &Vertices, const FReal SnapDistance=(FReal) 0.01) |
| |
| TArray< FVec3 > | CleanCollisionParticles (FTriangleMesh &TriMesh, const TArrayView< const FVec3 > &Vertices, const FReal Fraction) |
| |
| void | CleanCollisionParticles (FTriangleMesh &TriMesh, const TArrayView< const FVec3 > &Vertices, const FReal Fraction, TSet< int32 > &ResultingIndices) |
| |
| CHAOS_API void | EnsureSleepingObjectState (EObjectStateType ObjectState) |
| |
| template<typename T , int d> |
| FChaosArchive & | operator<< (FChaosArchive &Ar, TPBDRigidParticles< T, d > &Particles) |
| |
| template<typename TParticleType > |
| const FString & | GetParticleDebugName (const TParticleType &Particle) |
| |
| | DECLARE_MULTICAST_DELEGATE_OneParam (FOnMaterialCreated, FMaterialHandle) |
| |
| | DECLARE_MULTICAST_DELEGATE_OneParam (FOnMaterialDestroyed, FMaterialHandle) |
| |
| | DECLARE_MULTICAST_DELEGATE_OneParam (FOnMaterialUpdated, FMaterialHandle) |
| |
| | DECLARE_MULTICAST_DELEGATE_OneParam (FOnMaterialMaskCreated, FMaterialMaskHandle) |
| |
| | DECLARE_MULTICAST_DELEGATE_OneParam (FOnMaterialMaskDestroyed, FMaterialMaskHandle) |
| |
| | DECLARE_MULTICAST_DELEGATE_OneParam (FOnMaterialMaskUpdated, FMaterialMaskHandle) |
| |
| template<typename T , int d> |
| TVector< T, 2 > | ComputeBarycentricInPlane (const TVector< T, d > &P0, const TVector< T, d > &P1, const TVector< T, d > &P2, const TVector< T, d > &P) |
| |
| template<typename T , int d> |
| const TVector< T, d > | FindClosestPointAndAlphaOnLineSegment (const TVector< T, d > &P0, const TVector< T, d > &P1, const TVector< T, d > &P, T &OutAlpha) |
| |
| template<typename T , int d> |
| const TVector< T, d > | FindClosestPointOnLineSegment (const TVector< T, d > &P0, const TVector< T, d > &P1, const TVector< T, d > &P) |
| |
| template<typename T , int d> |
| TVector< T, d > | FindClosestPointOnTriangle (const TVector< T, d > &ClosestPointOnPlane, const TVector< T, d > &P0, const TVector< T, d > &P1, const TVector< T, d > &P2, const TVector< T, d > &P) |
| |
| template<typename T , int d> |
| TVector< T, d > | FindClosestPointOnTriangle (const TPlane< T, d > &TrianglePlane, const TVector< T, d > &P0, const TVector< T, d > &P1, const TVector< T, d > &P2, const TVector< T, d > &P) |
| |
| template<typename T , int d> |
| TVector< T, d > | FindClosestPointAndBaryOnTriangle (const TVector< T, d > &P0, const TVector< T, d > &P1, const TVector< T, d > &P2, const TVector< T, d > &P, TVector< T, 3 > &Bary) |
| |
| template<typename T , int d> |
| bool | IntersectPlanes2 (TVector< T, d > &I, TVector< T, d > &D, const TPlane< T, d > &P1, const TPlane< T, d > &P2) |
| |
| template<typename T , EChaosProperty PropName> |
| FChaosArchive & | operator<< (FChaosArchive &Ar, TChaosProperty< T, PropName > &Prop) |
| |
| template<typename T , EShapeProperty PropName> |
| FChaosArchive & | operator<< (FChaosArchive &Ar, TShapeProperty< T, PropName > &Prop) |
| |
| constexpr int8 | NumBitsNeeded (const int8 MaxValue) |
| |
| constexpr int8 | LowBitsMask (const int8 NumBits) |
| |
| template<typename T , int d> |
| FChaosArchive & | operator<< (FChaosArchive &Ar, TRigidParticles< T, d > &Particles) |
| |
| bool | IsMinkowskiSumFace (const FVec3 &A, const FVec3 &B, const FVec3 &C, const FVec3 &D) |
| |
| template<typename ConvexImplicitType1 , typename ConvexImplicitType2 > |
| FSATResult | SATPlaneVertex (const ConvexImplicitType1 &Convex1, const FRigidTransform3 &Convex1Transform, const ConvexImplicitType2 &Convex2, const FRigidTransform3 &Convex2Transform, const FReal CullDistance) |
| |
| template<typename ConvexImplicitType1 , typename ConvexImplicitType2 > |
| FSATResult | SATEdgeEdge (const ConvexImplicitType1 &Convex1, const FRigidTransform3 &Convex1Transform, const ConvexImplicitType2 &Convex2, const FRigidTransform3 &Convex2Transform, const FReal CullDistance) |
| |
| template<typename ConvexImplicitType1 , typename ConvexImplicitType2 > |
| FSATResult | SATPenetration (const ConvexImplicitType1 &Convex1, const FRigidTransform3 &Convex1Transform, const ConvexImplicitType2 &Convex2, const FRigidTransform3 &Convex2Transform, const FReal CullDistance, const FSATSettings &Settings) |
| |
| template<typename T > |
| uint32 | GetTypeHash (const TSerializablePtr< T > &Ptr) |
| |
| template<typename T > |
| TSerializablePtr< T > | MakeSerializable (const TUniquePtr< T > &Unique) |
| |
| template<typename Ret , typename T > |
| TSerializablePtr< Ret > | MakeSerializable (const TUniquePtr< T > &Unique) |
| |
| template<typename T > |
| TSerializablePtr< T > | MakeSerializable (const TSerializablePtr< T > &P) |
| |
| template<typename T > |
| TSerializablePtr< T > | MakeSerializable (const TUniquePtr< T > &&Unique)=delete |
| |
| template<typename Ret , typename T > |
| TSerializablePtr< T > | MakeSerializable (const TUniquePtr< T > &&Unique)=delete |
| |
| template<typename T , ESPMode TESPMode> |
| TSerializablePtr< T > | MakeSerializable (const TSharedPtr< T, TESPMode > &Shared) |
| |
| template<typename T > |
| TSerializablePtr< T > | MakeSerializable (const TRefCountPtr< T > &RefCount) |
| |
| template<typename T > |
| TEnableIf< T::AlwaysSerializable, TSerializablePtr< T > >::Type & | AsAlwaysSerializable (T *&Ptr) |
| |
| template<typename T > |
| TEnableIf< T::AlwaysSerializable, TArray< TSerializablePtr< T > > >::Type & | AsAlwaysSerializableArray (TArray< T * > &Ptrs) |
| |
| FArchive & | operator<< (FArchive &Ar, FSerializedDataBuffer &Data) |
| |
| template<class T , class U > |
| bool | SaveLoadUtility (U &ObjectToSave, TCHAR const *SerializedBinaryDirectory, TCHAR const *BinaryFolderName, bool bSave, TArray< U > &ObjectsToTest) |
| |
| FChaosArchive & | operator<< (FChaosArchive &Ar, FPerShapeData &Shape) |
| |
| template<typename T , int d> |
| FChaosArchive & | operator<< (FChaosArchive &Ar, TSimpleGeometryParticles< T, d > &Particles) |
| |
| template<typename T , int d> |
| TVector< T, d > | LineSimplexFindOrigin (const TVector< T, d > *Simplex, int32 *Idxs, int32 &NumVerts, T *OutBarycentric) |
| |
| template<typename T > |
| TVec3< T > | LineSimplexFindOrigin2 (TVec3< T > *Simplex, int32 &NumVerts, T *OutBarycentric, TVec3< T > *A, TVec3< T > *B) |
| |
| template<typename T > |
| bool | SignMatch (T A, T B) |
| |
| template<typename T > |
| TVec3< T > | TriangleSimplexFindOrigin (const TVec3< T > *Simplex, FSimplex &Idxs, T *OutBarycentric) |
| |
| template<typename T > |
| TVec3< T > | TriangleSimplexFindOrigin2 (TVec3< T > *Simplex, int32 &NumVerts, T *OutBarycentric, TVec3< T > *As, TVec3< T > *Bs) |
| |
| template<typename T > |
| TVec3< T > | TetrahedronSimplexFindOrigin (const TVec3< T > *Simplex, FSimplex &Idxs, T *OutBarycentric) |
| |
| template<typename T > |
| TVec3< T > | TetrahedronSimplexFindOrigin2 (TVec3< T > *Simplex, int32 &NumVerts, T *OutBarycentric, TVec3< T > *A, TVec3< T > *B) |
| |
| template<typename T > |
| void | ReorderGJKArray (T *Data, FSimplex &Idxs) |
| |
| template<typename T > |
| TVec3< T > | SimplexFindClosestToOrigin (TVec3< T > *Simplex, FSimplex &Idxs, T *OutBarycentric, TVec3< T > *A=nullptr, TVec3< T > *B=nullptr) |
| |
| template<typename T > |
| TVec3< T > | SimplexFindClosestToOrigin2 (TVec3< T > *Simplex, int32 &NumVerts, T *OutBarycentric, TVec3< T > *A, TVec3< T > *B) |
| |
| template<typename T , bool CalculatExtraInformation> |
| FORCEINLINE_DEBUGGABLE T | VectorLineSimplexFindOrigin (T *RESTRICT Simplex, int32 &RESTRICT NumVerts, T &RESTRICT OutBarycentric, T *RESTRICT A, T *RESTRICT B) |
| |
| template<typename T , bool CalculatExtraInformation> |
| FORCEINLINE_DEBUGGABLE T | TriangleSimplexFindOriginFast (T *RESTRICT Simplex, int32 &RESTRICT NumVerts, T &RESTRICT OutBarycentric, T *RESTRICT As, T *RESTRICT Bs) |
| |
| template<typename T > |
| FORCEINLINE bool | VectorSignMatch (T A, T B) |
| |
| template<typename T , bool CalculatExtraInformation> |
| FORCEINLINE_DEBUGGABLE T | VectorTetrahedronSimplexFindOrigin (T *RESTRICT Simplex, int32 &RESTRICT NumVerts, T &RESTRICT OutBarycentric, T *RESTRICT A, T *RESTRICT B) |
| |
| template<typename T , bool CalculatExtraInformation = true> |
| FORCEINLINE_DEBUGGABLE T | VectorSimplexFindClosestToOrigin (T *RESTRICT Simplex, int32 &RESTRICT NumVerts, T &RESTRICT OutBarycentric, T *RESTRICT A, T *RESTRICT B) |
| |
| FArchive & | operator<< (FArchive &Ar, FWeightedInfluenceData &Value) |
| |
| template<class T > |
| bool | SmoothProject (const TConstArrayView< FVec3 > &Points, const TArray< TVec3< int32 > > &Tris, const TArray< FVec3 > &PointNormals, const FVec3 &Pos, const int32 TriIdx, FVec3 &Weights, TArray< TArray< FVec3 > > &TangentBases, T *B, T *C, TVec3< T > &C0, TVec3< T > &C1, TVec3< T > &C2, TVec3< T > &W0, TVec3< T > &W1, TVec3< T > &W2) |
| |
| template<class T > |
| bool | SmoothProject (const TConstArrayView< FVec3 > &Points, const TArray< TVec3< int32 > > &Tris, const TArray< FVec3 > &PointNormals, const FVec3 &Pos, const int32 TriIdx, FVec3 &Weights) |
| |
| template<class T > |
| TArray< bool > | SmoothProject (const TConstArrayView< FVec3 > &Points, const TArray< TVec3< int32 > > &Tris, const TArray< FVec3 > &PointNormals, const FVec3 &Pos, const TArray< int32 > &TriIdx, TArray< FVec3 > &Weights, const bool UseFirstFound=false) |
| |
| template<typename T > |
| void | FreeObjHelper (T *&RawPtr) |
| |
| template<typename TPayloadType , typename T , int d> |
| FChaosArchive & | operator<< (FChaosArchive &Ar, TSpatialAccelerationBucketEntry< TPayloadType, T, d > &BucketEntry) |
| |
| template<typename TPayloadType , typename T , int d> |
| void | FreeObjHelper (TSpatialAccelerationBucketEntry< TPayloadType, T, d > &BucketEntry) |
| |
| template<typename T > |
| T | CopyFromHelper (const T &Src) |
| |
| template<typename TPayloadType , typename T , int d> |
| TSpatialAccelerationBucketEntry< TPayloadType, T, d > | CopyFromHelper (const TSpatialAccelerationBucketEntry< TPayloadType, T, d > &Src) |
| |
| template<typename TObj > |
| FChaosArchive & | operator<< (FChaosArchive &Ar, TSpatialCollectionBucket< TObj > &Bucket) |
| |
| template<int Idx, typename First , typename... Rest> |
| auto & | GetAccelerationsPerType (TSpatialTypeTuple< First, Rest... > &Types) |
| |
| template<int Idx, typename First , typename... Rest> |
| const auto & | GetAccelerationsPerType (const TSpatialTypeTuple< First, Rest... > &Types) |
| |
| template<typename SpatialAccelerationCollection > |
| std::enable_if_t< std::is_same_v< typename SpatialAccelerationCollection::TPayloadType, FAccelerationStructureHandle >, void > | PBDComputeConstraintsLowLevel_Helper (FReal Dt, const SpatialAccelerationCollection &Accel, FSpatialAccelerationBroadPhase &BroadPhase, Private::FCollisionConstraintAllocator *Allocator, const FCollisionDetectorSettings &Settings, IResimCacheBase *ResimCache) |
| |
| template<typename SpatialAccelerationCollection > |
| std::enable_if_t<!std::is_same_v< typename SpatialAccelerationCollection::TPayloadType, FAccelerationStructureHandle >, void > | PBDComputeConstraintsLowLevel_Helper (FReal Dt, const SpatialAccelerationCollection &Accel, FSpatialAccelerationBroadPhase &BroadPhase, Private::FCollisionConstraintAllocator *Allocator, const FCollisionDetectorSettings &Settings, IResimCacheBase *ResimCache) |
| |
| template<typename T > |
| FChaosArchive & | operator<< (FChaosArchive &Ar, TTetrahedron< T > &Value) |
| |
| template<typename RealType > |
| TVec3< RealType > | ToBarycentric (const TVec3< RealType > &Point, const TVec3< RealType > &V0, const TVec3< RealType > &V1, const TVec3< RealType > &V2) |
| | Convert the cartesian coordinate into a barycentric corrdinate. Compute barycentric coordinates/weights of Point inside 3D triangle (V0,V1,V2). If point is in triangle plane and inside triangle, coords will be positive and sum to 1. ie if result is a, then vPoint = a.x*V0 + a.y*V1 + a.z*V2.
|
| |
| template<typename RealType > |
| TVec3< RealType > | FromBarycentric (const TVec3< RealType > &Barycentric, const TVec3< RealType > &V0, const TVec3< RealType > &V1, const TVec3< RealType > &V2) |
| | Convert the barycentric coordinate into a cartesian corrdinate.
|
| |
| template<typename T > |
| FChaosArchive & | operator<< (FChaosArchive &Ar, TTriangle< T > &Value) |
| |
| template<typename T , typename ToleranceProvider = TRayTriangleIntersectionDefaultToleranceProvider<T>> |
| FORCEINLINE_DEBUGGABLE bool | RayTriangleIntersectionAndBary (const TVec3< T > &RayStart, const TVec3< T > &RayDir, T RayLength, const TVec3< T > &A, const TVec3< T > &B, const TVec3< T > &C, T &OutT, TVec2< T > &OutBary, TVec3< T > &OutN) |
| |
| template<typename T > |
| FORCEINLINE bool | RayTriangleIntersection (const TVec3< T > &RayStart, const TVec3< T > &RayDir, T RayLength, const TVec3< T > &A, const TVec3< T > &B, const TVec3< T > &C, T &OutT, TVec3< T > &OutN) |
| |
| FArchive & | operator<< (FArchive &Ar, FAABBVectorized &Bounds) |
| |
| FORCEINLINE_DEBUGGABLE FChaosArchive & | operator<< (FChaosArchive &Ar, FTrimeshBVH::FChildData &ChildData) |
| |
| FORCEINLINE_DEBUGGABLE FChaosArchive & | operator<< (FChaosArchive &Ar, FTrimeshBVH::FNode &Node) |
| |
| FORCEINLINE_DEBUGGABLE FChaosArchive & | operator<< (FChaosArchive &Ar, FTrimeshBVH::FAABBType &Bounds) |
| |
| FORCEINLINE_DEBUGGABLE FChaosArchive & | operator<< (FChaosArchive &Ar, FAABBVectorized &Bounds) |
| |
| FORCEINLINE_DEBUGGABLE FChaosArchive & | operator<< (FChaosArchive &Ar, FTrimeshBVH &TrimeshBVH) |
| |
| FORCEINLINE_DEBUGGABLE FArchive & | operator<< (FArchive &Ar, FTrimeshIndexBuffer &Buffer) |
| |
| template<typename IdxType , typename ParticlesType > |
| void | TriangleMeshTransformVertsHelper (const FVec3 &TriMeshScale, int32 TriIdx, const ParticlesType &Particles, const TArray< TVector< IdxType, 3 > > &Elements, FVec3 &OutA, FVec3 &OutB, FVec3 &OutC) |
| |
| template<typename IdxType , typename ParticlesType > |
| void | TriangleMeshTransformVertsHelper (const FRigidTransform3 &Transform, int32 TriIdx, const ParticlesType &Particles, const TArray< TVector< IdxType, 3 > > &Elements, FVec3 &OutA, FVec3 &OutB, FVec3 &OutC, int32 &OutVertexIndexA, int32 &OutVertexIndexB, int32 &OutVertexIndexC) |
| |
| template<typename T , int d> |
| FArchive & | operator<< (FArchive &Ar, TUniformGridBase< T, d > &Value) |
| |
| FArchive & | operator<< (FArchive &Ar, FWeightedLatticeInfluenceData &Value) |
| |
| template<typename PayloadType > |
| bool | IsEventDataEmpty (const PayloadType *Buffer) |
| |
| template<typename PayloadType > |
| const TMap< IPhysicsProxyBase *, TArray< int32 > > * | GetProxyToIndexMap (const PayloadType *Buffer) |
| |
| FORCEINLINE bool | IsInPhysicsThreadContext () |
| |
| FORCEINLINE bool | IsInGameThreadContext () |
| |
| FORCEINLINE void | EnsureIsInPhysicsThreadContext () |
| |
| FORCEINLINE void | EnsureIsInGameThreadContext () |
| |
| template<typename TData , typename TObj > |
| void | CopyDataFromObject (TData &Data, const TObj &Obj) |
| |
| void | CopyDataFromObject (FPBDJointSettings &Data, const FPBDJointConstraintHandle &Joint) |
| |
| template<typename T > |
| FString | ToStringHelper (const T &Val) |
| |
| template<typename T > |
| FString | ToStringHelper (const TVector< T, 2 > &Val) |
| |
| FString | ToStringHelper (void *Val) |
| |
| FString | ToStringHelper (const FReal Val) |
| |
| FString | ToStringHelper (const FRealSingle Val) |
| |
| FString | ToStringHelper (const EObjectStateType Val) |
| |
| FString | ToStringHelper (const EPlasticityType Val) |
| |
| FString | ToStringHelper (const EJointForceMode Val) |
| |
| FString | ToStringHelper (const EJointMotionType Val) |
| |
| FString | ToStringHelper (const bool Val) |
| |
| FString | ToStringHelper (const int32 Val) |
| |
| int32 | ComputeCircularSize (int32 NumFrames) |
| |
| template<typename T > |
| const T * | ConstifyHelper (T *Ptr) |
| |
| template<typename T > |
| T | NoRefHelper (const T &Ref) |
| |
| template<typename T , typename U > |
| TAABB< T, 3 > | TransformedAABBHelper2 (const TAABB< T, 3 > &AABB, const TRigidTransform< U, 3 > &SpaceTransform) |
| |
| template<typename T , typename U > |
| TAABB< T, 3 > | InverseTransformedAABBHelper2 (const TAABB< T, 3 > &AABB, const TRigidTransform< U, 3 > &SpaceTransform) |
| |
| template<typename T > |
| TAABB< T, 3 > | TransformedAABBHelper (const TAABB< T, 3 > &AABB, const FMatrix44 &SpaceTransform) |
| |
| TAABB< FReal, 3 > | TransformedAABBHelperISPC (const TAABB< FReal, 3 > &AABB, const FTransform &SpaceTransform) |
| |
| TAABB< Chaos::FRealSingle, 3 > | TransformedAABBHelperISPC (const TAABB< Chaos::FRealSingle, 3 > &AABB, const FTransform &SpaceTransform) |
| |
| TAABB< FReal, 3 > | TransformedAABBHelperISPC2 (const TAABB< FReal, 3 > &AABB, const FTransform &SpaceTransform) |
| |
| TAABB< Chaos::FRealSingle, 3 > | TransformedAABBHelperISPC2 (const TAABB< Chaos::FRealSingle, 3 > &AABB, const FTransform &SpaceTransform) |
| |
| template<class T , int d> |
| FORCEINLINE FArchive & | operator<< (FArchive &Ar, TAABB< T, d > &AABB) |
| |
| template<typename T > |
| void | TryBulkSerializeArrayNDBase (FArchive &Ar, TArray< T > &Array) |
| |
| void | TryBulkSerializeArrayNDBase (FArchive &Ar, TArray< float > &Array) |
| |
| void | TryBulkSerializeArrayNDBase (FArchive &Ar, TArray< TVec3< FRealSingle > > &Array) |
| |
| float | ConvertDoubleToFloat (double DoubleValue) |
| |
| TVec3< float > | ConvertDoubleToFloat (TVec3< double > DoubleValue) |
| |
| double | ConvertFloatToDouble (float FloatValue) |
| |
| TVec3< double > | ConvertFloatToDouble (TVec3< float > FloatValue) |
| |
| template<typename DOUBLE_T , typename FLOAT_T > |
| void | TryBulkSerializeArrayNDBaseForDoubles (FArchive &Ar, TArray< DOUBLE_T > &DoubleTypedArray) |
| |
| void | TryBulkSerializeArrayNDBase (FArchive &Ar, TArray< double > &Array) |
| |
| void | TryBulkSerializeArrayNDBase (FArchive &Ar, TArray< TVec3< FRealDouble > > &Array) |
| |
| template<typename Derived , typename T , int d> |
| FArchive & | operator<< (FArchive &Ar, TArrayNDBase< Derived, T, d > &ValueIn) |
| |
| template<typename Derived , typename T , int d> |
| FArchive & | operator<< (FChaosArchive &Ar, TArrayNDBase< Derived, T, d > &ValueIn) |
| |
| FString | GetChaosVersionStringInner () |
| |
| template<typename T > |
| FArchive & | operator<< (FArchive &Ar, TCorePlane< T > &PlaneConcrete) |
| |
| template<class T > |
| void | ZeroChase (PMatrix< T, 3, 3 > &H, PMatrix< T, 3, 3 > &U, PMatrix< T, 3, 3 > &V) |
| | zero chasing the 3X3 matrix to bidiagonal form original form of H: x x 0 x x x 0 0 x after zero chase: x x 0 0 x x 0 0 x
|
| |
| template<class T > |
| void | MakeUpperBidiag (PMatrix< T, 3, 3 > &H, PMatrix< T, 3, 3 > &U, PMatrix< T, 3, 3 > &V) |
| | make a 3X3 matrix to upper bidiagonal form original form of H: x x x x x x x x x after zero chase: x x 0 0 x x 0 0 x
|
| |
| template<class T > |
| void | MakeLambdaShape (PMatrix< T, 3, 3 > &H, PMatrix< T, 3, 3 > &U, PMatrix< T, 3, 3 > &V) |
| | make a 3X3 matrix to lambda shape original form of H: x x x x x x x x x after : x 0 0 x x 0 x 0 x
|
| |
| template<class T > |
| void | PolarDecomposition (const PMatrix< T, 2, 2 > &A, GivensRotation< T > &R, PMatrix< T, 2, 2 > &S_Sym) |
| | 2x2 polar decomposition.
|
| |
| template<class T > |
| void | PolarDecomposition (const PMatrix< T, 2, 2 > &A, PMatrix< T, 2, 2 > &R, PMatrix< T, 2, 2 > &S_Sym) |
| | 2x2 polar decomposition.
|
| |
| template<class T > |
| void | SingularValueDecomposition (const PMatrix< T, 2, 2 > &A, GivensRotation< T > &U, const TVector< T, 2 > &Sigma, GivensRotation< T > &V, const T tol=std::numeric_limits< T >::epsilon()) |
| | 2x2 SVD (singular value decomposition) A=USV'
|
| |
| template<class T > |
| void | SingularValueDecomposition (const PMatrix< T, 2, 2 > &A, const PMatrix< T, 2, 2 > &U, const TVector< T, 2 > &Sigma, const PMatrix< T, 2, 2 > &V, const T tol=std::numeric_limits< T >::epsilon()) |
| | 2x2 SVD (singular value decomposition) A=USV'
|
| |
| template<class T > |
| T | WilkinsonShift (const T a1, const T b1, const T a2) |
| | Compute WilkinsonShift of the block a1 b1 b1 a2 based on the WilkinsonShift formula mu = c + d - sign (d) \ sqrt (d*d + b*b), where d = (a-c)/2.
|
| |
| template<int t, class T > |
| void | Process (PMatrix< T, 3, 3 > &B, PMatrix< T, 3, 3 > &U, TVector< T, 3 > &sigma, PMatrix< T, 3, 3 > &V) |
| | Helper function of 3X3 SVD for Processing 2X2 SVD.
|
| |
| template<class T > |
| void | FlipSign (int i, PMatrix< T, 3, 3 > &U, TVector< T, 3 > &sigma) |
| | Helper function of 3X3 SVD for flipping signs due to flipping signs of sigma.
|
| |
| template<class T > |
| void | SwapCols (PMatrix< T, 3, 3 > &A, const int i1, const int i2) |
| |
| template<class T > |
| void | Sort0 (PMatrix< T, 3, 3 > &U, TVector< T, 3 > &sigma, PMatrix< T, 3, 3 > &V) |
| | Helper function of 3X3 SVD for sorting singular values.
|
| |
| template<class T > |
| void | Sort1 (PMatrix< T, 3, 3 > &U, TVector< T, 3 > &sigma, PMatrix< T, 3, 3 > &V) |
| | Helper function of 3X3 SVD for Sorting singular values.
|
| |
| template<class T > |
| int | SingularValueDecomposition (const PMatrix< T, 3, 3 > &A, PMatrix< T, 3, 3 > &U, TVector< T, 3 > &sigma, PMatrix< T, 3, 3 > &V, T tol=std::numeric_limits< T >::epsilon()) |
| | 3X3 SVD (singular value decomposition) A=USV'
|
| |
| template<class T > |
| void | PolarDecomposition (const PMatrix< T, 3, 3 > &A, PMatrix< T, 3, 3 > &R, PMatrix< T, 3, 3 > &S_Sym) |
| | 3X3 polar decomposition.
|
| |
| template<class T > |
| void | dRdFCorotated (const PMatrix< T, 3, 3 > &F, TVector< T, 81 > &dRdF) |
| |
| template<class T1 , class T2 > |
| bool | operator== (const Pair< T1, T2 > &First, const Pair< T1, T2 > &Second) |
| |
| template<class T1 , class T2 > |
| bool | operator< (const Pair< T1, T2 > &First, const Pair< T1, T2 > &Second) |
| |
| template<class T1 , class T2 > |
| bool | operator> (const Pair< T1, T2 > &First, const Pair< T1, T2 > &Second) |
| |
| template<class T1 , class T2 > |
| Pair< T1, T2 > | MakePair (const T1 &First, const T2 &Second) |
| |
| bool | operator== (const FRange &First, const FRange &Second) |
| |
| template<class T > |
| TVector< T, 3 > | operator* (const T S, const TVector< T, 3 > &V) |
| |
| template<class T > |
| TVector< T, 3 > | operator/ (const T S, const TVector< T, 3 > &V) |
| |
| template<class T > |
| uint32 | GetTypeHash (const Chaos::TVector< T, 2 > &V) |
| |
| template<class T > |
| uint32 | GetTypeHash (const Chaos::TVector< T, 3 > &V) |
| |
| template<typename T , int d> |
| FArchive & | SerializeReal (FArchive &Ar, TVector< T, d > &ValueIn) |
| |
| template<int d> |
| FArchive & | operator<< (FArchive &Ar, TVector< FRealSingle, d > &ValueIn) |
| |
| template<int d> |
| FArchive & | operator<< (FArchive &Ar, TVector< FRealDouble, d > &ValueIn) |
| |
| template<typename T , int d> |
| FArchive & | operator<< (FArchive &Ar, TVector< T, d > &ValueIn) |
| |
| const FName | HandbrakeControlName ("Handbrake") |
| |
| const FName | ThrottleControlName ("Throttle") |
| |
| const FName | SteeringControlName ("Steering") |
| |
| const FName | BrakeControlName ("Brake") |
| |
| const FName | ClutchControlName ("Clutch") |
| |
| const FName | BoostControlName ("Boost") |
| |
| const FName | ReverseControlName ("Reverse") |
| |
| const FName | ChangeUpControlName ("ChangeUp") |
| |
| const FName | ChangeDownControlName ("ChangeDown") |
| |
| const FName | PitchControlName ("Pitch") |
| |
| const FName | RollControlName ("Roll") |
| |
| const FName | YawControlName ("Yaw") |
| |
| FORCEINLINE float | MToCmScaling () |
| |
| FORCEINLINE float | CmToMScaling () |
| |
| FORCEINLINE float | RPMToOmega (float RPM) |
| |
| FORCEINLINE float | OmegaToRPM (float Omega) |
| |
| FORCEINLINE float | KmHToCmS (float KmH) |
| |
| FORCEINLINE float | CmSToKmH (float CmS) |
| |
| FORCEINLINE float | CmSToMPH (float CmS) |
| |
| FORCEINLINE float | MPHToCmS (float MPH) |
| |
| FORCEINLINE float | MPHToMS (float MPH) |
| |
| FORCEINLINE float | MSToMPH (float MS) |
| |
| FORCEINLINE float | CmToM (float Cm) |
| |
| FORCEINLINE FVector | CmToM (const FVector &Cm) |
| |
| FORCEINLINE float | MToCm (float M) |
| |
| FORCEINLINE FVector | MToCm (const FVector &M) |
| |
| FORCEINLINE float | CmToMiles (float Cm) |
| |
| FORCEINLINE float | KmToMile (float Km) |
| |
| FORCEINLINE float | MileToKm (float Miles) |
| |
| FORCEINLINE float | M2ToCm2 (float M2) |
| |
| FORCEINLINE float | Cm2ToM2 (float Cm2) |
| |
| FORCEINLINE float | DegToRad (float InDeg) |
| |
| FORCEINLINE float | RadToDeg (float InRad) |
| |
| FORCEINLINE float | Sqr (float Val) |
| |
| FORCEINLINE float | TorqueMToCm (float TorqueIn) |
| |
| FORCEINLINE float | TorqueCmToM (float TorqueIn) |
| |