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/classPxTriangleMesh.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/classPxTriangleMesh.html')
| -rw-r--r-- | PhysX_3.4/Documentation/PhysXAPI/files/classPxTriangleMesh.html | 549 |
1 files changed, 549 insertions, 0 deletions
diff --git a/PhysX_3.4/Documentation/PhysXAPI/files/classPxTriangleMesh.html b/PhysX_3.4/Documentation/PhysXAPI/files/classPxTriangleMesh.html new file mode 100644 index 00000000..c64351aa --- /dev/null +++ b/PhysX_3.4/Documentation/PhysXAPI/files/classPxTriangleMesh.html @@ -0,0 +1,549 @@ +<html> + <head> + <title>NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxTriangleMesh 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>PxTriangleMesh Class Reference<br> +<small> +[<a class="el" href="group__geomutils.html">Geomutils</a>]</small> +</h1><!-- doxytag: class="PxTriangleMesh" --><!-- doxytag: inherits="PxBase" -->A triangle mesh, also called a 'polygon soup'. +<a href="#_details">More...</a> +<p> +<code>#include <<a class="el" href="PxTriangleMesh_8h-source.html">PxTriangleMesh.h</a>></code> +<p> +<div class="dynheader"> +Inheritance diagram for PxTriangleMesh:</div> +<div class="dynsection"> +<p><center><img src="classPxTriangleMesh__inherit__graph.png" border="0" usemap="#PxTriangleMesh__inherit__map" alt="Inheritance graph"></center> +<map name="PxTriangleMesh__inherit__map"> +<area shape="rect" href="classPxBVH33TriangleMesh.html" title="A triangle mesh containing the PxMeshMidPhase::eBVH33 structure." alt="PxBVH33TriangleMesh" coords="7,154,151,176"><area shape="rect" href="classPxBVH34TriangleMesh.html" title="A triangle mesh containing the PxMeshMidPhase::eBVH34 structure." alt="PxBVH34TriangleMesh" coords="175,154,319,176"><area shape="rect" href="classPxBase.html" title="Base class for objects that can be members of a PxCollection." alt="PxBase" coords="135,16,191,37"></map> +<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div> +<div class="dynheader"> +Collaboration diagram for PxTriangleMesh:</div> +<div class="dynsection"> +<p><center><img src="classPxTriangleMesh__coll__graph.png" border="0" usemap="#PxTriangleMesh__coll__map" alt="Collaboration graph"></center> +<map name="PxTriangleMesh__coll__map"> +<area shape="rect" href="classPxBase.html" title="Base class for objects that can be members of a PxCollection." alt="PxBase" coords="97,106,153,128"><area shape="rect" href="classPxFlags.html" title="PxFlags\< PxBaseFlag::Enum, PxU16 \>" alt="PxFlags\< PxBaseFlag::Enum, PxU16 \>" coords="7,16,244,37"></map> +<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div> + +<p> +<a href="classPxTriangleMesh-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxTriangleMesh.html#b2ee402843a2f19a252ecb229d9cfbc8">getNbVertices</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of vertices. <a href="#b2ee402843a2f19a252ecb229d9cfbc8"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classPxVec3.html">PxVec3</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxTriangleMesh.html#08c203991bc3ad2be59ad6ab048197dc">getVertices</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the vertices. <a href="#08c203991bc3ad2be59ad6ab048197dc"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPxVec3.html">PxVec3</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxTriangleMesh.html#261ef2fa9709a163408b41d2c34dda71">getVerticesForModification</a> ()=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns all mesh vertices for modification. <a href="#261ef2fa9709a163408b41d2c34dda71"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPxBounds3.html">PxBounds3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxTriangleMesh.html#cc5c3b6c67a887917a111c432a799eff">refitBVH</a> ()=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Refits BVH for mesh vertices. <a href="#cc5c3b6c67a887917a111c432a799eff"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxTriangleMesh.html#611c8453a6b6256a63f1450aa8cf237a">getNbTriangles</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of triangles. <a href="#611c8453a6b6256a63f1450aa8cf237a"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxTriangleMesh.html#1b5db3f6060849da98024a04ceb991e5">getTriangles</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the triangle indices. <a href="#1b5db3f6060849da98024a04ceb991e5"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPxFlags.html">PxTriangleMeshFlags</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxTriangleMesh.html#df820099ddef71863f8528e6b8fc957c">getTriangleMeshFlags</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Reads the <a class="el" href="classPxTriangleMesh.html" title="A triangle mesh, also called a 'polygon soup'.">PxTriangleMesh</a> flags. <a href="#df820099ddef71863f8528e6b8fc957c"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxTriangleMesh.html#6b36d40812d5cb70507472cd4e147ae0">getTrianglesRemap</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the triangle remapping table. <a href="#6b36d40812d5cb70507472cd4e147ae0"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxTriangleMesh.html#168cc0000372c63857d128d04f1d32fa">release</a> ()=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Decrements the reference count of a triangle mesh and releases it if the new reference count is zero. <a href="#168cc0000372c63857d128d04f1d32fa"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__common.html#gc816bc62a68a52f01bf21f963295e822">PxMaterialTableIndex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxTriangleMesh.html#c6ce228303232206a8ac953152007818">getTriangleMaterialIndex</a> (<a class="el" href="group__common.html#g19403877bf7ce42d7240e4e4c758c016">PxTriangleID</a> triangleIndex) const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns material table index of given triangle. <a href="#c6ce228303232206a8ac953152007818"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPxBounds3.html">PxBounds3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxTriangleMesh.html#fe5283d82a46081bae3ef7c7132b64ec">getLocalBounds</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the local-space (vertex space) AABB from the triangle mesh. <a href="#fe5283d82a46081bae3ef7c7132b64ec"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxTriangleMesh.html#0fc4aed5a5f01a0f1b769d3c6534ba8d">getReferenceCount</a> () const =0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the reference count for shared meshes. <a href="#0fc4aed5a5f01a0f1b769d3c6534ba8d"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxTriangleMesh.html#984f1536be90cc0581052c035b4a424d">acquireReference</a> ()=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquires a counted reference to a triangle mesh. <a href="#984f1536be90cc0581052c035b4a424d"></a><br></td></tr> +<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_INLINE </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxTriangleMesh.html#b6401ba6b8f477e3c95a79da42f4e3b0">PxTriangleMesh</a> (<a class="el" href="group__common.html#gc1fb4b256a5d900d394e89db170a2b79">PxType</a> concreteType, <a class="el" href="classPxFlags.html">PxBaseFlags</a> baseFlags)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_INLINE </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxTriangleMesh.html#add4279bc98db8ec4d1da6c1485fcb07">PxTriangleMesh</a> (<a class="el" href="classPxFlags.html">PxBaseFlags</a> baseFlags)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxTriangleMesh.html#da2a2da4a5671707c12a04c736ea256f">~PxTriangleMesh</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxTriangleMesh.html#3a8e22d30966c97fb0686dfae276d67a">isKindOf</a> (const char *name) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns whether a given type name matches with the type of this instance. <a href="#3a8e22d30966c97fb0686dfae276d67a"></a><br></td></tr> +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +A triangle mesh, also called a 'polygon soup'. +<p> +It is represented as an indexed triangle list. There are no restrictions on the triangle data.<p> +To avoid duplicating data when you have several instances of a particular mesh positioned differently, you do not use this class to represent a mesh object directly. Instead, you create an instance of this mesh via the <a class="el" href="classPxTriangleMeshGeometry.html" title="Triangle mesh geometry class.">PxTriangleMeshGeometry</a> and <a class="el" href="classPxShape.html" title="Abstract class for collision shapes.">PxShape</a> classes.<p> +<h3>Creation</h3> +<p> +To create an instance of this class call <a class="el" href="classPxPhysics.html#29dcbbe128cef11eaf4ce5696c216dfd" title="Creates a triangle mesh object.">PxPhysics::createTriangleMesh()</a>, and <a class="el" href="classPxTriangleMesh.html#168cc0000372c63857d128d04f1d32fa" title="Decrements the reference count of a triangle mesh and releases it if the new reference...">release()</a> to delete it. This is only possible once you have released all of its <a class="el" href="classPxShape.html" title="Abstract class for collision shapes.">PxShape</a> instances.<p> +<h3>Visualizations:</h3> +<p> +<ul> +<li><a class="el" href="structPxVisualizationParameter.html#dce8e8a77c144356b0968d2b9f79eb10714f24bab39d1bbe8b131bd10ef5552b" title="Visualize bounds (AABBs in world space).">PxVisualizationParameter::eCOLLISION_AABBS</a> </li> +<li><a class="el" href="structPxVisualizationParameter.html#dce8e8a77c144356b0968d2b9f79eb10515f4c3c72ee88d7507b52d6ccd14eab" title="Shape visualization.">PxVisualizationParameter::eCOLLISION_SHAPES</a> </li> +<li><a class="el" href="structPxVisualizationParameter.html#dce8e8a77c144356b0968d2b9f79eb100ad9dcb10f5f3d6ded3baecfc1e387d3" title="Shape axis visualization.">PxVisualizationParameter::eCOLLISION_AXES</a> </li> +<li><a class="el" href="structPxVisualizationParameter.html#dce8e8a77c144356b0968d2b9f79eb10fd900f30ba421d555e7f7b087126cd92" title="Mesh & convex face normals.">PxVisualizationParameter::eCOLLISION_FNORMALS</a> </li> +<li><a class="el" href="structPxVisualizationParameter.html#dce8e8a77c144356b0968d2b9f79eb10a0e06ca7fa1a0445abe0f4d293feb961" title="Active edges for meshes.">PxVisualizationParameter::eCOLLISION_EDGES</a></li> +</ul> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxTriangleMeshDesc.html" title="Descriptor class for PxTriangleMesh.">PxTriangleMeshDesc</a> <a class="el" href="classPxTriangleMeshGeometry.html" title="Triangle mesh geometry class.">PxTriangleMeshGeometry</a> <a class="el" href="classPxShape.html" title="Abstract class for collision shapes.">PxShape</a> <a class="el" href="classPxPhysics.html#29dcbbe128cef11eaf4ce5696c216dfd" title="Creates a triangle mesh object.">PxPhysics.createTriangleMesh()</a> </dd></dl> +<hr><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" name="b6401ba6b8f477e3c95a79da42f4e3b0"></a><!-- doxytag: member="PxTriangleMesh::PxTriangleMesh" ref="b6401ba6b8f477e3c95a79da42f4e3b0" args="(PxType concreteType, PxBaseFlags baseFlags)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_INLINE PxTriangleMesh::PxTriangleMesh </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__common.html#gc1fb4b256a5d900d394e89db170a2b79">PxType</a> </td> + <td class="paramname"> <em>concreteType</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="classPxFlags.html">PxBaseFlags</a> </td> + <td class="paramname"> <em>baseFlags</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td><code> [inline, protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="add4279bc98db8ec4d1da6c1485fcb07"></a><!-- doxytag: member="PxTriangleMesh::PxTriangleMesh" ref="add4279bc98db8ec4d1da6c1485fcb07" args="(PxBaseFlags baseFlags)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_INLINE PxTriangleMesh::PxTriangleMesh </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classPxFlags.html">PxBaseFlags</a> </td> + <td class="paramname"> <em>baseFlags</em> </td> + <td> ) </td> + <td><code> [inline, protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="da2a2da4a5671707c12a04c736ea256f"></a><!-- doxytag: member="PxTriangleMesh::~PxTriangleMesh" ref="da2a2da4a5671707c12a04c736ea256f" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual PxTriangleMesh::~PxTriangleMesh </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [inline, protected, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="984f1536be90cc0581052c035b4a424d"></a><!-- doxytag: member="PxTriangleMesh::acquireReference" ref="984f1536be90cc0581052c035b4a424d" args="()=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxTriangleMesh::acquireReference </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Acquires a counted reference to a triangle mesh. +<p> +This method increases the reference count of the triangle mesh by 1. Decrement the reference count by calling <a class="el" href="classPxTriangleMesh.html#168cc0000372c63857d128d04f1d32fa" title="Decrements the reference count of a triangle mesh and releases it if the new reference...">release()</a> +</div> +</div><p> +<a class="anchor" name="fe5283d82a46081bae3ef7c7132b64ec"></a><!-- doxytag: member="PxTriangleMesh::getLocalBounds" ref="fe5283d82a46081bae3ef7c7132b64ec" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classPxBounds3.html">PxBounds3</a> PxTriangleMesh::getLocalBounds </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the local-space (vertex space) AABB from the triangle mesh. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>local-space bounds </dd></dl> + +</div> +</div><p> +<a class="anchor" name="611c8453a6b6256a63f1450aa8cf237a"></a><!-- doxytag: member="PxTriangleMesh::getNbTriangles" ref="611c8453a6b6256a63f1450aa8cf237a" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> PxTriangleMesh::getNbTriangles </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the number of triangles. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>number of triangles </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxTriangleMesh.html#1b5db3f6060849da98024a04ceb991e5" title="Returns the triangle indices.">getTriangles()</a> <a class="el" href="classPxTriangleMesh.html#6b36d40812d5cb70507472cd4e147ae0" title="Returns the triangle remapping table.">getTrianglesRemap()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="b2ee402843a2f19a252ecb229d9cfbc8"></a><!-- doxytag: member="PxTriangleMesh::getNbVertices" ref="b2ee402843a2f19a252ecb229d9cfbc8" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> PxTriangleMesh::getNbVertices </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the number of vertices. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>number of vertices </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxTriangleMesh.html#08c203991bc3ad2be59ad6ab048197dc" title="Returns the vertices.">getVertices()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="0fc4aed5a5f01a0f1b769d3c6534ba8d"></a><!-- doxytag: member="PxTriangleMesh::getReferenceCount" ref="0fc4aed5a5f01a0f1b769d3c6534ba8d" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> PxTriangleMesh::getReferenceCount </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the reference count for shared meshes. +<p> +At creation, the reference count of the mesh is 1. Every shape referencing this mesh increments the count by 1. When the reference count reaches 0, and only then, the mesh gets destroyed automatically.<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the current reference count. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="c6ce228303232206a8ac953152007818"></a><!-- doxytag: member="PxTriangleMesh::getTriangleMaterialIndex" ref="c6ce228303232206a8ac953152007818" args="(PxTriangleID triangleIndex) const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="group__common.html#gc816bc62a68a52f01bf21f963295e822">PxMaterialTableIndex</a> PxTriangleMesh::getTriangleMaterialIndex </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__common.html#g19403877bf7ce42d7240e4e4c758c016">PxTriangleID</a> </td> + <td class="paramname"> <em>triangleIndex</em> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns material table index of given triangle. +<p> +This function takes a post cooking triangle index.<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>triangleIndex</em> </td><td>(internal) index of desired triangle </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>Material table index, or 0xffff if no per-triangle materials are used </dd></dl> + +</div> +</div><p> +<a class="anchor" name="df820099ddef71863f8528e6b8fc957c"></a><!-- doxytag: member="PxTriangleMesh::getTriangleMeshFlags" ref="df820099ddef71863f8528e6b8fc957c" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classPxFlags.html">PxTriangleMeshFlags</a> PxTriangleMesh::getTriangleMeshFlags </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Reads the <a class="el" href="classPxTriangleMesh.html" title="A triangle mesh, also called a 'polygon soup'.">PxTriangleMesh</a> flags. +<p> +See the list of flags <a class="el" href="structPxTriangleMeshFlag.html" title="Flags for the mesh geometry properties.">PxTriangleMeshFlag</a><p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>The values of the <a class="el" href="classPxTriangleMesh.html" title="A triangle mesh, also called a 'polygon soup'.">PxTriangleMesh</a> flags.</dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxTriangleMesh.html" title="A triangle mesh, also called a 'polygon soup'.">PxTriangleMesh</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="1b5db3f6060849da98024a04ceb991e5"></a><!-- doxytag: member="PxTriangleMesh::getTriangles" ref="1b5db3f6060849da98024a04ceb991e5" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual const void* PxTriangleMesh::getTriangles </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the triangle indices. +<p> +The indices can be 16 or 32bit depending on the number of triangles in the mesh. Call <a class="el" href="classPxTriangleMesh.html#df820099ddef71863f8528e6b8fc957c" title="Reads the PxTriangleMesh flags.">getTriangleMeshFlags()</a> to know if the indices are 16 or 32 bits.<p> +The number of indices is the number of triangles * 3.<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>array of triangles </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxTriangleMesh.html#611c8453a6b6256a63f1450aa8cf237a" title="Returns the number of triangles.">getNbTriangles()</a> <a class="el" href="classPxTriangleMesh.html#df820099ddef71863f8528e6b8fc957c" title="Reads the PxTriangleMesh flags.">getTriangleMeshFlags()</a> <a class="el" href="classPxTriangleMesh.html#6b36d40812d5cb70507472cd4e147ae0" title="Returns the triangle remapping table.">getTrianglesRemap()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="6b36d40812d5cb70507472cd4e147ae0"></a><!-- doxytag: member="PxTriangleMesh::getTrianglesRemap" ref="6b36d40812d5cb70507472cd4e147ae0" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual const <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a>* PxTriangleMesh::getTrianglesRemap </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the triangle remapping table. +<p> +The triangles are internally sorted according to various criteria. Hence the internal triangle order does not always match the original (user-defined) order. The remapping table helps finding the old indices knowing the new ones:<p> +remapTable[ internalTriangleIndex ] = originalTriangleIndex<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>the remapping table (or NULL if 'PxCookingParamssuppressTriangleMeshRemapTable' has been used) </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxTriangleMesh.html#611c8453a6b6256a63f1450aa8cf237a" title="Returns the number of triangles.">getNbTriangles()</a> <a class="el" href="classPxTriangleMesh.html#1b5db3f6060849da98024a04ceb991e5" title="Returns the triangle indices.">getTriangles()</a> <a class="el" href="structPxCookingParams.html#50426ff06726ccab3f5e0503077778a6" title="When true, the face remap table is not created. This saves a significant amount of...">PxCookingParams::suppressTriangleMeshRemapTable</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="08c203991bc3ad2be59ad6ab048197dc"></a><!-- doxytag: member="PxTriangleMesh::getVertices" ref="08c203991bc3ad2be59ad6ab048197dc" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual const <a class="el" href="classPxVec3.html">PxVec3</a>* PxTriangleMesh::getVertices </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns the vertices. +<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>array of vertices </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxTriangleMesh.html#b2ee402843a2f19a252ecb229d9cfbc8" title="Returns the number of vertices.">getNbVertices()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="261ef2fa9709a163408b41d2c34dda71"></a><!-- doxytag: member="PxTriangleMesh::getVerticesForModification" ref="261ef2fa9709a163408b41d2c34dda71" args="()=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classPxVec3.html">PxVec3</a>* PxTriangleMesh::getVerticesForModification </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns all mesh vertices for modification. +<p> +This function will return the vertices of the mesh so that their positions can be changed in place. After modifying the vertices you must call refitBVH for the refitting to actually take place. This function maintains the old mesh topology (triangle indices).<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>inplace vertex coordinates for each existing mesh vertex.</dd></dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>works only for <a class="el" href="structPxMeshMidPhase.html#49f740883fbfb1a49631c28818c219f4a791bfd986fc6edb77db2928e3c5e529" title="Default midphase mesh structure, as used up to PhysX 3.3.">PxMeshMidPhase::eBVH33</a> <p> +Size of array returned is equal to the number returned by <a class="el" href="classPxTriangleMesh.html#b2ee402843a2f19a252ecb229d9cfbc8" title="Returns the number of vertices.">getNbVertices()</a>. <p> +This function operates on cooked vertex indices. <p> +This means the index mapping and vertex count can be different from what was provided as an input to the cooking routine. <p> +To achieve unchanged 1-to-1 index mapping with orignal mesh data (before cooking) please use the following cooking flags: <p> +eWELD_VERTICES = 0, eDISABLE_CLEAN_MESH = 1. <p> +It is also recommended to make sure that a call to validateTriangleMesh returns true if mesh cleaning is disabled. </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxTriangleMesh.html#b2ee402843a2f19a252ecb229d9cfbc8" title="Returns the number of vertices.">getNbVertices()</a> <p> +<a class="el" href="classPxTriangleMesh.html#cc5c3b6c67a887917a111c432a799eff" title="Refits BVH for mesh vertices.">refitBVH()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="3a8e22d30966c97fb0686dfae276d67a"></a><!-- doxytag: member="PxTriangleMesh::isKindOf" ref="3a8e22d30966c97fb0686dfae276d67a" args="(const char *name) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual bool PxTriangleMesh::isKindOf </td> + <td>(</td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>superClass</em> </td> + <td> ) </td> + <td> const<code> [inline, protected, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Returns whether a given type name matches with the type of this instance. +<p> + +<p>Reimplemented from <a class="el" href="classPxBase.html#ae9d444c7cfd1715a101350a1b1226ef">PxBase</a>.</p> + +<p>Reimplemented in <a class="el" href="classPxBVH33TriangleMesh.html#7ca6d7f49dd4c5f7cf5e38dac11a2115">PxBVH33TriangleMesh</a>, and <a class="el" href="classPxBVH34TriangleMesh.html#e0d6eb64efb99cba55444c94f265d70f">PxBVH34TriangleMesh</a>.</p> + +<p>References <a class="el" href="PxBase_8h-source.html#l00178">PxBase::isKindOf()</a>.</p> + +<p>Referenced by <a class="el" href="PxTriangleMesh_8h-source.html#l00310">PxBVH34TriangleMesh::isKindOf()</a>, and <a class="el" href="PxTriangleMesh_8h-source.html#l00294">PxBVH33TriangleMesh::isKindOf()</a>.</p> + +</div> +</div><p> +<a class="anchor" name="cc5c3b6c67a887917a111c432a799eff"></a><!-- doxytag: member="PxTriangleMesh::refitBVH" ref="cc5c3b6c67a887917a111c432a799eff" args="()=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classPxBounds3.html">PxBounds3</a> PxTriangleMesh::refitBVH </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Refits BVH for mesh vertices. +<p> +This function will refit the mesh BVH to correctly enclose the new positions updated by getVerticesForModification. Mesh BVH will not be reoptimized by this function so significantly different new positions will cause significantly reduced performance.<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>New bounds for the entire mesh.</dd></dl> +<dl class="note" compact><dt><b>Note:</b></dt><dd>works only for <a class="el" href="structPxMeshMidPhase.html#49f740883fbfb1a49631c28818c219f4a791bfd986fc6edb77db2928e3c5e529" title="Default midphase mesh structure, as used up to PhysX 3.3.">PxMeshMidPhase::eBVH33</a> <p> +PhysX does not keep a mapping from the mesh to mesh shapes that reference it. <p> +Call <a class="el" href="classPxShape.html#c6112e8c0ee9803eb3436bbaf673d98a" title="Adjust the geometry of the shape.">PxShape::setGeometry</a> on each shape which references the mesh, to ensure that internal data structures are updated to reflect the new geometry. <p> +<a class="el" href="classPxShape.html#c6112e8c0ee9803eb3436bbaf673d98a" title="Adjust the geometry of the shape.">PxShape::setGeometry</a> does not guarantee correct/continuous behavior when objects are resting on top of old or new geometry. <p> +It is also recommended to make sure that a call to validateTriangleMesh returns true if mesh cleaning is disabled. <p> +Active edges information will be lost during refit, the rigid body mesh contact generation might not perform as expected. </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxTriangleMesh.html#b2ee402843a2f19a252ecb229d9cfbc8" title="Returns the number of vertices.">getNbVertices()</a> <p> +<a class="el" href="classPxTriangleMesh.html#261ef2fa9709a163408b41d2c34dda71" title="Returns all mesh vertices for modification.">getVerticesForModification()</a> </dd></dl> + +</div> +</div><p> +<a class="anchor" name="168cc0000372c63857d128d04f1d32fa"></a><!-- doxytag: member="PxTriangleMesh::release" ref="168cc0000372c63857d128d04f1d32fa" args="()=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void PxTriangleMesh::release </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Decrements the reference count of a triangle mesh and releases it if the new reference count is zero. +<p> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxPhysics.html#29dcbbe128cef11eaf4ce5696c216dfd" title="Creates a triangle mesh object.">PxPhysics.createTriangleMesh()</a> </dd></dl> + +<p>Implements <a class="el" href="classPxBase.html#fe6aedda1df0d6d29b1a28213a5ee25a">PxBase</a>.</p> + +</div> +</div><p> +<hr>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="PxTriangleMesh_8h-source.html">PxTriangleMesh.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> |