CommonLibVR
|
#include <hkpBroadPhase.h>
Classes | |
struct | hkpCastAabbInput |
struct | hkpCastRayInput |
Public Types | |
enum class | BroadPhaseType { k16Bit , k32Bit , kHybrid } |
enum class | Capabilities { kNone = 0 , kRayCast = 1 << 0 , kLinearCast = 1 << 1 , kAABBQuery = 1 << 2 , kClosestPoints = 1 << 3 , kCharProxyInt = 1 << 4 , kISASweepAndPrune = 1 << 12 } |
Public Types inherited from RE::hkReferencedObject | |
enum class | LockMode { kNone = 0 , kAuto , kManual } |
enum | { kMemSize = 0x7FFF } |
Public Member Functions | |
~hkpBroadPhase () override | |
virtual BroadPhaseType | GetType () const =0 |
virtual const hkpBroadPhase * | GetCapabilityDelegate (Capabilities a_cap) const |
virtual void | AddObject1 (hkpBroadPhaseHandle *a_object, const hkAabbUint32 &a_aabb, hkArray< hkpBroadPhaseHandlePair > &a_pairsOut)=0 |
virtual void | AddObject2 (hkpBroadPhaseHandle *a_object, const hkAabb &a_aabb, hkArray< hkpBroadPhaseHandlePair > &a_pairsOut)=0 |
virtual void | AddObjectBatch (const hkArrayBase< hkpBroadPhaseHandle * > &a_addObjectList, const hkArrayBase< hkAabb > &a_addAabbList, hkArray< hkpBroadPhaseHandlePair > &a_newPairs)=0 |
virtual void | RemoveObject (hkpBroadPhaseHandle *a_object, hkArray< hkpBroadPhaseHandlePair > &a_pairsOut)=0 |
virtual void | RemoveObjectBatch (const hkArrayBase< hkpBroadPhaseHandle * > &a_removeObjectList, hkArray< hkpBroadPhaseHandlePair > &a_delPairsOut)=0 |
virtual std::int32_t | GetNumObjects () const =0 |
virtual void | UpdateAabbs (hkpBroadPhaseHandle *a_objects[], const hkAabb *a_aabbs, std::int32_t a_numObjects, hkArray< hkpBroadPhaseHandlePair > &a_addedPairs, hkArray< hkpBroadPhaseHandlePair > &a_removedPairs)=0 |
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 | Defragment ()=0 |
virtual void | CheckDeterminism () |
virtual void | GetAllAabbs (hkArray< hkAabb > &a_allAabbs) const =0 |
virtual void | GetAabb (const hkpBroadPhaseHandle *a_object, hkAabb &a_aabb) const =0 |
virtual void | GetExtents (hkVector4 &a_worldMinOut, hkVector4 &a_worldMaxOut) const =0 |
virtual void | QuerySingleAabb (const hkAabb &a_aabb, hkArray< hkpBroadPhaseHandlePair > &a_pairsOut) const =0 |
virtual void | ReQuerySingleObject (const hkpBroadPhaseHandle *a_object, hkArray< hkpBroadPhaseHandlePair > &a_pairsOut) const =0 |
virtual void | QuerySingleAabbWithCollector (const hkAabb &a_aabb, hkpBroadPhaseCastCollector *a_collector) const =0 |
virtual bool | AreAabbsOverlapping (const hkpBroadPhaseHandle *a_bhA, const hkpBroadPhaseHandle *a_bhB) const =0 |
virtual void | ShiftAllObjects (const hkVector4 &a_shiftDistance, hkVector4 &a_effectiveShiftDistanceOut, hkArray< hkpBroadPhaseHandlePair > &a_newCollisionPairs)=0 |
virtual void | ShiftBroadPhase (const hkVector4 &a_shiftDistance, hkVector4 &a_effectiveShiftDistanceOut, hkArray< hkpBroadPhaseHandlePair > &a_newCollisionPairs)=0 |
virtual void | GetOffsetLowHigh32bit (hkVector4 &a_offsetLow32bit, hkVector4 &a_offsetHigh32bit) const =0 |
virtual void | CastRay (const hkpCastRayInput &a_input, hkpBroadPhaseCastCollector *a_collectorBase, std::int32_t a_collectorStriding) const =0 |
virtual std::int32_t | GetAabbCacheSize () const =0 |
virtual void | CalcAabbCache1 (const hkAabb &a_aabb, hkpBroadPhaseAabbCache *a_aabbCacheOut) const =0 |
virtual void | CalcAabbCache2 (const hkArrayBase< hkpCollidable * > &a_overlappingCollidables, hkpBroadPhaseAabbCache *a_aabbCacheOut) const =0 |
virtual void | CastAabb (const hkpCastAabbInput &a_input, hkpBroadPhaseCastCollector &a_collector) const =0 |
virtual void | Set32BitOffsetAndScale (const hkVector4 &a_offsetLow, const hkVector4 &a_offsetHigh, const hkVector4 &a_scale)=0 |
void | AddObject (hkpBroadPhaseHandle *a_object, const hkAabbUint32 &a_aabb, hkArray< hkpBroadPhaseHandlePair > &a_pairsOut) |
void | AddObject (hkpBroadPhaseHandle *a_object, const hkAabb &a_aabb, hkArray< hkpBroadPhaseHandlePair > &a_pairsOut) |
void | CalcAabbCache (const hkAabb &a_aabb, hkpBroadPhaseAabbCache *a_aabbCacheOut) const |
void | CalcAabbCache (const hkArrayBase< hkpCollidable * > &a_overlappingCollidables, hkpBroadPhaseAabbCache *a_aabbCacheOut) const |
Public Member Functions inherited from RE::hkReferencedObject | |
hkReferencedObject () | |
~hkReferencedObject () override=default | |
virtual const hkClass * | GetClassType () const |
virtual void | CalcContentStatistics (hkStatisticsCollector *a_collector, const hkClass *a_class) const |
void | AddReference () const |
std::int32_t | GetAllocatedSize () const |
std::int32_t | GetReferenceCount () const |
void | RemoveReference () const |
Public Member Functions inherited from RE::hkBaseObject | |
virtual | ~hkBaseObject ()=default |
Public Attributes | |
const stl::enumeration< BroadPhaseType, std::uint16_t > | type |
const std::uint16_t | size { 0 } |
const stl::enumeration< Capabilities, std::uint32_t > | caps |
hkMultiThreadCheck | multiThreadCheck |
std::uint32_t | pad24 |
hkCriticalSection * | criticalSection |
Public Attributes inherited from RE::hkReferencedObject | |
std::uint16_t | memSizeAndFlags |
volatile std::int16_t | referenceCount |
std::uint32_t | pad0C |
Static Public Attributes | |
static constexpr auto | RTTI = RTTI_hkpBroadPhase |
static constexpr auto | VTABLE = VTABLE_hkpBroadPhase |
Static Public Attributes inherited from RE::hkReferencedObject | |
static constexpr auto | RTTI = RTTI_hkReferencedObject |
static constexpr auto | VTABLE = VTABLE_hkReferencedObject |
Static Public Attributes inherited from RE::hkBaseObject | |
static constexpr auto | RTTI = RTTI_hkBaseObject |
static constexpr auto | VTABLE = VTABLE_hkBaseObject |
|
strong |
|
strong |
|
override |
void RE::hkpBroadPhase::AddObject | ( | hkpBroadPhaseHandle * | a_object, |
const hkAabb & | a_aabb, | ||
hkArray< hkpBroadPhaseHandlePair > & | a_pairsOut | ||
) |
void RE::hkpBroadPhase::AddObject | ( | hkpBroadPhaseHandle * | a_object, |
const hkAabbUint32 & | a_aabb, | ||
hkArray< hkpBroadPhaseHandlePair > & | a_pairsOut | ||
) |
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
void RE::hkpBroadPhase::CalcAabbCache | ( | const hkAabb & | a_aabb, |
hkpBroadPhaseAabbCache * | a_aabbCacheOut | ||
) | const |
void RE::hkpBroadPhase::CalcAabbCache | ( | const hkArrayBase< hkpCollidable * > & | a_overlappingCollidables, |
hkpBroadPhaseAabbCache * | a_aabbCacheOut | ||
) | const |
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
virtual |
Reimplemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
Implemented in RE::hkp3AxisSweep.
|
virtual |
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
|
pure virtual |
Implemented in RE::hkp3AxisSweep.
const stl::enumeration<Capabilities, std::uint32_t> RE::hkpBroadPhase::caps |
hkCriticalSection* RE::hkpBroadPhase::criticalSection |
|
mutable |
std::uint32_t RE::hkpBroadPhase::pad24 |
|
inlinestaticconstexpr |
const std::uint16_t RE::hkpBroadPhase::size { 0 } |
const stl::enumeration<BroadPhaseType, std::uint16_t> RE::hkpBroadPhase::type |
|
inlinestaticconstexpr |