PxBroadPhaseUpdateData
Defined in include/PxBroadPhase.h
-
class PxBroadPhaseUpdateData
Broadphase data update structure.
This structure is used to update the low-level broadphase (PxBroadPhase). All added, updated and removed objects must be batched and submitted at once to the broadphase.
Broadphase objects have bounds, a filtering group, and a distance. With the low-level broadphase the data must be externally managed by the clients of the broadphase API, and passed to the update function.
The provided bounds are non-inflated “base” bounds that can be further extended by the broadphase using the passed distance value. These can be contact offsets, or dynamically updated distance values for e.g. speculative contacts. Either way they are optional and can be left to zero. The broadphase implementations efficiently combine the base bounds with the per-object distance values at runtime.
The per-object filtering groups are used to discard some pairs directly within the broadphase, which is more efficient than reporting the pairs and culling them in a second pass.
See also
PxBpFilterGroup PxBpIndex PxBounds3 PxBroadPhase::update
Public Functions
-
inline PxBroadPhaseUpdateData(const PxBpIndex *created, PxU32 nbCreated, const PxBpIndex *updated, PxU32 nbUpdated, const PxBpIndex *removed, PxU32 nbRemoved, const PxBounds3 *bounds, const PxBpFilterGroup *groups, const float *distances, PxU32 capacity)
-
inline PxBroadPhaseUpdateData(const PxBroadPhaseUpdateData &other)
-
PxBroadPhaseUpdateData &operator=(const PxBroadPhaseUpdateData &other)
Public Members
-
const PxBpFilterGroup *mGroups
(Persistent) array of groups.
-
const float *mDistances
(Persistent) array of distances.
-
inline PxBroadPhaseUpdateData(const PxBpIndex *created, PxU32 nbCreated, const PxBpIndex *updated, PxU32 nbUpdated, const PxBpIndex *removed, PxU32 nbRemoved, const PxBounds3 *bounds, const PxBpFilterGroup *groups, const float *distances, PxU32 capacity)