Navigation
API > API/Runtime > API/Runtime/Chaos
| Name | TBoundingVolume |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/BoundingVolume.h |
| Include Path | #include "Chaos/BoundingVolume.h" |
Syntax
template<typename InPayloadType, typename T, int d>
class TBoundingVolume : public Chaos::ISpatialAcceleration< InPayloadType, FReal, 3 >
Implements Interfaces
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TBoundingVolume
(
const TBoundingVolume< TPayloadType, T, d >& Other |
Needed for tree of grids, should we have a more explicit way to copy an array of BVs to avoid this being public? | Chaos/BoundingVolume.h | |
| Chaos/BoundingVolume.h | |||
TBoundingVolume
(
TBoundingVolume< TPayloadType, T, d >&& Other |
Chaos/BoundingVolume.h | ||
TBoundingVolume
(
const ParticleView& Particles, |
Chaos/BoundingVolume.h |
Structs
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FCellElement | TBVCellElement< TPayloadType, T, d > | Chaos/BoundingVolume.h | |
| FPayloadInfo | TBVPayloadInfo< T, d > | Chaos/BoundingVolume.h | |
| PayloadType | TPayloadType | Chaos/BoundingVolume.h | |
| TPayloadType | InPayloadType | Chaos/BoundingVolume.h | |
| TType | T | Chaos/BoundingVolume.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| D | int | Chaos/BoundingVolume.h | |
| DefaultMaxCells | int32 | Chaos/BoundingVolume.h | |
| DefaultMaxPayloadBounds | T | Chaos/BoundingVolume.h | |
| StaticType | ESpatialAcceleration | Chaos/BoundingVolume.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bIsEmpty | bool | Chaos/BoundingVolume.h | ||
| MaxPayloadBounds | T | Chaos/BoundingVolume.h | ||
| MDirtyElements | TArray< FCellElement > | Chaos/BoundingVolume.h | ||
| MElements | TArrayND< TArray< FCellElement >, d > | Chaos/BoundingVolume.h | ||
| MGlobalPayloads | TArray< TPayloadBoundsElement< TPayloadType, T > > | Chaos/BoundingVolume.h | ||
| MGrid | TUniformGrid< T, d > | Chaos/BoundingVolume.h | ||
| MPayloadInfo | TArrayAsMap< TPayloadType, FPayloadInfo > | Chaos/BoundingVolume.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddElement
(
const TPayloadBoundsElement< TPayloadType, T >& Payload |
Chaos/BoundingVolume.h | ||
virtual void DeepAssign
(
const ISpatialAcceleration< TPayloadType, T, d >& Other |
Chaos/BoundingVolume.h | ||
| Chaos/BoundingVolume.h | |||
void GatherElements
(
TArray< TPayloadBoundsElement< TPayloadType, T > >& OutElements |
Chaos/BoundingVolume.h | ||
TAABB< T, d > GetBounds() |
Chaos/BoundingVolume.h | ||
int32 GetElementCount() |
Chaos/BoundingVolume.h | ||
int32 GetReserveCount() |
Chaos/BoundingVolume.h | ||
const TArray< TPayloadBoundsElement< TPayloadType, T > > & GlobalObjects() |
Chaos/BoundingVolume.h | ||
bool IsLeafDirty() |
Check if the leaf is dirty (if one of the payload have been updated) | Chaos/BoundingVolume.h | |
| Chaos/BoundingVolume.h | |||
virtual void Overlap
(
const TAABB< T, d >& QueryBounds, |
Chaos/BoundingVolume.h | ||
bool OverlapFast
(
const TAABB< T, d >& QueryBounds, |
Chaos/BoundingVolume.h | ||
| Chaos/BoundingVolume.h | |||
virtual void Raycast
(
const TVector< T, d >& Start, |
Chaos/BoundingVolume.h | ||
bool RaycastFast
(
const TVector< T, d >& Start, |
Chaos/BoundingVolume.h | ||
bool RaycastFastSimd
(
const VectorRegister4Double& Start, |
Chaos/BoundingVolume.h | ||
void RecomputeBounds
(
bool bDynamicTree |
Chaos/BoundingVolume.h | ||
void Reinitialize
(
const ParticleView& Particles, |
Chaos/BoundingVolume.h | ||
void SetDirtyState
(
const bool bDirtyState |
Set the dirty flag onto the leaf | Chaos/BoundingVolume.h | |
void Sweep
(
const TVector< T, d >& Start, |
Chaos/BoundingVolume.h | ||
| Chaos/BoundingVolume.h | |||
bool SweepFast
(
const TVector< T, d >& Start, |
Chaos/BoundingVolume.h | ||
virtual bool UpdateElement
(
const TPayloadType& Payload, |
Chaos/BoundingVolume.h | ||
void UpdateElementWithoutDirty
(
const TPayloadType& Payload, |
Chaos/BoundingVolume.h |
Overridden from ISpatialAcceleration
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual TUniquePtr< ISpatialAcceleration< TPayloadType, T, d > > Copy() |
Chaos/BoundingVolume.h | ||
virtual TArray< TPayloadType > FindAllIntersections
(
const FAABB3& Box |
IMPORTANT : (LWC) this API should be typed on Freal not T, as we want the query API to be using the highest precision while maintaining arbitrary internal precision for the acceleration structure ( based on T ) | Chaos/BoundingVolume.h | |
virtual bool RemoveElement
(
const TPayloadType& Payload |
Returns true if element was removed successfully. | Chaos/BoundingVolume.h | |
virtual void Reset() |
Chaos/BoundingVolume.h | ||
virtual void Serialize
(
FChaosArchive& Ar |
Chaos/BoundingVolume.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TBoundingVolume< TPayloadType, T, d > & operator=
(
TBoundingVolume< TPayloadType, T, d >&& Other |
Chaos/BoundingVolume.h | ||
TBoundingVolume< TPayloadType, T, d > & operator=
(
const TBoundingVolume< TPayloadType, T, d >& Other |
Chaos/BoundingVolume.h |