Public Types | List of all members
PxVisualizationParameter Struct Reference

Debug visualization parameters. More...

#include <PxVisualizationParameter.h>

Public Types

enum  Enum {
  eSCALE,
  eWORLD_AXES,
  eBODY_AXES,
  eBODY_MASS_AXES,
  eBODY_LIN_VELOCITY,
  eBODY_ANG_VELOCITY,
  eBODY_JOINT_GROUPS,
  eCONTACT_POINT,
  eCONTACT_NORMAL,
  eCONTACT_ERROR,
  eCONTACT_FORCE,
  eACTOR_AXES,
  eCOLLISION_AABBS,
  eCOLLISION_SHAPES,
  eCOLLISION_AXES,
  eCOLLISION_COMPOUNDS,
  eCOLLISION_FNORMALS,
  eCOLLISION_EDGES,
  eCOLLISION_STATIC,
  eCOLLISION_DYNAMIC,
  eCOLLISION_PAIRS,
  eJOINT_LOCAL_FRAMES,
  eJOINT_LIMITS,
  ePARTICLE_SYSTEM_POSITION,
  ePARTICLE_SYSTEM_VELOCITY,
  ePARTICLE_SYSTEM_COLLISION_NORMAL,
  ePARTICLE_SYSTEM_BOUNDS,
  ePARTICLE_SYSTEM_GRID,
  ePARTICLE_SYSTEM_BROADPHASE_BOUNDS,
  ePARTICLE_SYSTEM_MAX_MOTION_DISTANCE,
  eCULL_BOX,
  eCLOTH_VERTICAL,
  eCLOTH_HORIZONTAL,
  eCLOTH_BENDING,
  eCLOTH_SHEARING,
  eCLOTH_VIRTUAL_PARTICLES,
  eMBP_REGIONS,
  eNUM_VALUES,
  eFORCE_DWORD = 0x7fffffff
}
 

Detailed Description

Debug visualization parameters.

PxVisualizationParameter::eSCALE is the master switch for enabling visualization, please read the corresponding documentation for further details.

See Also
PxScene.setVisualizationParameter() PxScene.getVisualizationParameter() PxScene.getRenderBuffer()

Member Enumeration Documentation

Enumerator
eSCALE 

This overall visualization scale gets multiplied with the individual scales. Setting to zero ignores all visualizations. Default is 0.

The below settings permit the debug visualization of various simulation properties. The setting is either zero, in which case the property is not drawn. Otherwise it is a scaling factor that determines the size of the visualization widgets.

Only objects for which visualization is turned on using setFlag(eVISUALIZATION) are visualized (see PxActorFlag::eVISUALIZATION, PxShapeFlag::eVISUALIZATION, ...). Contacts are visualized if they involve a body which is being visualized. Default is 0.

Notes:

  • to see any visualization, you have to set PxVisualizationParameter::eSCALE to nonzero first.
  • the scale factor has been introduced because it's difficult (if not impossible) to come up with a good scale for 3D vectors. Normals are normalized and their length is always 1. But it doesn't mean we should render a line of length 1. Depending on your objects/scene, this might be completely invisible or extremely huge. That's why the scale factor is here, to let you tune the length until it's ok in your scene.
  • however, things like collision shapes aren't ambiguous. They are clearly defined for example by the triangles & polygons themselves, and there's no point in scaling that. So the visualization widgets are only scaled when it makes sense.

Range: [0, PX_MAX_F32)
Default: 0

eWORLD_AXES 

Visualize the world axes.

eBODY_AXES 

Visualize a bodies axes.

See Also
PxActor.globalPose PxActor
eBODY_MASS_AXES 

Visualize a body's mass axes.

This visualization is also useful for visualizing the sleep state of bodies. Sleeping bodies are drawn in black, while awake bodies are drawn in white. If the body is sleeping and part of a sleeping group, it is drawn in red.

See Also
PxBodyDesc.massLocalPose PxActor
eBODY_LIN_VELOCITY 

Visualize the bodies linear velocity.

See Also
PxBodyDesc.linearVelocity PxActor
eBODY_ANG_VELOCITY 

Visualize the bodies angular velocity.

See Also
PxBodyDesc.angularVelocity PxActor
eBODY_JOINT_GROUPS 

Visualize the bodies joint projection group.

See Also
PxBodyDesc.angularVelocity PxActor
eCONTACT_POINT 

Visualize contact points. Will enable contact information.

eCONTACT_NORMAL 

Visualize contact normals. Will enable contact information.

eCONTACT_ERROR 

Visualize contact errors. Will enable contact information.

eCONTACT_FORCE 

Visualize Contact forces. Will enable contact information.

eACTOR_AXES 

Visualize actor axes.

See Also
PxRigidStatic PxRigidDynamic PxArticulationLink
eCOLLISION_AABBS 

Visualize bounds (AABBs in world space)

eCOLLISION_SHAPES 

Shape visualization.

See Also
PxShape
eCOLLISION_AXES 

Shape axis visualization.

See Also
PxShape
eCOLLISION_COMPOUNDS 

Compound visualization (compound AABBs in world space)

eCOLLISION_FNORMALS 

Mesh & convex face normals.

See Also
PxTriangleMesh PxConvexMesh
eCOLLISION_EDGES 

Active edges for meshes.

See Also
PxTriangleMesh
eCOLLISION_STATIC 

Static pruning structures.

eCOLLISION_DYNAMIC 

Dynamic pruning structures.

eCOLLISION_PAIRS 

Visualizes pairwise state.

eJOINT_LOCAL_FRAMES 

Joint local axes.

eJOINT_LIMITS 

Joint limits.

ePARTICLE_SYSTEM_POSITION 

Particle position visualization.

ePARTICLE_SYSTEM_VELOCITY 

Particle velocity visualization.

ePARTICLE_SYSTEM_COLLISION_NORMAL 

Particle collision normal visualization.

ePARTICLE_SYSTEM_BOUNDS 

ParticleSystem AABB visualization.

ePARTICLE_SYSTEM_GRID 

Particle grid visualization.

ePARTICLE_SYSTEM_BROADPHASE_BOUNDS 

Particle system broad phase bounds.

ePARTICLE_SYSTEM_MAX_MOTION_DISTANCE 

ParticleSystem maximum motion distance visualization.

eCULL_BOX 

Debug visualization culling.

eCLOTH_VERTICAL 

Cloth fabric vertical sets.

eCLOTH_HORIZONTAL 

Cloth fabric horizontal sets.

eCLOTH_BENDING 

Cloth fabric bending sets.

eCLOTH_SHEARING 

Cloth fabric shearing sets.

eCLOTH_VIRTUAL_PARTICLES 

Cloth virtual particles.

eMBP_REGIONS 

MBP regions.

eNUM_VALUES 

This is not a parameter, it just records the current number of parameters (as maximum(PxVisualizationParameter)+1) for use in loops.

eFORCE_DWORD 

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


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