UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CollisionOneShotManifoldsMeshShapes.cpp File Reference

Namespaces

namespace  Chaos
 
namespace  Chaos::CVars
 
namespace  Chaos::Collisions
 

Functions

FReal Chaos::Collisions::CalculateTriMeshPhiTolerance (const FReal CullDistance)
 
template<typename TriMeshType >
void Chaos::Collisions::ConstructSphereTriangleMeshOneShotManifold (const FSphere &Sphere, const FRigidTransform3 &SphereWorldTransform, const TriMeshType &TriangleMesh, const FRigidTransform3 &TriMeshWorldTransform, const FReal Dt, FPBDCollisionConstraint &Constraint)
 
void Chaos::Collisions::ConstructSphereHeightFieldOneShotManifold (const FSphere &Sphere, const FRigidTransform3 &SphereTransform, const FHeightField &Heightfield, const FRigidTransform3 &HeightfieldTransform, const FReal Dt, FPBDCollisionConstraint &Constraint)
 
template<typename ConvexType >
void Chaos::Collisions::ConstructConvexTriangleOneShotManifold3 (const ConvexType &Convex, const FRigidTransform3 &ConvexTransform, Private::FMeshContactGenerator &ContactGenerator, const int32 TriangleIndex, const FReal CullDistance, FContactPointManifold &OutContactPoints)
 
template<typename ConvexType >
void Chaos::Collisions::GenerateConvexTriangleOneShotManifold (const ConvexType &Convex, const FTriangle &Triangle, const FReal CullDistance, FContactPointManifold &OutContactPoints)
 Generate a manifold between a convex shape and a single triangle Templated so we can specialize for some shape types.
 
template<>
void Chaos::Collisions::GenerateConvexTriangleOneShotManifold< FImplicitCapsule3 > (const FImplicitCapsule3 &Capsule, const FTriangle &Triangle, const FReal CullDistance, FContactPointManifold &OutContactPoints)
 
template<>
void Chaos::Collisions::GenerateConvexTriangleOneShotManifold< FImplicitSphere3 > (const FImplicitSphere3 &Sphere, const FTriangle &Triangle, const FReal CullDistance, FContactPointManifold &OutContactPoints)
 
template<typename ConvexType >
void Chaos::Collisions::GenerateConvexTriangleOneShotManifold (const ConvexType &Convex, const FRigidTransform3 &ConvexTransform, Private::FMeshContactGenerator &ContactGenerator, const int32 TriangleIndex, const FReal CullDistance, FContactPointManifold &OutContactPoints)
 
template<>
void Chaos::Collisions::GenerateConvexTriangleOneShotManifold< FImplicitCapsule3 > (const FImplicitCapsule3 &Capsule, const FRigidTransform3 &ConvexTransform, Private::FMeshContactGenerator &ContactGenerator, const int32 TriangleIndex, const FReal CullDistance, FContactPointManifold &OutContactPoints)
 
template<>
void Chaos::Collisions::GenerateConvexTriangleOneShotManifold< FImplicitSphere3 > (const FImplicitSphere3 &Sphere, const FRigidTransform3 &ConvexTransform, Private::FMeshContactGenerator &ContactGenerator, const int32 TriangleIndex, const FReal CullDistance, FContactPointManifold &OutContactPoints)
 
template<typename ConvexType , typename MeshType >
void Chaos::Collisions::ConstructConvexMeshOneShotManifold2 (const ConvexType &Convex, const FRigidTransform3 &ConvexTransform, const MeshType &Mesh, const FRigidTransform3 &MeshTransform, const FVec3 &MeshScale, const FReal CullDistance, Private::FMeshContactGenerator &ContactGenerator)
 
template<typename ConvexType >
void Chaos::Collisions::GenerateConvexTriangleOneShotManifoldMACD_PostManifoldFix (const ConvexType &Convex, const FRigidTransform3 &ConvexTransform, const FVec3 &InConvexRelativeMovement, Private::FMeshContactGenerator &ContactGenerator, const int32 TriangleIndex, const FReal CullDistance, FContactPointManifold &OutContactPoints)
 
