|
|
| PX_FORCE_INLINE void | setSceneQueryUpdateMode (PxSceneQueryUpdateMode::Enum updateMode) |
| | Sets scene query update mode.
|
| |
| PX_FORCE_INLINE PxSceneQueryUpdateMode::Enum | getSceneQueryUpdateMode () const |
| | Gets scene query update mode.
|
| |
| PX_FORCE_INLINE PxU32 | getSceneQueryStaticTimestamp () const |
| | Retrieves the scene's internal scene query timestamp, increased each time a change to the static scene query structure is performed.
|
| |
| PX_FORCE_INLINE void | flushQueryUpdates () |
| | Flushes any changes to the scene query representation.
|
| |
| PX_FORCE_INLINE void | forceDynamicTreeRebuild (bool rebuildStaticStructure, bool rebuildDynamicStructure) |
| | Forces dynamic trees to be immediately rebuilt.
|
| |
| virtual PxPruningStructureType::Enum | getStaticStructure () const =0 |
| | Return the value of PxSceneQueryDesc::staticStructure that was set when creating the scene with PxPhysics::createScene.
|
| |
| virtual PxPruningStructureType::Enum | getDynamicStructure () const =0 |
| | Return the value of PxSceneQueryDesc::dynamicStructure that was set when creating the scene with PxPhysics::createScene.
|
| |
| virtual void | sceneQueriesUpdate (PxBaseTask *completionTask=NULL, bool controlSimulation=true)=0 |
| | Executes scene queries update tasks.
|
| |
| virtual bool | checkQueries (bool block=false)=0 |
| | This checks to see if the scene queries update has completed.
|
| |
| virtual bool | fetchQueries (bool block=false)=0 |
| |
| virtual void | setDynamicTreeRebuildRateHint (PxU32 dynamicTreeRebuildRateHint)=0 |
| | Sets the rebuild rate of the dynamic tree pruning structures.
|
| |
| virtual PxU32 | getDynamicTreeRebuildRateHint () const =0 |
| | Retrieves the rebuild rate of the dynamic tree pruning structures.
|
| |
| virtual void | forceRebuildDynamicTree (PxU32 prunerIndex)=0 |
| | Forces dynamic trees to be immediately rebuilt.
|
| |
| virtual void | setUpdateMode (PxSceneQueryUpdateMode::Enum updateMode)=0 |
| | Sets scene query update mode.
|
| |
| virtual PxSceneQueryUpdateMode::Enum | getUpdateMode () const =0 |
| | Gets scene query update mode.
|
| |
| virtual PxU32 | getStaticTimestamp () const =0 |
| | Retrieves the system's internal scene query timestamp, increased each time a change to the static scene query structure is performed.
|
| |
| virtual void | flushUpdates ()=0 |
| | Flushes any changes to the scene query representation.
|
| |
| virtual bool | raycast (const PxVec3 &origin, const PxVec3 &unitDir, const PxReal distance, PxRaycastCallback &hitCall, PxHitFlags hitFlags=PxHitFlag::eDEFAULT, const PxQueryFilterData &filterData=PxQueryFilterData(), PxQueryFilterCallback *filterCall=NULL, const PxQueryCache *cache=NULL, PxGeometryQueryFlags queryFlags=PxGeometryQueryFlag::eDEFAULT) const =0 |
| | Performs a raycast against objects in the scene, returns results in a PxRaycastBuffer object or via a custom user callback implementation inheriting from PxRaycastCallback.
|
| |
| virtual bool | sweep (const PxGeometry &geometry, const PxTransform &pose, const PxVec3 &unitDir, const PxReal distance, PxSweepCallback &hitCall, PxHitFlags hitFlags=PxHitFlag::eDEFAULT, const PxQueryFilterData &filterData=PxQueryFilterData(), PxQueryFilterCallback *filterCall=NULL, const PxQueryCache *cache=NULL, const PxReal inflation=0.0f, PxGeometryQueryFlags queryFlags=PxGeometryQueryFlag::eDEFAULT) const =0 |
| | Performs a sweep test against objects in the scene, returns results in a PxSweepBuffer object or via a custom user callback implementation inheriting from PxSweepCallback.
|
| |
| virtual bool | overlap (const PxGeometry &geometry, const PxTransform &pose, PxOverlapCallback &hitCall, const PxQueryFilterData &filterData=PxQueryFilterData(), PxQueryFilterCallback *filterCall=NULL, const PxQueryCache *cache=NULL, PxGeometryQueryFlags queryFlags=PxGeometryQueryFlag::eDEFAULT) const =0 |
| | Performs an overlap test of a given geometry against objects in the scene, returns results in a PxOverlapBuffer object or via a custom user callback implementation inheriting from PxOverlapCallback.
|
| |
Traditional SQ system for PxScene.
Methods defined here are only available through the traditional PxScene API. Thus PxSceneSQSystem effectively captures the scene-query related part of the PxScene API.
- See also
- PxScene PxSceneQuerySystemBase
| virtual void physx::PxSceneSQSystem::sceneQueriesUpdate |
( |
PxBaseTask * |
completionTask = NULL, |
|
|
bool |
controlSimulation = true |
|
) |
| |
|
pure virtual |
Executes scene queries update tasks.
This function will refit dirty shapes within the pruner and will execute a task to build a new AABB tree, which is build on a different thread. The new AABB tree is built based on the dynamic tree rebuild hint rate. Once the new tree is ready it will be commited in next fetchQueries call, which must be called after.
This function is equivalent to the following PxSceneQuerySystem calls: Synchronous calls:
- PxSceneQuerySystemBase::flushUpdates()
- handle0 = PxSceneQuerySystem::prepareSceneQueryBuildStep(PX_SCENE_PRUNER_STATIC)
- handle1 = PxSceneQuerySystem::prepareSceneQueryBuildStep(PX_SCENE_PRUNER_DYNAMIC) Asynchronous calls:
- PxSceneQuerySystem::sceneQueryBuildStep(handle0);
- PxSceneQuerySystem::sceneQueryBuildStep(handle1);
This function is part of the PxSceneSQSystem interface because it uses the PxScene task system under the hood. But it calls PxSceneQuerySystem functions, which are independent from this system and could be called in a similar fashion by a separate, possibly user-defined task manager.
- Note
- If PxSceneQueryUpdateMode::eBUILD_DISABLED_COMMIT_DISABLED is used, it is required to update the scene queries using this function.
- Parameters
-
| [in] | completionTask | if non-NULL, this task will have its refcount incremented in sceneQueryUpdate(), then decremented when the scene is ready to have fetchQueries called. So the task will not run until the application also calls removeReference(). |
| [in] | controlSimulation | if true, the scene controls its PxTaskManager simulation state. Leave true unless the application is calling the PxTaskManager start/stopSimulation() methods itself. |
- See also
- PxSceneQueryUpdateMode::eBUILD_DISABLED_COMMIT_DISABLED
Implemented in physx::NpScene.