UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ChaosInterface::FSQHitBuffer< HitType > Class Template Reference

#include <SQTypes.h>

+ Inheritance diagram for ChaosInterface::FSQHitBuffer< HitType >:

Public Member Functions

 FSQHitBuffer (bool bSingle=false)
 
virtual ~FSQHitBuffer ()
 
void IncFlushCount ()
 
void DecFlushCount ()
 
bool HasHit () const
 
int32 GetNumHits () const
 
HitType * GetHits ()
 
const HitType * GetHits () const
 
HitType * GetBlock ()
 
const HitType * GetBlock () const
 
bool HasBlockingHit () const
 
void SetBlockingHit (const HitType &InBlockingHit)
 
void AddTouchingHit (const HitType &InTouchingHit)
 
const HitType * GetCurrentHit () const
 
void InsertHit (const HitType &Hit, bool bBlocking)
 
bool WantsSingleResult () const
 

Detailed Description

template<typename HitType>
class ChaosInterface::FSQHitBuffer< HitType >

Stores the results of scene queries. This can be passed around to multiple SQAccelerators and is responsible for sorting the results and pruning based on blocking. IncFlushCount / DecFlushCount is used to ensure any final sort / pruning operation is done when all SQAccelerators are finished. If you are passing this into multiple accelerators you should call IncFlushCount / DecFlushCount yourself as otherwise each accelerator will trigger its own sort / prune.

Constructor & Destructor Documentation

◆ FSQHitBuffer()

template<typename HitType >
ChaosInterface::FSQHitBuffer< HitType >::FSQHitBuffer ( bool  bSingle = false)
inline

◆ ~FSQHitBuffer()

template<typename HitType >
virtual ChaosInterface::FSQHitBuffer< HitType >::~FSQHitBuffer ( )
inlinevirtual

Member Function Documentation

◆ AddTouchingHit()

template<typename HitType >
void ChaosInterface::FSQHitBuffer< HitType >::AddTouchingHit ( const HitType &  InTouchingHit)
inline

◆ DecFlushCount()

template<typename HitType >
void ChaosInterface::FSQHitBuffer< HitType >::DecFlushCount ( )
inline

◆ GetBlock() [1/2]

template<typename HitType >
HitType * ChaosInterface::FSQHitBuffer< HitType >::GetBlock ( )
inline

◆ GetBlock() [2/2]

template<typename HitType >
const HitType * ChaosInterface::FSQHitBuffer< HitType >::GetBlock ( ) const
inline

◆ GetCurrentHit()

template<typename HitType >
const HitType * ChaosInterface::FSQHitBuffer< HitType >::GetCurrentHit ( ) const
inline

◆ GetHits() [1/2]

template<typename HitType >
HitType * ChaosInterface::FSQHitBuffer< HitType >::GetHits ( )
inline

◆ GetHits() [2/2]

template<typename HitType >
const HitType * ChaosInterface::FSQHitBuffer< HitType >::GetHits ( ) const
inline

◆ GetNumHits()

template<typename HitType >
int32 ChaosInterface::FSQHitBuffer< HitType >::GetNumHits ( ) const
inline

◆ HasBlockingHit()

template<typename HitType >
bool ChaosInterface::FSQHitBuffer< HitType >::HasBlockingHit ( ) const
inline

◆ HasHit()

template<typename HitType >
bool ChaosInterface::FSQHitBuffer< HitType >::HasHit ( ) const
inline

◆ IncFlushCount()

template<typename HitType >
void ChaosInterface::FSQHitBuffer< HitType >::IncFlushCount ( )
inline

◆ InsertHit()

template<typename HitType >
void ChaosInterface::FSQHitBuffer< HitType >::InsertHit ( const HitType &  Hit,
bool  bBlocking 
)
inline

Does not do any distance verification. This is up to the SQ code to manage

◆ SetBlockingHit()

template<typename HitType >
void ChaosInterface::FSQHitBuffer< HitType >::SetBlockingHit ( const HitType &  InBlockingHit)
inline

◆ WantsSingleResult()

template<typename HitType >
bool ChaosInterface::FSQHitBuffer< HitType >::WantsSingleResult ( ) const
inline

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