11 class hkCriticalSection;
12 class hkpBroadPhaseCastCollector;
13 class hkpBroadPhaseHandle;
14 class hkpBroadPhaseHandlePair;
Definition hkMultiThreadCheck.h:6
Definition hkReferencedObject.h:11
Definition hkpBroadPhaseCastCollector.h:8
Definition hkpBroadPhaseHandle.h:6
Definition hkpBroadPhase.h:21
static constexpr auto VTABLE
Definition hkpBroadPhase.h:24
virtual void GetOffsetLowHigh32bit(hkVector4 &a_offsetLow32bit, hkVector4 &a_offsetHigh32bit) const =0
virtual void GetAllAabbs(hkArray< hkAabb > &a_allAabbs) const =0
std::uint32_t pad24
Definition hkpBroadPhase.h:112
virtual void QuerySingleAabbWithCollector(const hkAabb &a_aabb, hkpBroadPhaseCastCollector *a_collector) const =0
virtual void Defragment()=0
BroadPhaseType
Definition hkpBroadPhase.h:27
const stl::enumeration< Capabilities, std::uint32_t > caps
Definition hkpBroadPhase.h:110
virtual void AddObject1(hkpBroadPhaseHandle *a_object, const hkAabbUint32 &a_aabb, hkArray< hkpBroadPhaseHandlePair > &a_pairsOut)=0
void CalcAabbCache(const hkArrayBase< hkpCollidable * > &a_overlappingCollidables, hkpBroadPhaseAabbCache *a_aabbCacheOut) const
virtual const hkpBroadPhase * GetCapabilityDelegate(Capabilities a_cap) const
hkCriticalSection * criticalSection
Definition hkpBroadPhase.h:113
virtual void UpdateAabbs(hkpBroadPhaseHandle *a_objects[], const hkAabb *a_aabbs, std::int32_t a_numObjects, hkArray< hkpBroadPhaseHandlePair > &a_addedPairs, hkArray< hkpBroadPhaseHandlePair > &a_removedPairs)=0
const stl::enumeration< BroadPhaseType, std::uint16_t > type
Definition hkpBroadPhase.h:108
virtual std::int32_t GetAabbCacheSize() const =0
virtual std::int32_t GetNumObjects() const =0
void CalcAabbCache(const hkAabb &a_aabb, hkpBroadPhaseAabbCache *a_aabbCacheOut) const
static constexpr auto RTTI
Definition hkpBroadPhase.h:23
void AddObject(hkpBroadPhaseHandle *a_object, const hkAabbUint32 &a_aabb, hkArray< hkpBroadPhaseHandlePair > &a_pairsOut)
Capabilities
Definition hkpBroadPhase.h:34
void AddObject(hkpBroadPhaseHandle *a_object, const hkAabb &a_aabb, hkArray< hkpBroadPhaseHandlePair > &a_pairsOut)
virtual void QuerySingleAabb(const hkAabb &a_aabb, hkArray< hkpBroadPhaseHandlePair > &a_pairsOut) const =0
virtual void RemoveObjectBatch(const hkArrayBase< hkpBroadPhaseHandle * > &a_removeObjectList, hkArray< hkpBroadPhaseHandlePair > &a_delPairsOut)=0
virtual void ReQuerySingleObject(const hkpBroadPhaseHandle *a_object, hkArray< hkpBroadPhaseHandlePair > &a_pairsOut) const =0
~hkpBroadPhase() override
virtual void RemoveObject(hkpBroadPhaseHandle *a_object, hkArray< hkpBroadPhaseHandlePair > &a_pairsOut)=0
const std::uint16_t size
Definition hkpBroadPhase.h:109
virtual void ShiftAllObjects(const hkVector4 &a_shiftDistance, hkVector4 &a_effectiveShiftDistanceOut, hkArray< hkpBroadPhaseHandlePair > &a_newCollisionPairs)=0
virtual void CastAabb(const hkpCastAabbInput &a_input, hkpBroadPhaseCastCollector &a_collector) const =0
hkMultiThreadCheck multiThreadCheck
Definition hkpBroadPhase.h:111
virtual void ShiftBroadPhase(const hkVector4 &a_shiftDistance, hkVector4 &a_effectiveShiftDistanceOut, hkArray< hkpBroadPhaseHandlePair > &a_newCollisionPairs)=0
virtual void CalcAabbCache2(const hkArrayBase< hkpCollidable * > &a_overlappingCollidables, hkpBroadPhaseAabbCache *a_aabbCacheOut) const =0
virtual bool AreAabbsOverlapping(const hkpBroadPhaseHandle *a_bhA, const hkpBroadPhaseHandle *a_bhB) const =0
virtual void Set32BitOffsetAndScale(const hkVector4 &a_offsetLow, const hkVector4 &a_offsetHigh, const hkVector4 &a_scale)=0
virtual void GetAabb(const hkpBroadPhaseHandle *a_object, hkAabb &a_aabb) const =0
virtual void CheckDeterminism()
virtual void UpdateAabbsUInt32(hkpBroadPhaseHandle *a_objects[], const hkAabbUint32 *a_aabbs, std::int32_t a_numObjects, hkArray< hkpBroadPhaseHandlePair > &a_addedPairs, hkArray< hkpBroadPhaseHandlePair > &a_removedPairs)=0
virtual void AddObject2(hkpBroadPhaseHandle *a_object, const hkAabb &a_aabb, hkArray< hkpBroadPhaseHandlePair > &a_pairsOut)=0
virtual BroadPhaseType GetType() const =0
virtual void GetExtents(hkVector4 &a_worldMinOut, hkVector4 &a_worldMaxOut) const =0
virtual void CastRay(const hkpCastRayInput &a_input, hkpBroadPhaseCastCollector *a_collectorBase, std::int32_t a_collectorStriding) const =0
virtual void CalcAabbCache1(const hkAabb &a_aabb, hkpBroadPhaseAabbCache *a_aabbCacheOut) const =0
virtual void AddObjectBatch(const hkArrayBase< hkpBroadPhaseHandle * > &a_addObjectList, const hkArrayBase< hkAabb > &a_addAabbList, hkArray< hkpBroadPhaseHandlePair > &a_newPairs)=0
Definition AbsorbEffect.h:6
constexpr std::array< REL::VariantID, 1 > VTABLE_hkpBroadPhase
Definition Offsets_VTABLE.h:5217
constexpr REL::VariantID RTTI_hkpBroadPhase(690079, 397934, 0x1f5cac0)
char hkpBroadPhaseAabbCache
Definition hkpBroadPhase.h:18