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

#include <ISpatialAcceleration.h>

Public Member Functions

virtual ~ISpatialVisitor ()=default
 
virtual bool Overlap (const TSpatialVisitorData< TPayloadType > &Instance)=0
 
virtual bool Raycast (const TSpatialVisitorData< TPayloadType > &Instance, FQueryFastData &CurData)=0
 
virtual bool Sweep (const TSpatialVisitorData< TPayloadType > &Instance, FQueryFastData &CurData)=0
 
virtual const voidGetQueryData () const
 
virtual const voidGetSimData () const
 
virtual bool ShouldIgnore (const TSpatialVisitorData< TPayloadType > &Instance) const
 
virtual const voidGetQueryPayload () const
 
virtual bool HasBlockingHit () const
 

Detailed Description

template<typename TPayloadType, typename T = FReal>
class Chaos::ISpatialVisitor< TPayloadType, T >

Visitor base class used to iterate through spatial acceleration structures. This class is responsible for gathering any information it wants (for example narrow phase query results). This class determines whether the acceleration structure should continue to iterate through potential instances

Constructor & Destructor Documentation

◆ ~ISpatialVisitor()

template<typename TPayloadType , typename T = FReal>
virtual Chaos::ISpatialVisitor< TPayloadType, T >::~ISpatialVisitor ( )
virtualdefault

Member Function Documentation

◆ GetQueryData()

template<typename TPayloadType , typename T = FReal>
virtual const void * Chaos::ISpatialVisitor< TPayloadType, T >::GetQueryData ( ) const
inlinevirtual

◆ GetQueryPayload()

template<typename TPayloadType , typename T = FReal>
virtual const void * Chaos::ISpatialVisitor< TPayloadType, T >::GetQueryPayload ( ) const
inlinevirtual

Return a pointer to the payload on which we are querying the acceleration structure

Reimplemented in TSQVisitor< QueryGeometryType, TPayload, THitType, bGTData >, and TBPVisitor< QueryGeometryType, TPayload, THitType, bGTData >.

◆ GetSimData()

template<typename TPayloadType , typename T = FReal>
virtual const void * Chaos::ISpatialVisitor< TPayloadType, T >::GetSimData ( ) const
inlinevirtual

◆ HasBlockingHit()

template<typename TPayloadType , typename T = FReal>
virtual bool Chaos::ISpatialVisitor< TPayloadType, T >::HasBlockingHit ( ) const
inlinevirtual

◆ Overlap()

template<typename TPayloadType , typename T = FReal>
virtual bool Chaos::ISpatialVisitor< TPayloadType, T >::Overlap ( const TSpatialVisitorData< TPayloadType > &  Instance)
pure virtual

Called whenever an instance in the acceleration structure may overlap @Instance - the instance we are potentially overlapping Returns true to continue iterating through the acceleration structure

Implemented in TSQVisitor< QueryGeometryType, TPayload, THitType, bGTData >, and TBPVisitor< QueryGeometryType, TPayload, THitType, bGTData >.

◆ Raycast()

template<typename TPayloadType , typename T = FReal>
virtual bool Chaos::ISpatialVisitor< TPayloadType, T >::Raycast ( const TSpatialVisitorData< TPayloadType > &  Instance,
FQueryFastData CurData 
)
pure virtual

Called whenever an instance in the acceleration structure may intersect with a raycast @Instance - the instance we are potentially intersecting with a raycast @CurData - the current query data. Call SetLength to update the length all future intersection tests will use. A blocking intersection should update this Returns true to continue iterating through the acceleration structure

Implemented in TSQVisitor< QueryGeometryType, TPayload, THitType, bGTData >, and TBPVisitor< QueryGeometryType, TPayload, THitType, bGTData >.

◆ ShouldIgnore()

template<typename TPayloadType , typename T = FReal>
virtual bool Chaos::ISpatialVisitor< TPayloadType, T >::ShouldIgnore ( const TSpatialVisitorData< TPayloadType > &  Instance) const
inlinevirtual

◆ Sweep()

template<typename TPayloadType , typename T = FReal>
virtual bool Chaos::ISpatialVisitor< TPayloadType, T >::Sweep ( const TSpatialVisitorData< TPayloadType > &  Instance,
FQueryFastData CurData 
)
pure virtual

Called whenever an instance in the acceleration structure may intersect with a sweep @Instance - the instance we are potentially intersecting with a sweep @CurLength - the length all future intersection tests will use. A blocking intersection should update this Returns true to continue iterating through the acceleration structure

Implemented in TSQVisitor< QueryGeometryType, TPayload, THitType, bGTData >, and TBPVisitor< QueryGeometryType, TPayload, THitType, bGTData >.


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