32#include "foundation/PxUserAllocated.h"
33#include "foundation/PxTransform.h"
34#include "GuPrunerPayload.h"
35#include "GuPrunerTypedef.h"
51 virtual bool invoke(PxReal& distance, PxU32 primIndex,
const PrunerPayload* payloads,
const PxTransform* transforms) = 0;
69 virtual void shiftOrigin(
const PxVec3& shift) = 0;
128 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;
147 virtual void merge(
const void* mergeParams) = 0;
194 virtual bool isDynamic()
const {
return false; }
196 virtual void getGlobalBounds(
PxBounds3&)
const = 0;
216 virtual bool buildStep(
bool synchronousCall =
true) = 0;
Definition GuPruner.h:203
virtual bool buildStep(bool synchronousCall=true)=0
virtual void setRebuildRateHint(PxU32 nbStepsForRebuild)=0
virtual bool prepareBuild()=0
virtual bool raycast(const PxVec3 &origin, const PxVec3 &unitDir, PxReal &inOutDistance, PrunerRaycastCallback &) const =0
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 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 commit()=0
Makes the queries consistent with previous changes.
virtual void preallocate(PxU32 nbEntries)=0
Preallocate space.
virtual void removeObjects(const PrunerHandle *handles, PxU32 count, PrunerPayloadRemovalCallback *removalCallback)=0
Removes objects from the pruner.
virtual void purge()=0
Gets rid of internal accel struct.
virtual bool setTransform(PrunerHandle handle, const PxTransform &transform)=0
Sets object's transform.
virtual const PrunerPayload & getPayloadData(PrunerHandle handle, PrunerPayloadData *data=NULL) const =0
Retrieves the object's payload and data associated with the handle.
virtual void merge(const void *mergeParams)=0
Merges pruning structure to current pruner, parameters may differ for each pruner implementation.
Definition GuBounds.h:115
Class representing 3D range or axis aligned bounding box.
Definition PxBounds3.h:58
Definition PxRenderOutput.h:50
Definition PxUserAllocated.h:43
3 Element vector class.
Definition PxVec3.h:50
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39
Definition GuPrunerPayload.h:55
Definition GuPrunerPayload.h:63
Definition GuPrunerPayload.h:43