NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMeshOverlapUtil Class Reference

NVIDIA PhysX SDK 3.4 API

PxMeshOverlapUtil Class Reference
[Extensions]

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

#include <PxTriangleMeshExt.h>

List of all members.


Public Member 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.
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.
PX_FORCE_INLINE const PxU32getResults () const
 Retrieves array of triangle indices after a findOverlap call.
PX_FORCE_INLINE PxU32 getNbResults () const
 Retrieves number of triangle indices after a findOverlap call.

Private Attributes

PxU32mResultsMemory
PxU32 mResults [256]
PxU32 mNbResults
PxU32 mMaxNbResults

Detailed Description

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.


Constructor & Destructor Documentation

PxMeshOverlapUtil::PxMeshOverlapUtil (  ) 

PxMeshOverlapUtil::~PxMeshOverlapUtil (  ) 


Member Function Documentation

PxU32 PxMeshOverlapUtil::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:
[in] geom 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.
[in] geomPose Pose of the geometry object
[in] hfGeom The height field geometry to check overlap against
[in] hfPose Pose of the height field
Returns:
Number of overlaps found. Triangle indices can then be accessed through the getResults() function.
See also:
PxGeometry PxTransform PxHeightFieldGeometry PxMeshQuery::findOverlapHeightField

PxU32 PxMeshOverlapUtil::findOverlap ( const PxGeometry geom,
const PxTransform geomPose,
const PxTriangleMeshGeometry meshGeom,
const PxTransform meshPose 
)

Find the mesh triangles which touch the specified geometry object.

Parameters:
[in] geom The geometry object to test for mesh triangle overlaps. Supported geometries are PxSphereGeometry, PxCapsuleGeometry and PxBoxGeometry
[in] geomPose Pose of the geometry object
[in] meshGeom The triangle mesh geometry to check overlap against
[in] meshPose Pose of the triangle mesh
Returns:
Number of overlaps found. Triangle indices can then be accessed through the getResults() function.
See also:
PxGeometry PxTransform PxTriangleMeshGeometry PxMeshQuery::findOverlapTriangleMesh

PX_FORCE_INLINE PxU32 PxMeshOverlapUtil::getNbResults (  )  const [inline]

Retrieves number of triangle indices after a findOverlap call.

Returns:
Number of touched triangles

PX_FORCE_INLINE const PxU32* PxMeshOverlapUtil::getResults (  )  const [inline]

Retrieves array of triangle indices after a findOverlap call.

Returns:
Indices of touched triangles


Member Data Documentation


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



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