Navigation
API > API/Runtime > API/Runtime/Chaos
A Bounding Volume Hierarchy of a set of Implicit Objects.
| Name | FImplicitBVH |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/ImplicitObjectBVH.h |
| Include Path | #include "Chaos/ImplicitObjectBVH.h" |
Syntax
class FImplicitBVH
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FImplicitBVH () |
Chaos/ImplicitObjectBVH.h | ||
FImplicitBVH
(
FObjects&& InObjects, |
Chaos/ImplicitObjectBVH.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FImplicitBVH() |
Chaos/ImplicitObjectBVH.h |
Structs
| Name | Remarks |
|---|---|
| FWorkData |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FObjects | TArray< FImplicitBVHObject > | Chaos/ImplicitObjectBVH.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| NodeObjectIndices | TArray< int32 > | Chaos/ImplicitObjectBVH.h | ||
| Nodes | TArray< FImplicitBVHNode > | Chaos/ImplicitObjectBVH.h | ||
| Objects | FObjects | A BVH leaf holds an array of indices into the Objects array. | Chaos/ImplicitObjectBVH.h | |
| TreeDepth | int32 | Chaos/ImplicitObjectBVH.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
const FAABB3f & GetBounds
(
const int32 ObjectIndex |
Chaos/ImplicitObjectBVH.h | ||
int32 GetDepth() |
Chaos/ImplicitObjectBVH.h | ||
const FImplicitObject * GetGeometry
(
const int32 ObjectIndex |
Chaos/ImplicitObjectBVH.h | ||
const FAABB3f & GetNodeBounds
(
const int32 NodeIndex |
Chaos/ImplicitObjectBVH.h | ||
int32 GetNumNodes() |
Chaos/ImplicitObjectBVH.h | ||
int32 GetNumObjects() |
Chaos/ImplicitObjectBVH.h | ||
const FImplicitBVHObject & GetObject
(
const int32 ObjectIndex |
Chaos/ImplicitObjectBVH.h | ||
int32 GetObjectIndex
(
const int32 ObjectIndex |
Chaos/ImplicitObjectBVH.h | ||
const TArray< FImplicitBVHObject > & GetObjects() |
Chaos/ImplicitObjectBVH.h | ||
FRotation3f GetR
(
const int32 ObjectIndex |
Chaos/ImplicitObjectBVH.h | ||
int32 GetRootObjectIndex
(
const int32 ObjectIndex |
Chaos/ImplicitObjectBVH.h | ||
FRigidTransform3 GetTransform
(
const int32 ObjectIndex |
Chaos/ImplicitObjectBVH.h | ||
FRigidTransform3f GetTransformf
(
const int32 ObjectIndex |
Chaos/ImplicitObjectBVH.h | ||
const FVec3f & GetX
(
const int32 ObjectIndex |
Chaos/ImplicitObjectBVH.h | ||
bool IsOverlappingBounds
(
const FAABB3& LocalBounds |
Does the bounding box overlap any leaf nodes with items in it. | Chaos/ImplicitObjectBVH.h | |
bool NodeIsLeaf
(
const int32 NodeIndex |
Chaos/ImplicitObjectBVH.h | ||
void VisitAllIntersections
(
const FAABB3& LocalBounds, |
Visit all the leaf objects that overlap the specified bounds. | Chaos/ImplicitObjectBVH.h | |
void VisitNodeObjects
(
const int32 NodeIndex, |
Visit all the items in the specified leaf node (which is probably obtained from VisitHierarchy) | Chaos/ImplicitObjectBVH.h | |
void VisitNodes
(
const TVisitor& NodeVisitor |
Recursively visit all nodes in the hierarchy. | Chaos/ImplicitObjectBVH.h | |
void VisitOverlappingNodes
(
const FAABB3& LocalBounds, |
Calls the visitor for every overlapping leaf. | Chaos/ImplicitObjectBVH.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void CollectLeafObject
(
const FImplicitObject* Object, |
Chaos/ImplicitObjectBVH.h | ||
static FObjects CollectLeafObjects
(
const TArrayView< const Chaos::FImplicitObjectPtr >& InRootObjects |
Chaos/ImplicitObjectBVH.h | ||
static int32 CountLeafObjects
(
const TArrayView< const Chaos::FImplicitObjectPtr >& InRootObjects |
Utility for processing the hierarchy. | Chaos/ImplicitObjectBVH.h | |
static TUniquePtr< FImplicitBVH > MakeEmpty() |
Make an empty BVH (for serialization only) | Chaos/ImplicitObjectBVH.h | |
static TUniquePtr< FImplicitBVH > TryMake
(
const TArrayView< const Chaos::FImplicitObjectPtr >& InRootObjects, |
Create a BVH around a set of ImplicitObjects. | Chaos/ImplicitObjectBVH.h | |
static TUniquePtr< FImplicitBVH > TryMakeFromLeaves
(
TArray< FImplicitBVHObject >&& LeafObjects, |
Create a BVH around given a list of leaves. Will return null if the number of descendents is less that MinObjects. | Chaos/ImplicitObjectBVH.h | |
static void VisitOverlappingLeafNodes
(
const FImplicitBVH& BVHA, |
Chaos/ImplicitObjectBVH.h | ||
static void VisitOverlappingLeafNodesStack
(
const FImplicitBVH& BVHA, |
Chaos/ImplicitObjectBVH.h |