Scene query and geometry query behavior flags. More...
#include <PxQueryReport.h>
Public Types | |
enum | Enum { ePOSITION = (1<<0), eIMPACT = ePOSITION, eNORMAL = (1<<1), eDISTANCE = (1<<2), eUV = (1<<3), eASSUME_NO_INITIAL_OVERLAP = (1<<4), eMESH_MULTIPLE = (1<<5), eMESH_ANY = (1<<6), eMESH_BOTH_SIDES = (1<<7), ePRECISE_SWEEP = (1<<8), eMTD = (1<<9), eDIRECT_SWEEP = ePRECISE_SWEEP, eDEFAULT = ePOSITION|eNORMAL|eDISTANCE, eMODIFIABLE_FLAGS = eMESH_MULTIPLE|eMESH_BOTH_SIDES|eASSUME_NO_INITIAL_OVERLAP|ePRECISE_SWEEP } |
Scene query and geometry query behavior flags.
PxHitFlags are used for 3 different purposes:
1) To request hit fields to be filled in by scene queries (such as hit position, normal, distance or UVs). 2) Once query is completed, to indicate which fields are valid (note that a query may produce more valid fields than requested). 3) To specify additional options for the narrow phase and mid-phase intersection routines.
All these flags apply to both scene queries and geometry queries (PxGeometryQuery).
enum PxHitFlag::Enum |
Enumerator | |
---|---|
ePOSITION |
"position" member of PxQueryHit is valid |
eIMPACT |
|
eNORMAL |
"normal" member of PxQueryHit is valid |
eDISTANCE |
"distance" member of PxQueryHit is valid |
eUV |
"u" and "v" barycentric coordinates of PxQueryHit are valid. Not applicable to sweep queries. |
eASSUME_NO_INITIAL_OVERLAP |
Performance hint flag for sweeps when it is known upfront there's no initial overlap. NOTE: using this flag may cause undefined results if shapes are initially overlapping. |
eMESH_MULTIPLE |
Report all hits for meshes rather than just the first. Not applicable to sweep queries. On SPU the number of reported hits per mesh is limited to 16 in no specific order. |
eMESH_ANY |
Report any first hit for meshes. If neither eMESH_MULTIPLE nor eMESH_ANY is specified, a single closest hit will be reported for meshes. |
eMESH_BOTH_SIDES |
Report hits with back faces of mesh triangles. Also report hits for raycast originating on mesh surface and facing away from the surface normal. Not applicable to sweep queries. Please refer to the user guide for heightfield-specific differences. |
ePRECISE_SWEEP |
Use more accurate but slower narrow phase sweep tests. May provide better compatibility with PhysX 3.2 sweep behavior. Ignored on SPU. |
eMTD |
Report the minimum translation depth, normal and contact point. Ignored on SPU. |
eDIRECT_SWEEP |
|
eDEFAULT | |
eMODIFIABLE_FLAGS |
Only this subset of flags can be modified by pre-filter. Other modifications will be discarded. |