PxVisualizationParameter

Defined in include/PxVisualizationParameter.h

struct PxVisualizationParameter

Debug visualization parameters.

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

Public Types

enum Enum

Values:

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

enumerator eWORLD_AXES

Visualize the world axes.

enumerator eBODY_AXES

Visualize a bodies axes.

See also

PxActor.globalPose PxActor

enumerator 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

enumerator eBODY_LIN_VELOCITY

Visualize the bodies linear velocity.

See also

PxBodyDesc.linearVelocity PxActor

enumerator eBODY_ANG_VELOCITY

Visualize the bodies angular velocity.

See also

PxBodyDesc.angularVelocity PxActor

enumerator eCONTACT_POINT

Visualize contact points.

Will enable contact information.

enumerator eCONTACT_NORMAL

Visualize contact normals.

Will enable contact information.

enumerator eCONTACT_ERROR

Visualize contact errors.

Will enable contact information.

enumerator eCONTACT_FORCE

Visualize Contact forces.

Will enable contact information.

enumerator eACTOR_AXES

Visualize actor axes.

enumerator eCOLLISION_AABBS

Visualize bounds (AABBs in world space)

enumerator eCOLLISION_SHAPES

Shape visualization.

See also

PxShape

enumerator eCOLLISION_AXES

Shape axis visualization.

See also

PxShape

enumerator eCOLLISION_COMPOUNDS

Compound visualization (compound AABBs in world space)

enumerator eCOLLISION_FNORMALS

Mesh & convex face normals.

enumerator eCOLLISION_EDGES

Active edges for meshes.

See also

PxTriangleMesh

enumerator eCOLLISION_STATIC

Static pruning structures.

enumerator eCOLLISION_DYNAMIC

Dynamic pruning structures.

enumerator eJOINT_LOCAL_FRAMES

Joint local axes.

enumerator eJOINT_LIMITS

Joint limits.

enumerator eCULL_BOX

Visualize culling box.

enumerator eMBP_REGIONS

MBP regions.

enumerator eSIMULATION_MESH

Renders the simulation mesh instead of the collision mesh (only available for tetmeshes)

enumerator eSDF

Renders the SDF of a mesh instead of the collision mesh (only available for triangle meshes with SDFs)

enumerator eNUM_VALUES

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

enumerator eFORCE_DWORD