template<typename ConvexType >
void Chaos::Collisions::GenerateConvexTriangleOneShotManifoldMACD_PreManifoldFix (const ConvexType &Convex, const FRigidTransform3 &ConvexTransform, const FVec3 &ConvexRelativeMovement, Private::FMeshContactGenerator &ContactGenerator, const int32 TriangleIndex, const FReal CullDistance, FContactPointManifold &OutContactPoints)
 
template<typename ConvexType >
void Chaos::Collisions::GenerateConvexTriangleOneShotManifoldMACD (const ConvexType &Convex, const FRigidTransform3 &ConvexTransform, const FVec3 &ConvexRelativeMovement, Private::FMeshContactGenerator &ContactGenerator, const int32 TriangleIndex, const FReal CullDistance, FContactPointManifold &OutContactPoints)
 
template<>
void Chaos::Collisions::GenerateConvexTriangleOneShotManifoldMACD (const FImplicitSphere3 &Convex, const FRigidTransform3 &ConvexTransform, const FVec3 &InConvexRelativeMovement, Private::FMeshContactGenerator &ContactGenerator, const int32 TriangleIndex, const FReal CullDistance, FContactPointManifold &OutContactPoints)
 
template<typename ConvexType , typename MeshType >
void Chaos::Collisions::ConstructConvexMeshOneShotManifoldMACD (const ConvexType &Convex, const FRigidTransform3 &ConvexTransform, const MeshType &Mesh, const FRigidTransform3 &MeshTransform, const FVec3 &MeshScale, const FVec3 &RelativeMovement, const FReal InCullDistance, Private::FMeshContactGenerator &ContactGenerator)
 
template<typename ConvexType , typename MeshType >
void Chaos::Collisions::GenerateConvexMeshContactPoints (const ConvexType &Convex, const MeshType &Mesh, const FAABB3 &MeshQueryBounds, const FRigidTransform3 &MeshToConvexTransform, const FReal CullDistance, FContactTriangleCollector &MeshContacts)
 Create a minimized set of contact points between a convex polyhedron (box, convex) and a non-convex mesh (trimesh, heightfield)
 
template<typename ConvexType , typename MeshType >
void Chaos::Collisions::ConstructConvexMeshOneShotManifold (const ConvexType &Convex, const FRigidTransform3 &ConvexTransform, const MeshType &Mesh, const FRigidTransform3 &MeshTransform, const FVec3 &MeshScale, const FReal CullDistance, FContactTriangleCollector &MeshContacts)
 Used by all the convex types to generate a manifold against any mesh type.
 
void Chaos::Collisions::ConstructQuadraticConvexTriMeshOneShotManifold (const FImplicitObject &Quadratic, const FRigidTransform3 &Quadraticransform, const FImplicitObject &TriangleMesh, const FRigidTransform3 &TriMeshTransform, const FReal Dt, FPBDCollisionConstraint &Constraint)
 Build the contact manifold between a Quadratic Convex shape and a TriMesh.
 
void Chaos::Collisions::ConstructQuadraticConvexHeightFieldOneShotManifold (const FImplicitObject &Quadratic, const FRigidTransform3 &QuadraticTransform, const FHeightField &HeightField, const FRigidTransform3 &HeightFieldTransform, const FReal Dt, FPBDCollisionConstraint &Constraint)
 Build the contact manifold between a Quadratic Convex shape (Sphere, Capsule) and a TriMesh.
 
void Chaos::Collisions::ConstructPlanarConvexTriMeshOneShotManifold (const FImplicitObject &Convex, const FRigidTransform3 &ConvexTransform, const FImplicitObject &InMesh, const FRigidTransform3 &MeshTransform, FPBDCollisionConstraint &Constraint)
 Populate the Constraint with a manifold of contacts between a Convex and a TriangleMesh.
 
void Chaos::Collisions::ConstructPlanarConvexHeightFieldOneShotManifold (const FImplicitObject &Convex, const FRigidTransform3 &ConvexTransform, const FHeightField &Mesh, const FRigidTransform3 &MeshTransform, FPBDCollisionConstraint &Constraint)
 Populate the Constraint with a manifold of contacts between a Convex and a HeightField.