UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::Private::FImplicitBVH Class Reference

#include <ImplicitObjectBVH.h>

Public Types

using FObjects = TArray< FImplicitBVHObject >
 

Public Member Functions

 ~FImplicitBVH ()
 
int32 GetNumObjects () const
 
int32 GetDepth () const
 
const TArray< FImplicitBVHObject > & GetObjects () const
 
const FImplicitBVHObjectGetObject (const int32 ObjectIndex) const
 
const FImplicitObjectGetGeometry (const int32 ObjectIndex) const
 
const FVec3fGetX (const int32 ObjectIndex) const
 
FRotation3f GetR (const int32 ObjectIndex) const
 
const FAABB3fGetBounds (const int32 ObjectIndex) const
 
FRigidTransform3f GetTransformf (const int32 ObjectIndex) const
 
FRigidTransform3 GetTransform (const int32 ObjectIndex) const
 
int32 GetRootObjectIndex (const int32 ObjectIndex) const
 
int32 GetObjectIndex (const int32 ObjectIndex) const
 
template<typename TVisitor >
void VisitAllIntersections (const FAABB3 &LocalBounds, const TVisitor &ObjectVisitor) const
 
template<typename TVisitor >
void VisitOverlappingNodes (const FAABB3 &LocalBounds, const TVisitor &NodeVisitor) const
 
template<typename TVisitor >
void VisitNodes (const TVisitor &NodeVisitor) const
 
template<typename TVisitor >
void VisitNodeObjects (const int32 NodeIndex, const TVisitor &ObjectVisitor) const
 
bool IsOverlappingBounds (const FAABB3 &LocalBounds) const
 
int32 GetNumNodes () const
 
const FAABB3fGetNodeBounds (const int32 NodeIndex) const
 
bool NodeIsLeaf (const int32 NodeIndex) const
 

Static Public Member Functions

static TUniquePtr< FImplicitBVHMakeEmpty ()
 
static int32 CountLeafObjects (const TArrayView< const Chaos::FImplicitObjectPtr > &InRootObjects)
 
static FObjects CollectLeafObjects (const TArrayView< const Chaos::FImplicitObjectPtr > &InRootObjects)
 
static void CollectLeafObject (const FImplicitObject *Object, const FRigidTransform3 &ParentTransform, const int32 RootObjectIndex, TArray< FImplicitBVHObject > &LeafObjects, const int32 LeafObjectIndex)
 
static TUniquePtr< FImplicitBVHTryMake (const TArrayView< const Chaos::FImplicitObjectPtr > &InRootObjects, const int32 MinObjects, const int32 InMaxBVHDepth)
 
static TUniquePtr< FImplicitBVHTryMakeFromLeaves (TArray< FImplicitBVHObject > &&LeafObjects, const int32 InMinObjects, const int32 InMaxBVHDepth)
 
template<typename TVisitor >
static void VisitOverlappingLeafNodes (const FImplicitBVH &BVHA, const FImplicitBVH &BVHB, const FRigidTransform3 &TransformBToA, const TVisitor &LeafPairVisitor)
 

Friends

FChaosArchiveoperator<< (FChaosArchive &Ar, FImplicitBVH &BVH)
 

Member Typedef Documentation

◆ FObjects

Constructor & Destructor Documentation

◆ ~FImplicitBVH()

Chaos::Private::FImplicitBVH::~FImplicitBVH ( )

Member Function Documentation

◆ CollectLeafObject()

void Chaos::Private::FImplicitBVH::CollectLeafObject ( const FImplicitObject Object,
const FRigidTransform3 ParentTransform,
const int32  RootObjectIndex,
TArray< FImplicitBVHObject > &  LeafObjects,
const int32  LeafObjectIndex 
)
static

◆ CollectLeafObjects()

FImplicitBVH::FObjects Chaos::Private::FImplicitBVH::CollectLeafObjects ( const TArrayView< const Chaos::FImplicitObjectPtr > &  InRootObjects)
static

◆ CountLeafObjects()

int32 Chaos::Private::FImplicitBVH::CountLeafObjects ( const TArrayView< const Chaos::FImplicitObjectPtr > &  InRootObjects)
static

◆ GetBounds()

const FAABB3f & Chaos::Private::FImplicitBVH::GetBounds ( const int32  ObjectIndex) const
inline

