RavEngine
Loading...
Searching...
No Matches
physx::PxSceneQueryDesc Class Reference

Descriptor class for scene query system. See #PxSceneQuerySystem. More...

#include <PxSceneQueryDesc.h>

Inheritance diagram for physx::PxSceneQueryDesc:
[legend]

Public Member Functions

PX_INLINE PxSceneQueryDesc ()
 constructor sets to default.
 
PX_INLINE void setToDefault ()
 (re)sets the structure to the default.
 
PX_INLINE bool isValid () const
 Returns true if the descriptor is valid.
 

Public Attributes

PxPruningStructureType::Enum staticStructure
 Defines the structure used to store static objects (PxRigidStatic actors).
 
PxPruningStructureType::Enum dynamicStructure
 Defines the structure used to store dynamic objects (non-PxRigidStatic actors).
 
PxU32 dynamicTreeRebuildRateHint
 Hint for how much work should be done per simulation frame to rebuild the pruning structures.
 
PxDynamicTreeSecondaryPruner::Enum dynamicTreeSecondaryPruner
 Secondary pruner for dynamic tree.
 
PxBVHBuildStrategy::Enum staticBVHBuildStrategy
 Build strategy for PxSceneQueryDesc::staticStructure.
 
PxBVHBuildStrategy::Enum dynamicBVHBuildStrategy
 Build strategy for PxSceneQueryDesc::dynamicStructure.
 
PxU32 staticNbObjectsPerNode
 Number of objects per node for PxSceneQueryDesc::staticStructure.
 
PxU32 dynamicNbObjectsPerNode
 Number of objects per node for PxSceneQueryDesc::dynamicStructure.
 
PxSceneQueryUpdateMode::Enum sceneQueryUpdateMode
 Defines the scene query update mode.
 

Detailed Description

Descriptor class for scene query system. See #PxSceneQuerySystem.

Member Function Documentation

◆ isValid()

PX_INLINE bool physx::PxSceneQueryDesc::isValid ( ) const

Returns true if the descriptor is valid.

Returns
true if the current settings are valid.

Member Data Documentation

◆ dynamicBVHBuildStrategy

PxBVHBuildStrategy::Enum physx::PxSceneQueryDesc::dynamicBVHBuildStrategy

◆ dynamicNbObjectsPerNode

PxU32 physx::PxSceneQueryDesc::dynamicNbObjectsPerNode

Number of objects per node for PxSceneQueryDesc::dynamicStructure.

This parameter is used to refine / control the number of objects per node for PxSceneQueryDesc::dynamicStructure. This is only used with PxPruningStructureType::eDYNAMIC_AABB_TREE and PxPruningStructureType::eSTATIC_AABB_TREE.

This parameter has an impact on how quickly the structure gets built, and on the per-frame cost of maintaining the structure. Increasing this value gives smaller AABB-trees that use less memory, are faster to build and update, but it can lead to slower queries.

Default: 4

See also
PxSceneQueryDesc::dynamicStructure

◆ dynamicStructure

PxPruningStructureType::Enum physx::PxSceneQueryDesc::dynamicStructure

Defines the structure used to store dynamic objects (non-PxRigidStatic actors).

Default: PxPruningStructureType::eDYNAMIC_AABB_TREE

See also
PxPruningStructureType PxSceneSQSystem.getDynamicStructure()

◆ dynamicTreeRebuildRateHint

PxU32 physx::PxSceneQueryDesc::dynamicTreeRebuildRateHint

Hint for how much work should be done per simulation frame to rebuild the pruning structures.

This parameter gives a hint on the distribution of the workload for rebuilding the dynamic AABB tree pruning structure PxPruningStructureType::eDYNAMIC_AABB_TREE. It specifies the desired number of simulation frames the rebuild process should take. Higher values will decrease the workload per frame but the pruning structure will get more and more outdated the longer the rebuild takes (which can make scene queries less efficient).

Note
Only used for PxPruningStructureType::eDYNAMIC_AABB_TREE pruning structures.
Both staticStructure & dynamicStructure can use a PxPruningStructureType::eDYNAMIC_AABB_TREE, in which case this parameter is used for both.
This parameter gives only a hint. The rebuild process might still take more or less time depending on the number of objects involved.

Range: [4, PX_MAX_U32)
Default: 100

See also
PxSceneQuerySystemBase.setDynamicTreeRebuildRateHint() PxSceneQuerySystemBase.getDynamicTreeRebuildRateHint()

◆ dynamicTreeSecondaryPruner

PxDynamicTreeSecondaryPruner::Enum physx::PxSceneQueryDesc::dynamicTreeSecondaryPruner

Secondary pruner for dynamic tree.

This is used for PxPruningStructureType::eDYNAMIC_AABB_TREE structures, to control how objects added to the system at runtime are managed.

Note
Both staticStructure & dynamicStructure can use a PxPruningStructureType::eDYNAMIC_AABB_TREE, in which case this parameter is used for both.

Default: PxDynamicTreeSecondaryPruner::eINCREMENTAL

See also
PxDynamicTreeSecondaryPruner

◆ sceneQueryUpdateMode

PxSceneQueryUpdateMode::Enum physx::PxSceneQueryDesc::sceneQueryUpdateMode

◆ staticBVHBuildStrategy

PxBVHBuildStrategy::Enum physx::PxSceneQueryDesc::staticBVHBuildStrategy

◆ staticNbObjectsPerNode

PxU32 physx::PxSceneQueryDesc::staticNbObjectsPerNode

Number of objects per node for PxSceneQueryDesc::staticStructure.

This parameter is used to refine / control the number of objects per node for PxSceneQueryDesc::staticStructure. This is only used with PxPruningStructureType::eDYNAMIC_AABB_TREE and PxPruningStructureType::eSTATIC_AABB_TREE.

This parameter has an impact on how quickly the structure gets built, and on the per-frame cost of maintaining the structure. Increasing this value gives smaller AABB-trees that use less memory, are faster to build and update, but it can lead to slower queries.

Default: 4

See also
PxSceneQueryDesc::staticStructure

◆ staticStructure

PxPruningStructureType::Enum physx::PxSceneQueryDesc::staticStructure

Defines the structure used to store static objects (PxRigidStatic actors).

There are usually a lot more static actors than dynamic actors in a scene, so they are stored in a separate structure. The idea is that when dynamic actors move each frame, the static structure remains untouched and does not need updating.

Default: PxPruningStructureType::eDYNAMIC_AABB_TREE

Note
Only PxPruningStructureType::eSTATIC_AABB_TREE and PxPruningStructureType::eDYNAMIC_AABB_TREE are allowed here.
See also
PxPruningStructureType PxSceneSQSystem.getStaticStructure()

The documentation for this class was generated from the following file: