NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxSceneFlag Struct Reference

NVIDIA PhysX SDK 3.4 API

PxSceneFlag Struct Reference
[Physics]

flags for configuring properties of the scene More...

#include <PxSceneDesc.h>

List of all members.


Public Types

enum  Enum {
  eENABLE_ACTIVE_ACTORS = (1<<0),
  PX_DEPRECATED = (1<<1),
  eENABLE_CCD = (1<<2),
  eDISABLE_CCD_RESWEEP = (1<<3),
  eADAPTIVE_FORCE = (1<<4),
  eENABLE_KINEMATIC_STATIC_PAIRS = (1<<5),
  eENABLE_KINEMATIC_PAIRS = (1<<6),
  eENABLE_PCM = (1 << 9),
  eDISABLE_CONTACT_REPORT_BUFFER_RESIZE = (1 << 10),
  eDISABLE_CONTACT_CACHE = (1 << 11),
  eREQUIRE_RW_LOCK = (1 << 12),
  eENABLE_STABILIZATION = (1 << 14),
  eENABLE_AVERAGE_POINT = (1 << 15),
  eDEPRECATED_TRIGGER_TRIGGER_REPORTS = (1 << 16),
  eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS = (1 << 17),
  eSUPPRESS_EAGER_SCENE_QUERY_REFIT = (1 << 18),
  eENABLE_GPU_DYNAMICS = (1 << 19),
  eENABLE_ENHANCED_DETERMINISM = (1<<20),
  eMUTABLE_FLAGS = eENABLE_ACTIVE_ACTORS|eENABLE_ACTIVETRANSFORMS|eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS
}

Detailed Description

flags for configuring properties of the scene

See also:
PxScene

Member Enumeration Documentation

Enumerator:
eENABLE_ACTIVE_ACTORS  Enable Active Actors Notification.

This flag enables the Active Actor Notification feature for a scene. This feature defaults to disabled. When disabled, the function PxScene::getActiveActors() will always return a NULL list.

Note:
There may be a performance penalty for enabling the Active Actor Notification, hence this flag should only be enabled if the application intends to use the feature.
Default: False

PX_DEPRECATED  Enable Active Transform Notification.

This flag enables the Active Transform Notification feature for a scene. This feature defaults to disabled. When disabled, the function PxScene::getActiveTransforms() will always return a NULL list.

Note:
There may be a performance penalty for enabling the Active Transform Notification, hence this flag should only be enabled if the application intends to use the feature.
Default: False

eENABLE_CCD  Enables a second broad phase check after integration that makes it possible to prevent objects from tunneling through eachother.

PxPairFlag::eDETECT_CCD_CONTACT requires this flag to be specified.

Note:
For this feature to be effective for bodies that can move at a significant velocity, the user should raise the flag PxRigidBodyFlag::eENABLE_CCD for them.

This flag is not mutable, and must be set in PxSceneDesc at scene creation.

Default: False

See also:
PxRigidBodyFlag::eENABLE_CCD, PxPairFlag::eDETECT_CCD_CONTACT, eDISABLE_CCD_RESWEEP

eDISABLE_CCD_RESWEEP  Enables a simplified swept integration strategy, which sacrifices some accuracy for improved performance.

This simplified swept integration approach makes certain assumptions about the motion of objects that are not made when using a full swept integration. These assumptions usually hold but there are cases where they could result in incorrect behavior between a set of fast-moving rigid bodies. A key issue is that fast-moving dynamic objects may tunnel through each-other after a rebound. This will not happen if this mode is disabled. However, this approach will be potentially faster than a full swept integration because it will perform significantly fewer sweeps in non-trivial scenes involving many fast-moving objects. This approach should successfully resist objects passing through the static environment.

PxPairFlag::eDETECT_CCD_CONTACT requires this flag to be specified.

Note:
This scene flag requires eENABLE_CCD to be enabled as well. If it is not, this scene flag will do nothing.

For this feature to be effective for bodies that can move at a significant velocity, the user should raise the flag PxRigidBodyFlag::eENABLE_CCD for them.

This flag is not mutable, and must be set in PxSceneDesc at scene creation.

Default: False

See also:
PxRigidBodyFlag::eENABLE_CCD, PxPairFlag::eDETECT_CCD_CONTACT, eENABLE_CCD

eADAPTIVE_FORCE  Enable adaptive forces to accelerate convergence of the solver.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
Default: false

eENABLE_KINEMATIC_STATIC_PAIRS  Enable contact pair filtering between kinematic and static rigid bodies.

