Navigation
Unreal Engine C++ API Reference > Runtime > Chaos > Chaos
Inheritance Hierarchy
- ISpatialAcceleration
- TBoundingVolume
References
Module | Chaos |
Header | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/BoundingVolume.h |
Include | #include "Chaos/BoundingVolume.h" |
Syntax
template<typename InPayloadType, typename T, int d>
class TBoundingVolume : public Chaos::ISpatialAcceleration< InPayloadType, T, d >
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
|||
![]() |
TBoundingVolume
(
TBoundingVolume< TPayloadType, T, d >&& Other |
||
![]() |
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? | |
![]() |
TBoundingVolume
(
const ParticleView& Particles, |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
void | AddElement
(
const TPayloadBoundsElement< TPayloadType, T >& Payload |
|
![]() ![]() |
TArray< TPayloadType > | FindAllIntersectionsImp
(
const TAABB< T, d >& Intersection |
|
![]() |
void | GatherElements
(
TArray< TPayloadBoundsElement< TPayloadType, T >>& OutElements |
|
![]() ![]() |
TAABB< T, d > | GetBounds () |
|
![]() |
int32 | ||
![]() ![]() |
int32 | ||
![]() ![]() |
const TArray< TPayloadBoundsElement< TPayloadType, T > > & | ||
![]() ![]() |
bool | IsLeafDirty () |
Check if the leaf is dirty (if one of the payload have been updated) |
![]() ![]() |
void | ||
![]() ![]() ![]() |
void | Overlap
(
const TAABB< T, d >& QueryBounds, |
|
![]() ![]() |
bool | OverlapFast
(
const TAABB< T, d >& QueryBounds, |
|
![]() ![]() |
void | ||
![]() ![]() ![]() |
void | Raycast
(
const TVector< T, d >& Start, |
|
![]() ![]() |
bool | RaycastFast
(
const TVector< T, d >& Start, |
|
![]() ![]() |
bool | RaycastFastSimd
(
const VectorRegister4Double& Start, |
|
![]() |
void | ||
![]() |
void | Reinitialize
(
const ParticleView& Particles, |
|
![]() |
void | SetDirtyState
(
const bool bDirtyState |
Set the dirty flag onto the leaf |
![]() ![]() |
void | Sweep
(
const TVector< T, d >& Start, |
|
![]() ![]() |
void | ||
![]() ![]() |
bool |
Overridden from ISpatialAcceleration
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
TUniquePtr< ISpatialAcceleration< TPayloadType, T, d > > | Copy () |
|
![]() ![]() |
void | DeepAssign
(
const ISpatialAcceleration< TPayloadType, T, d >& Other |
|
![]() ![]() ![]() |
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 ) |
![]() ![]() |
bool | RemoveElement
(
const TPayloadType& Payload |
Returns true if element was removed successfully. |
![]() ![]() |
void | Reset () |
|
![]() ![]() |
void | Serialize
(
FChaosArchive& Ar |
|
![]() ![]() |
bool | UpdateElement
(
const TPayloadType& Payload, |
Operators
Type | Name | Description | |
---|---|---|---|
![]() |
TBoundingVolume< TPayloadType, T, d > & | operator=
(
TBoundingVolume< TPayloadType, T, d >&& Other |
|
![]() |
TBoundingVolume< TPayloadType, T, d > & | operator=
(
const TBoundingVolume< TPayloadType, T, d >& Other |
Typedefs
Name | Description |
---|---|
FCellElement | |
FPayloadInfo | |
PayloadType | |
TPayloadType | |
TType |
Constants
Name | Description |
---|---|
D | |
DefaultMaxCells | |
DefaultMaxPayloadBounds | |
StaticType |