diff options
| author | git perforce import user <a@b> | 2016-10-25 12:29:14 -0600 |
|---|---|---|
| committer | Sheikh Dawood Abdul Ajees <Sheikh Dawood Abdul Ajees> | 2016-10-25 18:56:37 -0500 |
| commit | 3dfe2108cfab31ba3ee5527e217d0d8e99a51162 (patch) | |
| tree | fa6485c169e50d7415a651bf838f5bcd0fd3bfbd /PhysX_3.4/Documentation/PhysXAPI/files/classPxMeshQuery.html | |
| download | physx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.tar.xz physx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.zip | |
Initial commit:
PhysX 3.4.0 Update @ 21294896
APEX 1.4.0 Update @ 21275617
[CL 21300167]
Diffstat (limited to 'PhysX_3.4/Documentation/PhysXAPI/files/classPxMeshQuery.html')
| -rw-r--r-- | PhysX_3.4/Documentation/PhysXAPI/files/classPxMeshQuery.html | 469 |
1 files changed, 469 insertions, 0 deletions
diff --git a/PhysX_3.4/Documentation/PhysXAPI/files/classPxMeshQuery.html b/PhysX_3.4/Documentation/PhysXAPI/files/classPxMeshQuery.html new file mode 100644 index 00000000..6f3b26aa --- /dev/null +++ b/PhysX_3.4/Documentation/PhysXAPI/files/classPxMeshQuery.html @@ -0,0 +1,469 @@ +<html> + <head> + <title>NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMeshQuery Class Reference</title> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <LINK HREF="NVIDIA.css" REL="stylesheet" TYPE="text/css"> + </head> + + <body bgcolor="#FFFFFF"> + <div id="header"> + <hr class="first"> + <img alt="" src="images/PhysXlogo.png" align="middle"> <br> + <center> + <a class="qindex" href="main.html">Main Page</a> + <a class="qindex" href="hierarchy.html">Class Hierarchy</a> + <a class="qindex" href="annotated.html">Compound List</a> + <a class="qindex" href="functions.html">Compound Members</a> + </center> + <hr class="second"> + </div> +<!-- Generated by Doxygen 1.5.8 --> +<div class="contents"> +<h1>PxMeshQuery Class Reference<br> +<small> +[<a class="el" href="group__geomutils.html">Geomutils</a>]</small> +</h1><!-- doxytag: class="PxMeshQuery" --><code>#include <<a class="el" href="PxMeshQuery_8h-source.html">PxMeshQuery.h</a>></code> +<p> + +<p> +<a href="classPxMeshQuery-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">static PX_PHYSX_COMMON_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMeshQuery.html#c567bb759621105f07886f257587d70f">getTriangle</a> (const <a class="el" href="classPxTriangleMeshGeometry.html">PxTriangleMeshGeometry</a> &triGeom, const <a class="el" href="classPxTransform.html">PxTransform</a> &transform, <a class="el" href="group__common.html#g19403877bf7ce42d7240e4e4c758c016">PxTriangleID</a> triangleIndex, <a class="el" href="classPxTriangle.html">PxTriangle</a> &triangle, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> *vertexIndices=NULL, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> *adjacencyIndices=NULL)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Retrieves triangle data from a triangle ID. <a href="#c567bb759621105f07886f257587d70f"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">static PX_PHYSX_COMMON_API void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMeshQuery.html#8acb2a510cda8105fe1d9f84acf20087">getTriangle</a> (const <a class="el" href="classPxHeightFieldGeometry.html">PxHeightFieldGeometry</a> &hfGeom, const <a class="el" href="classPxTransform.html">PxTransform</a> &transform, <a class="el" href="group__common.html#g19403877bf7ce42d7240e4e4c758c016">PxTriangleID</a> triangleIndex, <a class="el" href="classPxTriangle.html">PxTriangle</a> &triangle, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> *vertexIndices=NULL, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> *adjacencyIndices=NULL)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Retrieves triangle data from a triangle ID. <a href="#8acb2a510cda8105fe1d9f84acf20087"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">static PX_PHYSX_COMMON_API <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMeshQuery.html#ea451debbcaca51f9f1f49df3d5bfe74">findOverlapTriangleMesh</a> (const <a class="el" href="classPxGeometry.html">PxGeometry</a> &geom, const <a class="el" href="classPxTransform.html">PxTransform</a> &geomPose, const <a class="el" href="classPxTriangleMeshGeometry.html">PxTriangleMeshGeometry</a> &meshGeom, const <a class="el" href="classPxTransform.html">PxTransform</a> &meshPose, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> *results, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> maxResults, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> startIndex, bool &overflow)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Find the mesh triangles which touch the specified geometry object. <a href="#ea451debbcaca51f9f1f49df3d5bfe74"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">static PX_PHYSX_COMMON_API <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMeshQuery.html#461e1f01530df9d99e0762ca20493c2d">findOverlapHeightField</a> (const <a class="el" href="classPxGeometry.html">PxGeometry</a> &geom, const <a class="el" href="classPxTransform.html">PxTransform</a> &geomPose, const <a class="el" href="classPxHeightFieldGeometry.html">PxHeightFieldGeometry</a> &hfGeom, const <a class="el" href="classPxTransform.html">PxTransform</a> &hfPose, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> *results, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> maxResults, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> startIndex, bool &overflow)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Find the height field triangles which touch the specified geometry object. <a href="#461e1f01530df9d99e0762ca20493c2d"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">static PX_PHYSX_COMMON_API bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMeshQuery.html#e35a79d58b3c90dbaefe7d204bbfc9b5">sweep</a> (const <a class="el" href="classPxVec3.html">PxVec3</a> &unitDir, const PxReal distance, const <a class="el" href="classPxGeometry.html">PxGeometry</a> &geom, const <a class="el" href="classPxTransform.html">PxTransform</a> &pose, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> triangleCount, const <a class="el" href="classPxTriangle.html">PxTriangle</a> *triangles, <a class="el" href="structPxSweepHit.html">PxSweepHit</a> &sweepHit, PxHitFlags hitFlags=PxHitFlag::eDEFAULT, const <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> *cachedIndex=NULL, const PxReal inflation=0.0f, bool doubleSided=false)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sweep a specified geometry object in space and test for collision with a set of given triangles. <a href="#e35a79d58b3c90dbaefe7d204bbfc9b5"></a><br></td></tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="461e1f01530df9d99e0762ca20493c2d"></a><!-- doxytag: member="PxMeshQuery::findOverlapHeightField" ref="461e1f01530df9d99e0762ca20493c2d" args="(const PxGeometry &geom, const PxTransform &geomPose, const PxHeightFieldGeometry &hfGeom, const PxTransform &hfPose, PxU32 *results, PxU32 maxResults, PxU32 startIndex, bool &overflow)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">static PX_PHYSX_COMMON_API <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> PxMeshQuery::findOverlapHeightField </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="classPxGeometry.html">PxGeometry</a> & </td> + <td class="paramname"> <em>geom</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="classPxTransform.html">PxTransform</a> & </td> + <td class="paramname"> <em>geomPose</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="classPxHeightFieldGeometry.html">PxHeightFieldGeometry</a> & </td> + <td class="paramname"> <em>hfGeom</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="classPxTransform.html">PxTransform</a> & </td> + <td class="paramname"> <em>hfPose</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> * </td> + <td class="paramname"> <em>results</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>maxResults</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>startIndex</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">bool & </td> + <td class="paramname"> <em>overflow</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Find the height field triangles which touch the specified geometry object. +<p> +Returned triangle indices can be used with <a class="el" href="classPxMeshQuery.html#c567bb759621105f07886f257587d70f" title="Retrieves triangle data from a triangle ID.">getTriangle()</a> to retrieve the triangle properties.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>geom</em> </td><td>The geometry object to test for height field overlaps. Supported geometries are <a class="el" href="classPxSphereGeometry.html" title="A class representing the geometry of a sphere.">PxSphereGeometry</a>, <a class="el" href="classPxCapsuleGeometry.html" title="Class representing the geometry of a capsule.">PxCapsuleGeometry</a> and <a class="el" href="classPxBoxGeometry.html" title="Class representing the geometry of a box.">PxBoxGeometry</a>. The sphere and capsule queries are currently conservative estimates. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>geomPose</em> </td><td>Pose of the geometry object </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>hfGeom</em> </td><td>The height field geometry to check overlap against </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>hfPose</em> </td><td>Pose of the height field </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>results</em> </td><td>Indices of overlapping triangles </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>maxResults</em> </td><td>Size of 'results' buffer </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>startIndex</em> </td><td>Index of first result to be retrieved. Previous indices are skipped. </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>overflow</em> </td><td>True if a buffer overflow occurred </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of overlaps found, i.e. number of elements written to the results buffer</dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxHeightFieldGeometry.html" title="Height field geometry class.">PxHeightFieldGeometry</a> <a class="el" href="classPxMeshQuery.html#c567bb759621105f07886f257587d70f" title="Retrieves triangle data from a triangle ID.">getTriangle()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="ea451debbcaca51f9f1f49df3d5bfe74"></a><!-- doxytag: member="PxMeshQuery::findOverlapTriangleMesh" ref="ea451debbcaca51f9f1f49df3d5bfe74" args="(const PxGeometry &geom, const PxTransform &geomPose, const PxTriangleMeshGeometry &meshGeom, const PxTransform &meshPose, PxU32 *results, PxU32 maxResults, PxU32 startIndex, bool &overflow)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">static PX_PHYSX_COMMON_API <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> PxMeshQuery::findOverlapTriangleMesh </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="classPxGeometry.html">PxGeometry</a> & </td> + <td class="paramname"> <em>geom</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="classPxTransform.html">PxTransform</a> & </td> + <td class="paramname"> <em>geomPose</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="classPxTriangleMeshGeometry.html">PxTriangleMeshGeometry</a> & </td> + <td class="paramname"> <em>meshGeom</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="classPxTransform.html">PxTransform</a> & </td> + <td class="paramname"> <em>meshPose</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> * </td> + <td class="paramname"> <em>results</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>maxResults</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>startIndex</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">bool & </td> + <td class="paramname"> <em>overflow</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Find the mesh triangles which touch the specified geometry object. +<p> +Returned triangle indices can be used with <a class="el" href="classPxMeshQuery.html#c567bb759621105f07886f257587d70f" title="Retrieves triangle data from a triangle ID.">getTriangle()</a> to retrieve the triangle properties.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>geom</em> </td><td>The geometry object to test for mesh triangle overlaps. Supported geometries are <a class="el" href="classPxSphereGeometry.html" title="A class representing the geometry of a sphere.">PxSphereGeometry</a>, <a class="el" href="classPxCapsuleGeometry.html" title="Class representing the geometry of a capsule.">PxCapsuleGeometry</a> and <a class="el" href="classPxBoxGeometry.html" title="Class representing the geometry of a box.">PxBoxGeometry</a> </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>geomPose</em> </td><td>Pose of the geometry object </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>meshGeom</em> </td><td>The triangle mesh geometry to check overlap against </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>meshPose</em> </td><td>Pose of the triangle mesh </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>results</em> </td><td>Indices of overlapping triangles </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>maxResults</em> </td><td>Size of 'results' buffer </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>startIndex</em> </td><td>Index of first result to be retrieved. Previous indices are skipped. </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>overflow</em> </td><td>True if a buffer overflow occurred </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of overlaps found, i.e. number of elements written to the results buffer</dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxTriangleMeshGeometry.html" title="Triangle mesh geometry class.">PxTriangleMeshGeometry</a> <a class="el" href="classPxMeshQuery.html#c567bb759621105f07886f257587d70f" title="Retrieves triangle data from a triangle ID.">getTriangle()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="8acb2a510cda8105fe1d9f84acf20087"></a><!-- doxytag: member="PxMeshQuery::getTriangle" ref="8acb2a510cda8105fe1d9f84acf20087" args="(const PxHeightFieldGeometry &hfGeom, const PxTransform &transform, PxTriangleID triangleIndex, PxTriangle &triangle, PxU32 *vertexIndices=NULL, PxU32 *adjacencyIndices=NULL)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">static PX_PHYSX_COMMON_API void PxMeshQuery::getTriangle </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="classPxHeightFieldGeometry.html">PxHeightFieldGeometry</a> & </td> + <td class="paramname"> <em>hfGeom</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="classPxTransform.html">PxTransform</a> & </td> + <td class="paramname"> <em>transform</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__common.html#g19403877bf7ce42d7240e4e4c758c016">PxTriangleID</a> </td> + <td class="paramname"> <em>triangleIndex</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="classPxTriangle.html">PxTriangle</a> & </td> + <td class="paramname"> <em>triangle</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> * </td> + <td class="paramname"> <em>vertexIndices</em> = <code>NULL</code>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> * </td> + <td class="paramname"> <em>adjacencyIndices</em> = <code>NULL</code></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Retrieves triangle data from a triangle ID. +<p> +This function can be used together with <a class="el" href="classPxMeshQuery.html#461e1f01530df9d99e0762ca20493c2d" title="Find the height field triangles which touch the specified geometry object.">findOverlapHeightField()</a> to retrieve triangle properties.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>hfGeom</em> </td><td>Geometry of the height field to extract the triangle from. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>transform</em> </td><td>Transform for the height field. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>triangleIndex</em> </td><td>The index of the triangle to retrieve. </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>triangle</em> </td><td>Triangle points in world space. </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>vertexIndices</em> </td><td>Returned vertex indices for given triangle </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>adjacencyIndices</em> </td><td>Returned 3 triangle adjacency triangle indices (0xFFFFFFFF if no adjacency).</td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>This function will flip the triangle normal whenever triGeom.scale.hasNegativeDeterminant() is true.</dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxTriangle.html" title="Triangle class.">PxTriangle</a> PxTriangleFlags <a class="el" href="group__common.html#g19403877bf7ce42d7240e4e4c758c016">PxTriangleID</a> <a class="el" href="classPxMeshQuery.html#461e1f01530df9d99e0762ca20493c2d" title="Find the height field triangles which touch the specified geometry object.">findOverlapHeightField()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="c567bb759621105f07886f257587d70f"></a><!-- doxytag: member="PxMeshQuery::getTriangle" ref="c567bb759621105f07886f257587d70f" args="(const PxTriangleMeshGeometry &triGeom, const PxTransform &transform, PxTriangleID triangleIndex, PxTriangle &triangle, PxU32 *vertexIndices=NULL, PxU32 *adjacencyIndices=NULL)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">static PX_PHYSX_COMMON_API void PxMeshQuery::getTriangle </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="classPxTriangleMeshGeometry.html">PxTriangleMeshGeometry</a> & </td> + <td class="paramname"> <em>triGeom</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="classPxTransform.html">PxTransform</a> & </td> + <td class="paramname"> <em>transform</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__common.html#g19403877bf7ce42d7240e4e4c758c016">PxTriangleID</a> </td> + <td class="paramname"> <em>triangleIndex</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="classPxTriangle.html">PxTriangle</a> & </td> + <td class="paramname"> <em>triangle</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> * </td> + <td class="paramname"> <em>vertexIndices</em> = <code>NULL</code>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> * </td> + <td class="paramname"> <em>adjacencyIndices</em> = <code>NULL</code></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Retrieves triangle data from a triangle ID. +<p> +This function can be used together with <a class="el" href="classPxMeshQuery.html#ea451debbcaca51f9f1f49df3d5bfe74" title="Find the mesh triangles which touch the specified geometry object.">findOverlapTriangleMesh()</a> to retrieve triangle properties.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>triGeom</em> </td><td>Geometry of the triangle mesh to extract the triangle from. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>transform</em> </td><td>Transform for the triangle mesh </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>triangleIndex</em> </td><td>The index of the triangle to retrieve. </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>triangle</em> </td><td>Triangle points in world space. </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>vertexIndices</em> </td><td>Returned vertex indices for given triangle </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>adjacencyIndices</em> </td><td>Returned 3 triangle adjacency internal face indices (0xFFFFFFFF if no adjacency). The mesh must be cooked with cooking param buildTriangleAdjacencies enabled.</td></tr> + </table> +</dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>This function will flip the triangle normal whenever triGeom.scale.hasNegativeDeterminant() is true.</dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxTriangle.html" title="Triangle class.">PxTriangle</a> PxTriangleFlags <a class="el" href="group__common.html#g19403877bf7ce42d7240e4e4c758c016">PxTriangleID</a> <a class="el" href="classPxMeshQuery.html#ea451debbcaca51f9f1f49df3d5bfe74" title="Find the mesh triangles which touch the specified geometry object.">findOverlapTriangleMesh()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="e35a79d58b3c90dbaefe7d204bbfc9b5"></a><!-- doxytag: member="PxMeshQuery::sweep" ref="e35a79d58b3c90dbaefe7d204bbfc9b5" args="(const PxVec3 &unitDir, const PxReal distance, const PxGeometry &geom, const PxTransform &pose, PxU32 triangleCount, const PxTriangle *triangles, PxSweepHit &sweepHit, PxHitFlags hitFlags=PxHitFlag::eDEFAULT, const PxU32 *cachedIndex=NULL, const PxReal inflation=0.0f, bool doubleSided=false)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">static PX_PHYSX_COMMON_API bool PxMeshQuery::sweep </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="classPxVec3.html">PxVec3</a> & </td> + <td class="paramname"> <em>unitDir</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const PxReal </td> + <td class="paramname"> <em>distance</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="classPxGeometry.html">PxGeometry</a> & </td> + <td class="paramname"> <em>geom</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="classPxTransform.html">PxTransform</a> & </td> + <td class="paramname"> <em>pose</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td> + <td class="paramname"> <em>triangleCount</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="classPxTriangle.html">PxTriangle</a> * </td> + <td class="paramname"> <em>triangles</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="structPxSweepHit.html">PxSweepHit</a> & </td> + <td class="paramname"> <em>sweepHit</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">PxHitFlags </td> + <td class="paramname"> <em>hitFlags</em> = <code>PxHitFlag::eDEFAULT</code>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> * </td> + <td class="paramname"> <em>cachedIndex</em> = <code>NULL</code>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const PxReal </td> + <td class="paramname"> <em>inflation</em> = <code>0.0f</code>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">bool </td> + <td class="paramname"> <em>doubleSided</em> = <code>false</code></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sweep a specified geometry object in space and test for collision with a set of given triangles. +<p> +This function simply sweeps input geometry against each input triangle, in the order they are given. This is an O(N) operation with N = number of input triangles. It does not use any particular acceleration structure.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>unitDir</em> </td><td>Normalized direction of the sweep. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>distance</em> </td><td>Sweep distance. Needs to be larger than 0. Clamped to PX_MAX_SWEEP_DISTANCE. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>geom</em> </td><td>The geometry object to sweep. Supported geometries are <a class="el" href="classPxSphereGeometry.html" title="A class representing the geometry of a sphere.">PxSphereGeometry</a>, <a class="el" href="classPxCapsuleGeometry.html" title="Class representing the geometry of a capsule.">PxCapsuleGeometry</a> and <a class="el" href="classPxBoxGeometry.html" title="Class representing the geometry of a box.">PxBoxGeometry</a> </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>pose</em> </td><td>Pose of the geometry object to sweep. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>triangleCount</em> </td><td>Number of specified triangles </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>triangles</em> </td><td>Array of triangles to sweep against </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>sweepHit</em> </td><td>The sweep hit information. See the notes below for limitations about returned results. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>hitFlags</em> </td><td>Specification of the kind of information to retrieve on hit. Combination of <a class="el" href="structPxHitFlag.html" title="Scene query and geometry query behavior flags.">PxHitFlag</a> flags. See the notes below for limitations about supported flags. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>cachedIndex</em> </td><td>Cached triangle index for subsequent calls. Cached triangle is tested first. Optional parameter. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>inflation</em> </td><td>This parameter creates a skin around the swept geometry which increases its extents for sweeping. The sweep will register a hit as soon as the skin touches a shape, and will return the corresponding distance and normal. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>doubleSided</em> </td><td>Counterpart of <a class="el" href="structPxMeshGeometryFlag.html#a4f762855200599fc014b0654f7ce2c9e50426f8f858ae161427c24276eb3014">PxMeshGeometryFlag::eDOUBLE_SIDED</a> for input triangles. </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the swept geometry object hits the specified triangles</dd></dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>Only the following geometry types are currently supported: <a class="el" href="classPxSphereGeometry.html" title="A class representing the geometry of a sphere.">PxSphereGeometry</a>, <a class="el" href="classPxCapsuleGeometry.html" title="Class representing the geometry of a capsule.">PxCapsuleGeometry</a>, <a class="el" href="classPxBoxGeometry.html" title="Class representing the geometry of a box.">PxBoxGeometry</a> <p> +If a shape from the scene is already overlapping with the query shape in its starting position, the hit is returned unless eASSUME_NO_INITIAL_OVERLAP was specified. <p> +This function returns a single closest hit across all the input triangles. Multiple hits are not supported. <p> +Supported hitFlags are <a class="el" href="structPxHitFlag.html#44c173f6ddf0522ffbd8fa3c585e6b64fbdec54374d753fed4682d855aac7270">PxHitFlag::eDEFAULT</a>, <a class="el" href="structPxHitFlag.html#44c173f6ddf0522ffbd8fa3c585e6b647ec4e2f321d4fe4e3d02c4e4b532cc9b">PxHitFlag::eASSUME_NO_INITIAL_OVERLAP</a>, <a class="el" href="structPxHitFlag.html#44c173f6ddf0522ffbd8fa3c585e6b64f903d9ed69a9b2d397ca289752aaeef1">PxHitFlag::ePRECISE_SWEEP</a>, <a class="el" href="structPxHitFlag.html#44c173f6ddf0522ffbd8fa3c585e6b64aff8ff06630f9388c0ff8f20b7bbd9d3">PxHitFlag::eMESH_BOTH_SIDES</a>, <a class="el" href="structPxHitFlag.html#44c173f6ddf0522ffbd8fa3c585e6b64639d134a27861f74e3721dbd7be65bbc">PxHitFlag::eMESH_ANY</a>. <p> +ePOSITION is only defined when there is no initial overlap (sweepHit.hadInitialOverlap() == false) <p> +The returned normal for initially overlapping sweeps is set to -unitDir. <p> +Otherwise the returned normal is the front normal of the triangle even if <a class="el" href="structPxHitFlag.html#44c173f6ddf0522ffbd8fa3c585e6b64aff8ff06630f9388c0ff8f20b7bbd9d3">PxHitFlag::eMESH_BOTH_SIDES</a> is set. <p> +The returned <a class="el" href="structPxQueryHit.html#e3462529024eafa98ed2abe1b3b9146c">PxSweepHit::faceIndex</a> parameter will hold the index of the hit triangle in input array, i.e. the range is [0; triangleCount). For initially overlapping sweeps, this is the index of overlapping triangle. <p> +The returned <a class="el" href="structPxActorShape.html#0d8da15967ebaee8935725195bbd509a">PxSweepHit::actor</a> and <a class="el" href="structPxActorShape.html#ee7fb87ffc62391b2968ce8f954416f7">PxSweepHit::shape</a> pointers are not filled. <p> +The inflation parameter is not compatible with <a class="el" href="structPxHitFlag.html#44c173f6ddf0522ffbd8fa3c585e6b64f903d9ed69a9b2d397ca289752aaeef1">PxHitFlag::ePRECISE_SWEEP</a>.</dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxTriangle.html" title="Triangle class.">PxTriangle</a> <a class="el" href="structPxSweepHit.html" title="Stores results of sweep queries.">PxSweepHit</a> <a class="el" href="classPxGeometry.html" title="A geometry object.">PxGeometry</a> <a class="el" href="classPxTransform.html" title="class representing a rigid euclidean transform as a quaternion and a vector">PxTransform</a> </dd></dl> + +</div> +</div><p> +<hr>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="PxMeshQuery_8h-source.html">PxMeshQuery.h</a></ul> +</div> + +<hr style="width: 100%; height: 2px;"><br> +Copyright © 2008-2016 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. <a href="http://www.nvidia.com ">www.nvidia.com</a> +</body> +</html> |