|
| virtual bool | addObjects (PrunerHandle *results, const PxBounds3 *bounds, const PrunerPayload *data, const PxTransform *transforms, PxU32 count, bool hasPruningStructure)=0 |
| | Adds objects to the pruner.
|
| |
| virtual void | removeObjects (const PrunerHandle *handles, PxU32 count, PrunerPayloadRemovalCallback *removalCallback)=0 |
| | Removes objects from the pruner.
|
| |
| virtual void | updateObjects (const PrunerHandle *handles, PxU32 count, float inflation=0.0f, const PxU32 *boundsIndices=NULL, const PxBounds3 *newBounds=NULL, const PxTransform32 *newTransforms=NULL)=0 |
| | Updates objects with new bounds & transforms.
|
| |
|
virtual void | purge ()=0 |
| | Gets rid of internal accel struct.
|
| |
| virtual void | commit ()=0 |
| | Makes the queries consistent with previous changes.
|
| |
| virtual void | merge (const void *mergeParams)=0 |
| | Merges pruning structure to current pruner, parameters may differ for each pruner implementation.
|
| |
| virtual bool | raycast (const PxVec3 &origin, const PxVec3 &unitDir, PxReal &inOutDistance, PrunerRaycastCallback &) const =0 |
| |
|
virtual bool | overlap (const Gu::ShapeData &queryVolume, PrunerOverlapCallback &) const =0 |
| |
|
virtual bool | sweep (const Gu::ShapeData &queryVolume, const PxVec3 &unitDir, PxReal &inOutDistance, PrunerRaycastCallback &) const =0 |
| |
| virtual const PrunerPayload & | getPayloadData (PrunerHandle handle, PrunerPayloadData *data=NULL) const =0 |
| | Retrieves the object's payload and data associated with the handle.
|
| |
| virtual void | preallocate (PxU32 nbEntries)=0 |
| | Preallocate space.
|
| |
| virtual bool | setTransform (PrunerHandle handle, const PxTransform &transform)=0 |
| | Sets object's transform.
|
| |
|
virtual bool | isDynamic () const |
| |
|
virtual void | getGlobalBounds (PxBounds3 &) const =0 |
| |
|
virtual void | shiftOrigin (const PxVec3 &shift)=0 |
| |
|
virtual void | visualize (PxRenderOutput &, PxU32, PxU32) const |
| |
|
PX_INLINE void * | operator new (size_t, void *address) |
| |
|
PX_INLINE void | operator delete (void *, void *) |
| |
|
template<typename Alloc > |
| PX_INLINE void * | operator new (size_t size, Alloc alloc, const char *fileName, int line) |
| |
|
template<typename Alloc > |
| PX_INLINE void * | operator new (size_t size, size_t, Alloc alloc, const char *fileName, int line) |
| |
|
template<typename Alloc > |
| PX_INLINE void * | operator new[] (size_t size, Alloc alloc, const char *fileName, int line) |
| |
|
template<typename Alloc > |
| PX_INLINE void * | operator new[] (size_t size, size_t, Alloc alloc, const char *fileName, int line) |
| |
|
template<typename Alloc > |
| PX_INLINE void | operator delete (void *ptr, Alloc alloc, const char *fileName, int line) |
| |
|
template<typename Alloc > |
| PX_INLINE void | operator delete[] (void *ptr, Alloc alloc, const char *fileName, int line) |
| |
|
PX_INLINE void | operator delete (void *ptr) |
| |
|
PX_INLINE void | operator delete[] (void *ptr) |
| |
| virtual void physx::Gu::Pruner::updateObjects |
( |
const PrunerHandle * |
handles, |
|
|
PxU32 |
count, |
|
|
float |
inflation = 0.0f, |
|
|
const PxU32 * |
boundsIndices = NULL, |
|
|
const PxBounds3 * |
newBounds = NULL, |
|
|
const PxTransform32 * |
newTransforms = NULL |
|
) |
| |
|
pure virtual |
Updates objects with new bounds & transforms.
There are two ways to use this function:
1) manual bounds update: you can manually update the bounds via "getPayloadData" calls prior to calling "updateObjects". In this case "updateObjects" only notifies the system that the data for these objects has changed. In this mode the "inflation", "boundsIndices", "newBounds" and "newTransforms" parameters should remain null.
2) synchronization mode: in this case the new bounds (and optionally the new transforms) have been computed by an external source and "updateObjects" tells the system to update its data from passed buffers. The new bounds are always inflated by the "inflation" parameter while being copied. "boundsIndices" is an optional remap table, allowing this call to only update a subset of the existing bounds (i.e. the updated bounds don't have to be first copied to a separate contiguous buffer).
- Parameters
-
| [in] | handles | The objects to update |
| [in] | count | The number of objects to update |
| [in] | inflation | Bounds inflation value |
| [in] | boundsIndices | The indices of the bounds in the bounds array (or NULL) |
| [in] | newBounds | Updated bounds array (or NULL) |
| [in] | newTransforms | Updated transforms array (or NULL) |