By default contacts between kinematic and static rigid bodies are suppressed (see PxFilterFlag::eSUPPRESS) and don't get reported to the filter mechanism. Raise this flag if these pairs should go through the filtering pipeline nonetheless.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
Default: false

eENABLE_KINEMATIC_PAIRS  Enable contact pair filtering between kinematic rigid bodies.

By default contacts between kinematic bodies are suppressed (see PxFilterFlag::eSUPPRESS) and don't get reported to the filter mechanism. Raise this flag if these pairs should go through the filtering pipeline nonetheless.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
Default: false

eENABLE_PCM  Enable GJK-based distance collision detection system.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
Default: true

eDISABLE_CONTACT_REPORT_BUFFER_RESIZE  Disable contact report buffer resize. Once the contact buffer is full, the rest of the contact reports will not be buffered and sent.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
Default: false

eDISABLE_CONTACT_CACHE  Disable contact cache.

Contact caches are used internally to provide faster contact generation. You can disable all contact caches if memory usage for this feature becomes too high.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
Default: false

eREQUIRE_RW_LOCK  Require scene-level locking.

When set to true this requires that threads accessing the PxScene use the multi-threaded lock methods.

Note:
This flag is not mutable, and must be set in PxSceneDesc at scene creation.
See also:
PxScene::lockRead

PxScene::unlockRead

PxScene::lockWrite

PxScene::unlockWrite

Default: false

eENABLE_STABILIZATION  Enables additional stabilization pass in solver.

When set to true, this enables additional stabilization processing to improve that stability of complex interactions between large numbers of bodies.

Note that this flag is not mutable and must be set in PxSceneDesc at scene creation. Also, this is an experimental feature which does result in some loss of momentum.

eENABLE_AVERAGE_POINT  Enables average points in contact manifolds.

When set to true, this enables additional contacts to be generated per manifold to represent the average point in a manifold. This can stabilize stacking when only a small number of solver iterations is used.

Note that this flag is not mutable and must be set in PxSceneDesc at scene creation.

eDEPRECATED_TRIGGER_TRIGGER_REPORTS  Enable legacy behavior to get trigger reports for interactions between two trigger shapes.

By default PhysX does not report trigger interactions between two trigger shapes any longer. Raise this flag to still get the corresponding reports.

Note that this flag is not mutable and must be set in PxSceneDesc at scene creation.

Deprecated:
This flag is deprecated and will be removed in PhysX 3.5.
See also:
PxSimulationEventCallback::onTrigger()
Default: false

eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS  Do not report kinematics in list of active actors/transforms.

Since the target pose for kinematics is set by the user, an application can track the activity state directly and use this flag to avoid that kinematics get added to the list of active actors/transforms.

Note:
This flag has only an effect in combination with eENABLE_ACTIVE_ACTORS or eENABLE_ACTIVETRANSFORMS.
See also:
eENABLE_ACTIVE_ACTORS eENABLE_ACTIVETRANSFORMS
Default: false

eSUPPRESS_EAGER_SCENE_QUERY_REFIT  Lazily refit the dynamic scene query tree, instead of eagerly refitting in fetchResults.

By default PhysX refits the dynamic scene query tree during fetchResults. Setting this flag during scene creation suppresses this behavior. Refit will then occur during the first scene query following fetchResults, or may be forced by the method PxScene::flushSceneQueryUpdates()

See also:
PxScene::flushSceneQueryUpdates()
Default: false

eENABLE_GPU_DYNAMICS 
eENABLE_ENHANCED_DETERMINISM  Provides improved determinism at the expense of performance.

By default, PhysX provides limited determinism guarantees. Specifically, PhysX guarantees that the exact scene (same actors created in the same order) and simulated using the same time-stepping scheme should provide the exact same behaviour.

However, if additional actors are added to the simulation, this can affect the behaviour of the existing actors in the simulation, even if the set of new actors do not interact with the existing actors.

This flag provides an additional level of determinism that guarantees that the simulation will not change if additional actors are added to the simulation, provided those actors do not interfere with the existing actors in the scene. Determinism is only guaranteed if the actors are inserted in a consistent order each run in a newly-created scene and simulated using a consistent time-stepping scheme.

Note that this flag is not mutable and must be set at scene creation.

Note that enabling this flag can have a negative impact on performance.

Note that this feature is not currently supported on GPU.

Default false

eMUTABLE_FLAGS 


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



Copyright © 2008-2017 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com