UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::ISpatialAcceleration< TPayloadType, T, d > Class Template Reference

#include <ISpatialAcceleration.h>

+ Inheritance diagram for Chaos::ISpatialAcceleration< TPayloadType, T, d >:

Public Types

using TPayload = TPayloadType
 

Public Member Functions

 ISpatialAcceleration (SpatialAccelerationType InType=static_cast< SpatialAccelerationType >(ESpatialAcceleration::Unknown))
 
 ISpatialAcceleration (ESpatialAcceleration InType)
 
virtual ~ISpatialAcceleration ()=default
 
virtual bool IsAsyncTimeSlicingComplete ()
 
virtual void ProgressAsyncTimeSlicing (bool ForceBuildCompletion=false)
 
virtual bool ShouldRebuild ()
 
virtual bool IsTreeDynamic () const
 
virtual void ClearShouldRebuild ()
 
virtual void PrepareCopyTimeSliced (const ISpatialAcceleration< TPayloadType, T, 3 > &InFrom)
 
virtual void ProgressCopyTimeSliced (const ISpatialAcceleration< TPayloadType, T, 3 > &InFrom, int MaximumBytesToCopy)
 
virtual void CacheOverlappingLeaves ()
 
virtual TArray< TPayloadType > FindAllIntersections (const FAABB3 &Box) const
 
virtual void Raycast (const FVec3 &Start, const FVec3 &Dir, const FReal Length, ISpatialVisitor< TPayloadType, FReal > &Visitor) const
 
virtual void Sweep (const FVec3 &Start, const FVec3 &Dir, const FReal Length, const FVec3 QueryHalfExtents, ISpatialVisitor< TPayloadType, FReal > &Visitor) const
 
virtual void Overlap (const FAABB3 &QueryBounds, ISpatialVisitor< TPayloadType, FReal > &Visitor) const
 
virtual void Reset ()
 
virtual bool RemoveElement (const TPayloadType &Payload)
 
virtual bool NeedUpdateElement (const TPayloadType &Payload, const TAABB< T, 3 > &NewBounds)
 
virtual bool UpdateElement (const TPayloadType &Payload, const TAABB< T, d > &NewBounds, bool bHasBounds)
 
virtual bool RemoveElementFrom (const TPayloadType &Payload, FSpatialAccelerationIdx Idx)
 
virtual bool NeedUpdateElementIn (const TPayloadType &Payload, const TAABB< T, d > &NewBounds, FSpatialAccelerationIdx Idx)
 
virtual bool UpdateElementIn (const TPayloadType &Payload, const TAABB< T, d > &NewBounds, bool bHasBounds, FSpatialAccelerationIdx Idx)
 
virtual TUniquePtr< ISpatialAcceleration< TPayloadType, T, d > > Copy () const
 
virtual void DeepAssign (const ISpatialAcceleration< TPayloadType, T, d > &Other)
 
virtual void DebugDraw (ISpacialDebugDrawInterface< T > *InInterface) const
 
virtual void DebugDrawLeaf (ISpacialDebugDrawInterface< T > &InInterface, const FLinearColor &InLinearColor, float InThickness) const
 
virtual void DumpStats () const
 
virtual void DumpStatsTo (class FOutputDevice &Ar) const
 
virtual void Serialize (FChaosArchive &Ar)
 
SpatialAccelerationType GetType () const
 
template<typename TConcrete >
TConcreteAs ()
 
template<typename TConcrete >
const TConcreteAs () const
 
template<typename TConcrete >
TConcreteAsChecked ()
 
template<typename TConcrete >
const TConcreteAsChecked () const
 
int32 GetSyncTimestamp ()
 
void SetSyncTimestamp (int32 InTimestamp)
 

Static Public Member Functions

static ISpatialAcceleration< TPayloadType, T, d > * SerializationFactory (FChaosArchive &Ar, ISpatialAcceleration< TPayloadType, T, d > *Accel)
 

Protected Member Functions

virtual void SetAsyncTimeSlicingComplete (bool InState)
 

Member Typedef Documentation

◆ TPayload

template<typename TPayloadType , typename T , int d>
using Chaos::ISpatialAcceleration< TPayloadType, T, d >::TPayload = TPayloadType