◆ GetDepth()

int32 Chaos::Private::FImplicitBVH::GetDepth ( ) const
inline

◆ GetGeometry()

const FImplicitObject * Chaos::Private::FImplicitBVH::GetGeometry ( const int32  ObjectIndex) const
inline

◆ GetNodeBounds()

const FAABB3f & Chaos::Private::FImplicitBVH::GetNodeBounds ( const int32  NodeIndex) const
inline

◆ GetNumNodes()

int32 Chaos::Private::FImplicitBVH::GetNumNodes ( ) const
inline

◆ GetNumObjects()

int32 Chaos::Private::FImplicitBVH::GetNumObjects ( ) const
inline

◆ GetObject()

const FImplicitBVHObject & Chaos::Private::FImplicitBVH::GetObject ( const int32  ObjectIndex) const
inline

◆ GetObjectIndex()

int32 Chaos::Private::FImplicitBVH::GetObjectIndex ( const int32  ObjectIndex) const
inline

◆ GetObjects()

const TArray< FImplicitBVHObject > & Chaos::Private::FImplicitBVH::GetObjects ( ) const
inline

◆ GetR()

FRotation3f Chaos::Private::FImplicitBVH::GetR ( const int32  ObjectIndex) const
inline

◆ GetRootObjectIndex()

int32 Chaos::Private::FImplicitBVH::GetRootObjectIndex ( const int32  ObjectIndex) const
inline

◆ GetTransform()

FRigidTransform3 Chaos::Private::FImplicitBVH::GetTransform ( const int32  ObjectIndex) const
inline

◆ GetTransformf()

FRigidTransform3f Chaos::Private::FImplicitBVH::GetTransformf ( const int32  ObjectIndex) const
inline

◆ GetX()

const FVec3f & Chaos::Private::FImplicitBVH::GetX ( const int32  ObjectIndex) const
inline

◆ IsOverlappingBounds()

bool Chaos::Private::FImplicitBVH::IsOverlappingBounds ( const FAABB3 LocalBounds) const
inline

◆ MakeEmpty()

TUniquePtr< FImplicitBVH > Chaos::Private::FImplicitBVH::MakeEmpty ( )
static

◆ NodeIsLeaf()

bool Chaos::Private::FImplicitBVH::NodeIsLeaf ( const int32  NodeIndex) const
inline

◆ TryMake()

TUniquePtr< FImplicitBVH > Chaos::Private::FImplicitBVH::TryMake ( const TArrayView< const Chaos::FImplicitObjectPtr > &  InRootObjects,
const int32  MinObjects,
const int32  InMaxBVHDepth 
)
static

◆ TryMakeFromLeaves()

TUniquePtr< FImplicitBVH > Chaos::Private::FImplicitBVH::TryMakeFromLeaves ( TArray< FImplicitBVHObject > &&  LeafObjects,
const int32  InMinObjects,
const int32  InMaxBVHDepth 
)
static

◆ VisitAllIntersections()

template<typename TVisitor >
void Chaos::Private::FImplicitBVH::VisitAllIntersections ( const FAABB3 LocalBounds,
const TVisitor ObjectVisitor 
) const
inline

◆ VisitNodeObjects()

template<typename TVisitor >
void Chaos::Private::FImplicitBVH::VisitNodeObjects ( const int32  NodeIndex,
const TVisitor ObjectVisitor 
) const
inline

◆ VisitNodes()

template<typename TVisitor >
void Chaos::Private::FImplicitBVH::VisitNodes ( const TVisitor NodeVisitor) const
inline

◆ VisitOverlappingLeafNodes()

template<typename TVisitor >
static void Chaos::Private::FImplicitBVH::VisitOverlappingLeafNodes ( const FImplicitBVH BVHA,
const FImplicitBVH BVHB,
const FRigidTransform3 TransformBToA,
const TVisitor LeafPairVisitor 
)
inlinestatic

◆ VisitOverlappingNodes()

template<typename TVisitor >
void Chaos::Private::FImplicitBVH::VisitOverlappingNodes ( const FAABB3 LocalBounds,
const TVisitor NodeVisitor 
) const
inline

Friends And Related Symbol Documentation

◆ operator<<

FChaosArchive & operator<< ( FChaosArchive Ar,
FImplicitBVH BVH 
)
friend

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