#include <PxQueryReport.h>
Public Types | |
enum | Enum { ePOSITION = (1<<0), 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), eFACE_INDEX = (1<<10), eDEFAULT = ePOSITION|eNORMAL|eDISTANCE|eFACE_INDEX, eMODIFIABLE_FLAGS = eMESH_MULTIPLE|eMESH_BOTH_SIDES|eASSUME_NO_INITIAL_OVERLAP|ePRECISE_SWEEP } |
PxHitFlags are used for 3 different purposes:
1) To request hit fields to be filled in by scene queries (such as hit position, normal, face index 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 |
ePOSITION | "position" member of PxQueryHit is valid |
eNORMAL | "normal" member of PxQueryHit is valid |
eDISTANCE | "distance" member of PxQueryHit is valid. Deprecated: the system will always compute & return the distance. |
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. |
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. |
eMTD | Report the minimum translation depth, normal and contact point. |
eFACE_INDEX | "face index" member of PxQueryHit is valid |
eDEFAULT | |
eMODIFIABLE_FLAGS | Only this subset of flags can be modified by pre-filter. Other modifications will be discarded. |