UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::FTrimeshBVH Struct Reference

#include <TriangleMeshImplicitObject.h>

Classes

struct  FChildData
 
struct  FNode
 

Public Types

enum class  EVisitorResult { Stop = 0 , Continue }
 
enum class  EFilterResult { Skip = 0 , Keep }
 
using FAABBType = TAABB< FRealSingle, 3 >
 

Public Member Functions

template<typename SQVisitor >
FORCEINLINE_DEBUGGABLE void Raycast (const FVec3 &Start, const FVec3 &Dir, const FReal Length, SQVisitor &Visitor) const
 
template<typename SQVisitor >
FORCEINLINE_DEBUGGABLE void Sweep (const FVec3 &Start, const FVec3 &Dir, const FReal Length, const FVec3 &QueryHalfExtents, SQVisitor &Visitor) const
 
template<typename SQVisitor >
FORCEINLINE_DEBUGGABLE void Overlap (const FAABBVectorized &AABB, SQVisitor &Visitor) const
 
template<typename SQVisitor >
FORCEINLINE_DEBUGGABLE void OverlapOBB (const Private::FOBBVectorized &Obb, SQVisitor &Visitor) const
 
template<typename QueryGeomType >
bool FindAllIntersectionsNoMTD (const Private::FOBBVectorized &Intersection, const TRigidTransform< FReal, 3 > &Transform, const QueryGeomType &QueryGeom, FReal Thickness, const FVec3 &TriMeshScale, const FTriangleMeshImplicitObject *TriMesh) const
 
template<typename QueryGeomType >
bool FindAllIntersectionsNoMTD (const FAABB3 &Intersection, const TRigidTransform< FReal, 3 > &Transform, const QueryGeomType &QueryGeom, FReal Thickness, const FVec3 &TriMeshScale, const FTriangleMeshImplicitObject *TriMesh) const
 
CHAOS_API TArray< int32FindAllIntersections (const FAABB3 &Intersection) const
 
template<typename BoundsFilterType , typename FaceVisitorType >
FORCEINLINE_DEBUGGABLE EVisitorResult VisitFaces (int32 StartIndex, int32 IndexCount, BoundsFilterType &BoundsFilter, FaceVisitorType &FaceVisitor) const
 
template<typename BoundsFilterType , typename FaceVisitorType >
FORCEINLINE_DEBUGGABLE void VisitTree (BoundsFilterType &BoundsFilter, FaceVisitorType &FaceVisitor) const
 
void Serialize (FChaosArchive &Ar)
 

Public Attributes

TArray< FNodeNodes
 
TArray< FAABBVectorizedFaceBounds
 

Member Typedef Documentation

◆ FAABBType

Member Enumeration Documentation

◆ EFilterResult

Enumerator
Skip 
Keep 

◆ EVisitorResult

Enumerator
Stop 
Continue 

Member Function Documentation

◆ FindAllIntersections()

TArray< int32 > Chaos::FTrimeshBVH::FindAllIntersections ( const FAABB3 Intersection) const

◆ FindAllIntersectionsNoMTD() [1/2]

template<typename QueryGeomType >
bool Chaos::FTrimeshBVH::FindAllIntersectionsNoMTD ( const FAABB3 Intersection,
const TRigidTransform< FReal, 3 > &  Transform,
const QueryGeomType QueryGeom,
FReal  Thickness,
const FVec3 TriMeshScale,
const FTriangleMeshImplicitObject TriMesh 
) const

◆ FindAllIntersectionsNoMTD() [2/2]

template<typename QueryGeomType >
bool Chaos::FTrimeshBVH::FindAllIntersectionsNoMTD ( const Private::FOBBVectorized Intersection,
const TRigidTransform< FReal, 3 > &  Transform,
const QueryGeomType QueryGeom,
FReal  Thickness,
const FVec3 TriMeshScale,
const FTriangleMeshImplicitObject TriMesh 
) const

◆ Overlap()

template<typename SQVisitor >
FORCEINLINE_DEBUGGABLE void Chaos::FTrimeshBVH::Overlap ( const FAABBVectorized AABB,
SQVisitor Visitor 
) const
inline

◆ OverlapOBB()

template<typename SQVisitor >
FORCEINLINE_DEBUGGABLE void Chaos::FTrimeshBVH::OverlapOBB ( const Private::FOBBVectorized Obb,
SQVisitor Visitor 
) const
inline

◆ Raycast()

template<typename SQVisitor >
FORCEINLINE_DEBUGGABLE void Chaos::FTrimeshBVH::Raycast ( const FVec3 Start,
const FVec3 Dir,
const FReal  Length,
SQVisitor Visitor 
) const
inline

◆ Serialize()

void Chaos::FTrimeshBVH::Serialize ( FChaosArchive Ar)
inline

◆ Sweep()

template<typename SQVisitor >
FORCEINLINE_DEBUGGABLE void Chaos::FTrimeshBVH::Sweep ( const FVec3 Start,
const FVec3 Dir,
const FReal  Length,
const FVec3 QueryHalfExtents,
SQVisitor Visitor 
) const
inline

◆ VisitFaces()

FORCEINLINE_DEBUGGABLE EVisitorResult Chaos::FTrimeshBVH::VisitFaces ( int32  StartIndex,
int32  IndexCount,
BoundsFilterType BoundsFilter,
FaceVisitorType FaceVisitor 
) const
inline

◆ VisitTree()

FORCEINLINE_DEBUGGABLE void Chaos::FTrimeshBVH::VisitTree ( BoundsFilterType BoundsFilter,
FaceVisitorType FaceVisitor 
) const
inline

Member Data Documentation

◆ FaceBounds

TArray<FAABBVectorized> Chaos::FTrimeshBVH::FaceBounds

◆ Nodes

TArray<FNode> Chaos::FTrimeshBVH::Nodes

The documentation for this struct was generated from the following files: