71 PxU32 addPruner(
Gu::Pruner* pruner, PxU32 preallocated);
73 Gu::PrunerHandle addPrunerShape(
const Gu::PrunerPayload& payload, PxU32 prunerIndex,
bool dynamic, PrunerCompoundId compoundId,
const PxBounds3& bounds,
const PxTransform& transform,
bool hasPruningStructure=
false);
74 void addCompoundShape(
const PxBVH& bvh, PrunerCompoundId compoundId,
const PxTransform& compoundTransform, Gu::PrunerHandle* prunerHandle,
const Gu::PrunerPayload* payloads,
const PxTransform* transforms,
bool isDynamic);
75 void markForUpdate(PxU32 prunerIndex,
bool dynamic, PrunerCompoundId compoundId, Gu::PrunerHandle shapeHandle,
const PxTransform& transform);
76 void removePrunerShape(PxU32 prunerIndex,
bool dynamic, PrunerCompoundId compoundId, Gu::PrunerHandle shapeHandle,
Gu::PrunerPayloadRemovalCallback* removalCallback);
78 PX_FORCE_INLINE PxU32 getNbPruners()
const {
return mPrunerExt.size(); }
84 void preallocate(PxU32 prunerIndex, PxU32 nbShapes);
86 void setDynamicTreeRebuildRateHint(PxU32 dynTreeRebuildRateHint);
87 PX_FORCE_INLINE PxU32 getDynamicTreeRebuildRateHint()
const {
return mRebuildRateHint; }
90 void forceRebuildDynamicTree(PxU32 prunerIndex);
92 void updateCompoundActor(PrunerCompoundId compoundId,
const PxTransform& compoundTransform);
95 void* prepareSceneQueriesUpdate(PxU32 prunerIndex);
96 void sceneQueryBuildStep(
void* handle);
98 void sync(PxU32 prunerIndex,
const Gu::PrunerHandle* handles,
const PxU32* boundsIndices,
const PxBounds3* bounds,
const PxTransform32* transforms, PxU32 count,
const PxBitMap& ignoredIndices);
99 void afterSync(
bool buildStep,
bool commit);
100 void shiftOrigin(
const PxVec3& shift);
104 PX_FORCE_INLINE PxU32 getStaticTimestamp()
const {
return mStaticTimestamp; }
108 PxU32 startCustomBuildstep();
109 void customBuildstep(PxU32 index);
110 void finishCustomBuildstep();
112 void createTreeOfPruners();
120 const PxU64 mContextID;
121 PxU32 mStaticTimestamp;
122 PxU32 mRebuildRateHint;
123 const float mInflation;
127 volatile bool mPrunerNeedsUpdating;
128 volatile bool mTimestampNeedsUpdating;
129 const bool mUsesTreeOfPruners;
132 PX_FORCE_INLINE void invalidateStaticTimestamp() { mStaticTimestamp++; }
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39