29#ifndef BP_AABBMANAGER_H
30#define BP_AABBMANAGER_H
32#include "foundation/PxHashSet.h"
33#include "foundation/PxHashMap.h"
34#include "BpAABBManagerTasks.h"
35#include "BpAABBManagerBase.h"
46 struct BroadPhasePair;
50 class PersistentPairs;
64 return (p.mIndex0 == mIndex0) && (p.mIndex1 == mIndex1);
77 const PxU64 value0 = *
reinterpret_cast<const PxU64*
>(
this);
78 const PxU64 value1 = *
reinterpret_cast<const PxU64*
>(&p);
79 return value0 < value1;
84 return (p.mID0 == mID0) && (p.mID1 == mID1);
89 return (p.mID0 != mID0) || (p.mID1 != mID1);
110 virtual const char*
getName()
const {
return "PostBroadPhaseStage2Task"; }
112 void setFlushPool(
Cm::FlushPool* pool) { mFlushPool = pool; }
114 virtual void runInternal();
132 PxU32 maxNbAggregates, PxU32 maxNbShapes,
PxVirtualAllocator& allocator, PxU64 contextID,
139 virtual AggregateHandle createAggregate(BoundsIndex index, Bp::FilterGroup::Enum group,
void* userData, PxU32 maxNumShapes, PxAggregateFilterHint filterHint)
PX_OVERRIDE;
140 virtual bool destroyAggregate(BoundsIndex& index, Bp::FilterGroup::Enum& group, AggregateHandle aggregateHandle)
PX_OVERRIDE;
141 virtual bool addBounds(BoundsIndex index, PxReal contactDistance, Bp::FilterGroup::Enum group,
void* userdata, AggregateHandle aggregateHandle, ElementType::Enum volumeType)
PX_OVERRIDE;
142 virtual bool removeBounds(BoundsIndex index)
PX_OVERRIDE;
146 virtual void reallocateChangedAABBMgActorHandleMap(
const PxU32 size)
PX_OVERRIDE;
148 virtual void releaseDeferredAggregateIds()
PX_OVERRIDE{}
151 void preBpUpdate_CPU(PxU32 numCpuTasks);
156 void resetBpCacheData();
171 PxU32 mFirstFreeAggregate;
186 PX_ASSERT(handle<mAggregates.
size());
187 return mAggregates[handle];
190 void startAggregateBoundsComputationTasks(PxU32 nbToGo, PxU32 numCpuTasks,
Cm::FlushPool& flushPool);
194 void handleOriginShift();
Definition BpAABBManager.cpp:676
Definition BpAABBManager.cpp:766
Definition BpAABBManager.cpp:812
Definition BpAABBManager.cpp:1882
Definition BpAABBManager.cpp:1992
A structure responsible for: storing an aabb representation for each active shape in the related scen...
Definition BpAABBManagerBase.h:165
A structure responsible for: storing an aabb representation for each active shape in the related scen...
Definition BpAABBManager.h:128
Definition BpAABBManager.cpp:98
Definition BpAABBManagerBase.h:101
Definition BpBroadPhase.h:99
Definition BpAABBManager.cpp:192
Definition BpAABBManager.h:99
virtual const char * getName() const
Return a user-provided task name for profiling purposes.
Definition BpAABBManager.h:110
Definition BpAABBManagerTasks.h:75
Definition CmFlushPool.h:49
PX_FORCE_INLINE uint32_t size() const
Definition PxArray.h:242
Base class of all task types.
Definition PxTask.h:45
Definition PxHashMap.h:101
Definition PxHashSet.h:77
Definition PxRenderOutput.h:50
Definition PxAllocator.h:158
Definition PxcScratchAllocator.h:42
#define PX_FORCE_INLINE
Definition PxPreprocessor.h:335
#define PX_OVERRIDE
Definition PxPreprocessor.h:375
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39
Definition BpAABBManager.h:56
Definition BpAABBManagerBase.h:83
Definition BpBroadPhase.h:82
Definition BpAABBManager.h:71
Enum
Definition PxFiltering.h:717