PxMeshOverlapUtil#

Defined in include/extensions/PxTriangleMeshExt.h

class PxMeshOverlapUtil#

Utility class to find mesh triangles touched by a specified geometry object.

This class is a helper calling PxMeshQuery::findOverlapTriangleMesh or PxMeshQuery::findOverlapHeightField under the hood, while taking care of necessary memory management issues.

PxMeshQuery::findOverlapTriangleMesh and PxMeshQuery::findOverlapHeightField are the “raw” functions operating on user-provided fixed-size buffers. These functions abort with an error code in case of buffer overflow. PxMeshOverlapUtil is a convenient helper function checking this error code, and resizing buffers appropriately, until the desired call succeeds.

Returned triangle indices are stored within the class, and can be used with PxMeshQuery::getTriangle() to retrieve the triangle properties.

Public Functions

PxMeshOverlapUtil()#
~PxMeshOverlapUtil()#
PxU32 findOverlap(
const PxGeometry &geom,
const PxTransform &geomPose,
const PxTriangleMeshGeometry &meshGeom,
const PxTransform &meshPose,
)#

Find the mesh triangles which touch the specified geometry object.

Parameters:
  • geom[in] The geometry object to test for mesh triangle overlaps. Supported geometries are PxSphereGeometry, PxCapsuleGeometry and PxBoxGeometry

  • geomPose[in] Pose of the geometry object

  • meshGeom[in] The triangle mesh geometry to check overlap against

  • meshPose[in] Pose of the triangle mesh

Returns:

Number of overlaps found. Triangle indices can then be accessed through the getResults() function.

PxU32 findOverlap(
const PxGeometry &geom,
const PxTransform &geomPose,
const PxHeightFieldGeometry &hfGeom,
const PxTransform &hfPose,
)#

Find the height field triangles which touch the specified geometry object.

Parameters:
  • geom[in] The geometry object to test for height field overlaps. Supported geometries are PxSphereGeometry, PxCapsuleGeometry and PxBoxGeometry. The sphere and capsule queries are currently conservative estimates.

  • geomPose[in] Pose of the geometry object

  • hfGeom[in] The height field geometry to check overlap against

  • hfPose[in] Pose of the height field

Returns:

Number of overlaps found. Triangle indices can then be accessed through the getResults() function.

inline const PxU32 *getResults() const#

Retrieves array of triangle indices after a findOverlap call.

Returns:

Indices of touched triangles

inline PxU32 getNbResults() const#

Retrieves number of triangle indices after a findOverlap call.

Returns:

Number of touched triangles