Constructor & Destructor Documentation

◆ ISpatialAcceleration() [1/2]

template<typename TPayloadType , typename T , int d>
Chaos::ISpatialAcceleration< TPayloadType, T, d >::ISpatialAcceleration ( SpatialAccelerationType  InType = static_cast<SpatialAccelerationType>(ESpatialAcceleration::Unknown))
inline

◆ ISpatialAcceleration() [2/2]

template<typename TPayloadType , typename T , int d>
Chaos::ISpatialAcceleration< TPayloadType, T, d >::ISpatialAcceleration ( ESpatialAcceleration  InType)
inline

◆ ~ISpatialAcceleration()

template<typename TPayloadType , typename T , int d>
virtual Chaos::ISpatialAcceleration< TPayloadType, T, d >::~ISpatialAcceleration ( )
virtualdefault

Member Function Documentation

◆ As() [1/2]

template<typename TPayloadType , typename T , int d>
template<typename TConcrete >
TConcrete * Chaos::ISpatialAcceleration< TPayloadType, T, d >::As ( )
inline

◆ As() [2/2]

template<typename TPayloadType , typename T , int d>
template<typename TConcrete >
const TConcrete * Chaos::ISpatialAcceleration< TPayloadType, T, d >::As ( ) const
inline

◆ AsChecked() [1/2]

template<typename TPayloadType , typename T , int d>
template<typename TConcrete >
TConcrete & Chaos::ISpatialAcceleration< TPayloadType, T, d >::AsChecked ( )
inline

◆ AsChecked() [2/2]

template<typename TPayloadType , typename T , int d>
template<typename TConcrete >
const TConcrete & Chaos::ISpatialAcceleration< TPayloadType, T, d >::AsChecked ( ) const
inline

◆ CacheOverlappingLeaves()

template<typename TPayloadType , typename T , int d>
virtual void Chaos::ISpatialAcceleration< TPayloadType, T, d >::CacheOverlappingLeaves ( )
inlinevirtual

◆ ClearShouldRebuild()

◆ Copy()

◆ DebugDraw()

◆ DebugDrawLeaf()

template<typename TPayloadType , typename T , int d>
virtual void Chaos::ISpatialAcceleration< TPayloadType, T, d >::DebugDrawLeaf ( ISpacialDebugDrawInterface< T > &  InInterface,
const FLinearColor InLinearColor,
float  InThickness 
) const
inlinevirtual

◆ DeepAssign()

template<typename TPayloadType , typename T , int d>
virtual void Chaos::ISpatialAcceleration< TPayloadType, T, d >::DeepAssign ( const ISpatialAcceleration< TPayloadType, T, d > &  Other)
inlinevirtual

◆ DumpStats()

◆ DumpStatsTo()

◆ FindAllIntersections()

◆ GetSyncTimestamp()

template<typename TPayloadType , typename T , int d>
int32 Chaos::ISpatialAcceleration< TPayloadType, T, d >::GetSyncTimestamp ( )
inline

This is the time the acceleration structure is synced up with.

◆ GetType()

template<typename TPayloadType , typename T , int d>
SpatialAccelerationType Chaos::ISpatialAcceleration< TPayloadType, T, d >::GetType ( ) const
inline

◆ IsAsyncTimeSlicingComplete()

template<typename TPayloadType , typename T , int d>
virtual bool Chaos::ISpatialAcceleration< TPayloadType, T, d >::IsAsyncTimeSlicingComplete ( )
inlinevirtual

◆ IsTreeDynamic()

◆ NeedUpdateElement()

template<typename TPayloadType , typename T , int d>
virtual bool Chaos::ISpatialAcceleration< TPayloadType, T, d >::NeedUpdateElement ( const TPayloadType &  Payload,
const TAABB< T, 3 > &  NewBounds 
)
inlinevirtual

◆ NeedUpdateElementIn()

template<typename TPayloadType , typename T , int d>
virtual bool Chaos::ISpatialAcceleration< TPayloadType, T, d >::NeedUpdateElementIn ( const TPayloadType &  Payload,
const TAABB< T, d > &  NewBounds,
FSpatialAccelerationIdx  Idx 
)
inlinevirtual

◆ Overlap()

template<typename TPayloadType , typename T , int d>
virtual void Chaos::ISpatialAcceleration< TPayloadType, T, d >::Overlap ( const FAABB3 QueryBounds,
ISpatialVisitor< TPayloadType, FReal > &  Visitor 
) const
inlinevirtual

◆ PrepareCopyTimeSliced()

template<typename TPayloadType , typename T , int d>
virtual void Chaos::ISpatialAcceleration< TPayloadType, T, d >::PrepareCopyTimeSliced ( const ISpatialAcceleration< TPayloadType, T, 3 > &  InFrom)
inlinevirtual

◆ ProgressAsyncTimeSlicing()

template<typename TPayloadType , typename T , int d>
virtual void Chaos::ISpatialAcceleration< TPayloadType, T, d >::ProgressAsyncTimeSlicing ( bool  ForceBuildCompletion = false)
inlinevirtual

◆ ProgressCopyTimeSliced()

template<typename TPayloadType , typename T , int d>
virtual void Chaos::ISpatialAcceleration< TPayloadType, T, d >::ProgressCopyTimeSliced ( const ISpatialAcceleration< TPayloadType, T, 3 > &  InFrom,
int  MaximumBytesToCopy 
)
inlinevirtual

◆ Raycast()

template<typename TPayloadType , typename T , int d>
virtual void Chaos::ISpatialAcceleration< TPayloadType, T, d >::Raycast ( const FVec3 Start,
const FVec3 Dir,
const FReal  Length,
ISpatialVisitor< TPayloadType, FReal > &  Visitor 
) const
inlinevirtual

◆ RemoveElement()

template<typename TPayloadType , typename T , int d>
virtual bool Chaos::ISpatialAcceleration< TPayloadType, T, d >::RemoveElement ( const TPayloadType &  Payload)
inlinevirtual

◆ RemoveElementFrom()

template<typename TPayloadType , typename T , int d>
virtual bool Chaos::ISpatialAcceleration< TPayloadType, T, d >::RemoveElementFrom ( const TPayloadType &  Payload,
FSpatialAccelerationIdx  Idx 
)
inlinevirtual

◆ Reset()

◆ SerializationFactory()

template<typename TPayloadType , typename T , int d>
static ISpatialAcceleration< TPayloadType, T, d > * Chaos::ISpatialAcceleration< TPayloadType, T, d >::SerializationFactory ( FChaosArchive Ar,
ISpatialAcceleration< TPayloadType, T, d > *  Accel 
)
inlinestatic

◆ Serialize()

◆ SetAsyncTimeSlicingComplete()

template<typename TPayloadType , typename T , int d>
virtual void Chaos::ISpatialAcceleration< TPayloadType, T, d >::SetAsyncTimeSlicingComplete ( bool  InState)
inlineprotectedvirtual

◆ SetSyncTimestamp()

template<typename TPayloadType , typename T , int d>
void Chaos::ISpatialAcceleration< TPayloadType, T, d >::SetSyncTimestamp ( int32  InTimestamp)
inline

Call this whenever updating the acceleration structure for a new sync point

◆ ShouldRebuild()

◆ Sweep()

template<typename TPayloadType , typename T , int d>
virtual void Chaos::ISpatialAcceleration< TPayloadType, T, d >::Sweep ( const FVec3 Start,
const FVec3 Dir,
const FReal  Length,
const FVec3  QueryHalfExtents,
ISpatialVisitor< TPayloadType, FReal > &  Visitor 
) const
inlinevirtual

◆ UpdateElement()

template<typename TPayloadType , typename T , int d>
virtual bool Chaos::ISpatialAcceleration< TPayloadType, T, d >::UpdateElement ( const TPayloadType &  Payload,
const TAABB< T, d > &  NewBounds,
bool  bHasBounds 
)
inlinevirtual

◆ UpdateElementIn()

template<typename TPayloadType , typename T , int d>
virtual bool Chaos::ISpatialAcceleration< TPayloadType, T, d >::UpdateElementIn ( const TPayloadType &  Payload,
const TAABB< T, d > &  NewBounds,
bool  bHasBounds,
FSpatialAccelerationIdx  Idx 
)
inlinevirtual

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