aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Documentation/PhysXAPI/files/classPxMassProperties.html
diff options
context:
space:
mode:
Diffstat (limited to 'PhysX_3.4/Documentation/PhysXAPI/files/classPxMassProperties.html')
-rw-r--r--PhysX_3.4/Documentation/PhysXAPI/files/classPxMassProperties.html520
1 files changed, 520 insertions, 0 deletions
diff --git a/PhysX_3.4/Documentation/PhysXAPI/files/classPxMassProperties.html b/PhysX_3.4/Documentation/PhysXAPI/files/classPxMassProperties.html
new file mode 100644
index 00000000..7bf6106d
--- /dev/null
+++ b/PhysX_3.4/Documentation/PhysXAPI/files/classPxMassProperties.html
@@ -0,0 +1,520 @@
+<html>
+ <head>
+ <title>NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMassProperties 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> &nbsp;
+ <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp;
+ <a class="qindex" href="annotated.html">Compound List</a> &nbsp;
+ <a class="qindex" href="functions.html">Compound Members</a> &nbsp;
+ </center>
+ <hr class="second">
+ </div>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="contents">
+<h1>PxMassProperties Class Reference<br>
+<small>
+[<a class="el" href="group__extensions.html">Extensions</a>]</small>
+</h1><!-- doxytag: class="PxMassProperties" -->Utility class to compute and manipulate mass and inertia tensor properties.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="PxMassProperties_8h-source.html">PxMassProperties.h</a>&gt;</code>
+<p>
+<div class="dynheader">
+Collaboration diagram for PxMassProperties:</div>
+<div class="dynsection">
+<p><center><img src="classPxMassProperties__coll__graph.png" border="0" usemap="#PxMassProperties__coll__map" alt="Collaboration graph"></center>
+<map name="PxMassProperties__coll__map">
+<area shape="rect" href="classPxVec3.html" title="3 Element vector class." alt="PxVec3" coords="60,16,113,37"><area shape="rect" href="classPxMat33.html" title="3x3 matrix class" alt="PxMat33" coords="151,139,212,160"></map>
+<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
+
+<p>
+<a href="classPxMassProperties-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">PX_FORCE_INLINE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#1cbdb127fcb5b2b3617693e24ccdb49b">PxMassProperties</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <a href="#1cbdb127fcb5b2b3617693e24ccdb49b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_FORCE_INLINE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#5a7eadca391b0cd981c0b35e08c82662">PxMassProperties</a> (const PxReal m, const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;inertiaT, const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;com)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct from individual elements. <a href="#5a7eadca391b0cd981c0b35e08c82662"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#cc8eadc90e93df0e25d4dfb63988a596">PxMassProperties</a> (const <a class="el" href="classPxGeometry.html">PxGeometry</a> &amp;geometry)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute mass properties based on a provided geometry structure. <a href="#cc8eadc90e93df0e25d4dfb63988a596"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_FORCE_INLINE <a class="el" href="classPxMassProperties.html">PxMassProperties</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#17203e50d0713712a2784a2ad51ed198">operator*</a> (const PxReal scale) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Scale mass properties. <a href="#17203e50d0713712a2784a2ad51ed198"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_FORCE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#6b65afdb22147ade5f1ca7f77e591924">translate</a> (const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;t)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Translate the center of mass by a given vector and adjust the inertia tensor accordingly. <a href="#6b65afdb22147ade5f1ca7f77e591924"></a><br></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_FORCE_INLINE <a class="el" href="classPxVec3.html">PxVec3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#53afd0d4b906ee9d96b23ea0bb41287b">getMassSpaceInertia</a> (const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;inertia, <a class="el" href="classPxQuat.html">PxQuat</a> &amp;massFrame)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the entries of the diagonalized inertia tensor and the corresponding reference rotation. <a href="#53afd0d4b906ee9d96b23ea0bb41287b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static PX_FORCE_INLINE <a class="el" href="classPxMat33.html">PxMat33</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#cf94746d2a0e2e989bad06d97c6c387b">translateInertia</a> (const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;inertia, const PxReal <a class="el" href="classPxMassProperties.html#978392fb04bb472602f9fc1315d5f116">mass</a>, const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;t)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Translate an inertia tensor using the parallel axis theorem. <a href="#cf94746d2a0e2e989bad06d97c6c387b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static PX_FORCE_INLINE <a class="el" href="classPxMat33.html">PxMat33</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#4d63a246cd8a59f8709126a4b4528fb6">rotateInertia</a> (const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;inertia, const <a class="el" href="classPxQuat.html">PxQuat</a> &amp;q)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Rotate an inertia tensor around the center of mass. <a href="#4d63a246cd8a59f8709126a4b4528fb6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classPxMat33.html">PxMat33</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#4ba3bf338320c9f0bf558b5d3a9046bd">scaleInertia</a> (const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;inertia, const <a class="el" href="classPxQuat.html">PxQuat</a> &amp;scaleRotation, const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;scale)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Non-uniform scaling of the inertia tensor. <a href="#4ba3bf338320c9f0bf558b5d3a9046bd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classPxMassProperties.html">PxMassProperties</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#63e7875cb60efa35150002e56fcfa43f">sum</a> (const <a class="el" href="classPxMassProperties.html">PxMassProperties</a> *props, const <a class="el" href="classPxTransform.html">PxTransform</a> *transforms, const <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> count)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sum up individual mass properties. <a href="#63e7875cb60efa35150002e56fcfa43f"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classPxMat33.html">PxMat33</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#eefe4de17f788dacbf9c48fd5ec857ac">inertiaTensor</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The inertia tensor of the object. <a href="#eefe4de17f788dacbf9c48fd5ec857ac"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classPxVec3.html">PxVec3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#8f4e5b19248941b3ee2369afadb20e96">centerOfMass</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The center of mass of the object. <a href="#8f4e5b19248941b3ee2369afadb20e96"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">PxReal&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#978392fb04bb472602f9fc1315d5f116">mass</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The mass of the object. <a href="#978392fb04bb472602f9fc1315d5f116"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Utility class to compute and manipulate mass and inertia tensor properties.
+<p>
+In most cases <a class="el" href="classPxRigidBodyExt.html#769be90cdb138897ce426aa04ac0a1e7" title="Computation of mass properties for a rigid body actor.">PxRigidBodyExt::updateMassAndInertia()</a>, <a class="el" href="classPxRigidBodyExt.html#b8f6af57a0fde875c41e5d747dec49fb" title="Computation of mass properties for a rigid body actor.">PxRigidBodyExt::setMassAndUpdateInertia()</a> should be enough to setup the mass properties of a rigid body. This utility class targets users that need to customize the mass properties computation. <hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="1cbdb127fcb5b2b3617693e24ccdb49b"></a><!-- doxytag: member="PxMassProperties::PxMassProperties" ref="1cbdb127fcb5b2b3617693e24ccdb49b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PX_FORCE_INLINE PxMassProperties::PxMassProperties </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Default constructor.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="5a7eadca391b0cd981c0b35e08c82662"></a><!-- doxytag: member="PxMassProperties::PxMassProperties" ref="5a7eadca391b0cd981c0b35e08c82662" args="(const PxReal m, const PxMat33 &amp;inertiaT, const PxVec3 &amp;com)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PX_FORCE_INLINE PxMassProperties::PxMassProperties </td>
+ <td>(</td>
+ <td class="paramtype">const PxReal&nbsp;</td>
+ <td class="paramname"> <em>m</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>inertiaT</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>com</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Construct from individual elements.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="cc8eadc90e93df0e25d4dfb63988a596"></a><!-- doxytag: member="PxMassProperties::PxMassProperties" ref="cc8eadc90e93df0e25d4dfb63988a596" args="(const PxGeometry &amp;geometry)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PxMassProperties::PxMassProperties </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classPxGeometry.html">PxGeometry</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>geometry</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Compute mass properties based on a provided geometry structure.
+<p>
+This constructor assumes the geometry has a density of 1. Mass and inertia tensor scale linearly with density.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>geometry</em>&nbsp;</td><td>The geometry to compute the mass properties for. Supported geometry types are: sphere, box, capsule and convex mesh. </td></tr>
+ </table>
+</dl>
+
+<p>References <a class="el" href="PxConvexMeshGeometry_8h-source.html#l00125">PxConvexMeshGeometry::convexMesh</a>, <a class="el" href="PxMat33_8h-source.html#l00176">PxMat33::createDiagonal()</a>, <a class="el" href="PxGeometry_8h-source.html#l00058">PxGeometryType::eBOX</a>, <a class="el" href="PxGeometry_8h-source.html#l00057">PxGeometryType::eCAPSULE</a>, <a class="el" href="PxGeometry_8h-source.html#l00059">PxGeometryType::eCONVEXMESH</a>, <a class="el" href="PxGeometry_8h-source.html#l00063">PxGeometryType::eGEOMETRY_COUNT</a>, <a class="el" href="PxGeometry_8h-source.html#l00061">PxGeometryType::eHEIGHTFIELD</a>, <a class="el" href="PxGeometry_8h-source.html#l00064">PxGeometryType::eINVALID</a>, <a class="el" href="PxGeometry_8h-source.html#l00056">PxGeometryType::ePLANE</a>, <a class="el" href="PxGeometry_8h-source.html#l00055">PxGeometryType::eSPHERE</a>, <a class="el" href="PxGeometry_8h-source.html#l00060">PxGeometryType::eTRIANGLEMESH</a>, <a class="el" href="classPxConvexMesh.html#497cea6e1975b9081760afc602985bbc">PxConvexMesh::getMassInformation()</a>, <a class="el" href="PxGeometry_8h-source.html#l00083">PxGeometry::getType()</a>, <a class="el" href="PxBoxGeometry_8h-source.html#l00088">PxBoxGeometry::halfExtents</a>, <a class="el" href="PxCapsuleGeometry_8h-source.html#l00088">PxCapsuleGeometry::halfHeight</a>, <a class="el" href="PxVec3_8h-source.html#l00335">PxVec3::multiply()</a>, <a class="el" href="PxAssert_8h-source.html#l00061">PX_ASSERT</a>, <a class="el" href="PxMath_8h-source.html#l00292">PxIsFinite()</a>, <a class="el" href="PxMath_8h-source.html#l00058">PxPi</a>, <a class="el" href="PxCapsuleGeometry_8h-source.html#l00083">PxCapsuleGeometry::radius</a>, <a class="el" href="PxSphereGeometry_8h-source.html#l00072">PxSphereGeometry::radius</a>, <a class="el" href="PxQuat_8h-source.html#l00287">PxQuat::rotate()</a>, <a class="el" href="PxQuat_8h-source.html#l00301">PxQuat::rotateInv()</a>, <a class="el" href="PxMeshScale_8h-source.html#l00165">PxMeshScale::rotation</a>, <a class="el" href="PxMeshScale_8h-source.html#l00164">PxMeshScale::scale</a>, <a class="el" href="PxConvexMeshGeometry_8h-source.html#l00124">PxConvexMeshGeometry::scale</a>, <a class="el" href="PxVec3_8h-source.html#l00380">PxVec3::x</a>, <a class="el" href="PxVec3_8h-source.html#l00380">PxVec3::y</a>, and <a class="el" href="PxVec3_8h-source.html#l00380">PxVec3::z</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="53afd0d4b906ee9d96b23ea0bb41287b"></a><!-- doxytag: member="PxMassProperties::getMassSpaceInertia" ref="53afd0d4b906ee9d96b23ea0bb41287b" args="(const PxMat33 &amp;inertia, PxQuat &amp;massFrame)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static PX_FORCE_INLINE <a class="el" href="classPxVec3.html">PxVec3</a> PxMassProperties::getMassSpaceInertia </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>inertia</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classPxQuat.html">PxQuat</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>massFrame</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the entries of the diagonalized inertia tensor and the corresponding reference rotation.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>inertia</em>&nbsp;</td><td>The inertia tensor to diagonalize. </td></tr>
+ <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>massFrame</em>&nbsp;</td><td>The frame the diagonalized tensor refers to. </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The entries of the diagonalized inertia tensor. </dd></dl>
+
+<p>References <a class="el" href="PxMat33_8h-source.html#l00353">PxMat33::column0</a>, <a class="el" href="PxMat33_8h-source.html#l00353">PxMat33::column1</a>, <a class="el" href="PxMat33_8h-source.html#l00353">PxMat33::column2</a>, <a class="el" href="PxQuat_8h-source.html#l00124">PxQuat::isFinite()</a>, <a class="el" href="PxVec3_8h-source.html#l00155">PxVec3::isFinite()</a>, <a class="el" href="PxAssert_8h-source.html#l00061">PX_ASSERT</a>, and <a class="el" href="group__common.html#gde7a77d4ae9d14e363364a9d72cf4932">PxDiagonalize()</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="17203e50d0713712a2784a2ad51ed198"></a><!-- doxytag: member="PxMassProperties::operator*" ref="17203e50d0713712a2784a2ad51ed198" args="(const PxReal scale) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PX_FORCE_INLINE <a class="el" href="classPxMassProperties.html">PxMassProperties</a> PxMassProperties::operator* </td>
+ <td>(</td>
+ <td class="paramtype">const PxReal&nbsp;</td>
+ <td class="paramname"> <em>scale</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Scale mass properties.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>scale</em>&nbsp;</td><td>The linear scaling factor to apply to the mass properties. </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The scaled mass properties. </dd></dl>
+
+<p>References <a class="el" href="PxAssert_8h-source.html#l00061">PX_ASSERT</a>, and <a class="el" href="PxMath_8h-source.html#l00292">PxIsFinite()</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="4d63a246cd8a59f8709126a4b4528fb6"></a><!-- doxytag: member="PxMassProperties::rotateInertia" ref="4d63a246cd8a59f8709126a4b4528fb6" args="(const PxMat33 &amp;inertia, const PxQuat &amp;q)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static PX_FORCE_INLINE <a class="el" href="classPxMat33.html">PxMat33</a> PxMassProperties::rotateInertia </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>inertia</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classPxQuat.html">PxQuat</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>q</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Rotate an inertia tensor around the center of mass.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>inertia</em>&nbsp;</td><td>The inertia tensor to rotate. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>q</em>&nbsp;</td><td>The rotation to apply to the inertia tensor. </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The rotated inertia tensor. </dd></dl>
+
+<p>References <a class="el" href="PxMat33_8h-source.html#l00353">PxMat33::column0</a>, <a class="el" href="PxMat33_8h-source.html#l00353">PxMat33::column1</a>, <a class="el" href="PxMat33_8h-source.html#l00353">PxMat33::column2</a>, <a class="el" href="PxMat33_8h-source.html#l00190">PxMat33::getTranspose()</a>, <a class="el" href="PxVec3_8h-source.html#l00155">PxVec3::isFinite()</a>, <a class="el" href="PxQuat_8h-source.html#l00132">PxQuat::isUnit()</a>, and <a class="el" href="PxAssert_8h-source.html#l00061">PX_ASSERT</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="4ba3bf338320c9f0bf558b5d3a9046bd"></a><!-- doxytag: member="PxMassProperties::scaleInertia" ref="4ba3bf338320c9f0bf558b5d3a9046bd" args="(const PxMat33 &amp;inertia, const PxQuat &amp;scaleRotation, const PxVec3 &amp;scale)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="classPxMat33.html">PxMat33</a> PxMassProperties::scaleInertia </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>inertia</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classPxQuat.html">PxQuat</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>scaleRotation</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>scale</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Non-uniform scaling of the inertia tensor.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>inertia</em>&nbsp;</td><td>The inertia tensor to scale. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>scaleRotation</em>&nbsp;</td><td>The frame of the provided scaling factors. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>scale</em>&nbsp;</td><td>The scaling factor for each axis (relative to the frame specified in scaleRotation). </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The scaled inertia tensor. </dd></dl>
+
+<p>References <a class="el" href="PxMat33_8h-source.html#l00353">PxMat33::column0</a>, <a class="el" href="PxMat33_8h-source.html#l00353">PxMat33::column1</a>, <a class="el" href="PxMat33_8h-source.html#l00353">PxMat33::column2</a>, <a class="el" href="PxVec3_8h-source.html#l00275">PxVec3::dot()</a>, <a class="el" href="PxQuat_8h-source.html#l00247">PxQuat::getConjugate()</a>, <a class="el" href="PxVec3_8h-source.html#l00155">PxVec3::isFinite()</a>, <a class="el" href="PxQuat_8h-source.html#l00132">PxQuat::isUnit()</a>, <a class="el" href="PxVec3_8h-source.html#l00335">PxVec3::multiply()</a>, <a class="el" href="PxAssert_8h-source.html#l00061">PX_ASSERT</a>, <a class="el" href="PxVec3_8h-source.html#l00380">PxVec3::x</a>, <a class="el" href="PxVec3_8h-source.html#l00380">PxVec3::y</a>, and <a class="el" href="PxVec3_8h-source.html#l00380">PxVec3::z</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="63e7875cb60efa35150002e56fcfa43f"></a><!-- doxytag: member="PxMassProperties::sum" ref="63e7875cb60efa35150002e56fcfa43f" args="(const PxMassProperties *props, const PxTransform *transforms, const PxU32 count)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="classPxMassProperties.html">PxMassProperties</a> PxMassProperties::sum </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classPxMassProperties.html">PxMassProperties</a> *&nbsp;</td>
+ <td class="paramname"> <em>props</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classPxTransform.html">PxTransform</a> *&nbsp;</td>
+ <td class="paramname"> <em>transforms</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a>&nbsp;</td>
+ <td class="paramname"> <em>count</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sum up individual mass properties.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>props</em>&nbsp;</td><td>Array of mass properties to sum up. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>transforms</em>&nbsp;</td><td>Reference transforms for each mass properties entry. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>count</em>&nbsp;</td><td>The number of mass properties to sum up. </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The summed up mass properties. </dd></dl>
+
+<p>References <a class="el" href="PxMat33_8h-source.html#l00353">PxMat33::column0</a>, <a class="el" href="PxMat33_8h-source.html#l00353">PxMat33::column1</a>, <a class="el" href="PxMat33_8h-source.html#l00353">PxMat33::column2</a>, <a class="el" href="PxMassProperties_8h-source.html#l00315">inertiaTensor</a>, <a class="el" href="PxVec3_8h-source.html#l00155">PxVec3::isFinite()</a>, <a class="el" href="PxMassProperties_8h-source.html#l00317">mass</a>, <a class="el" href="PxAssert_8h-source.html#l00061">PX_ASSERT</a>, <a class="el" href="PxMath_8h-source.html#l00292">PxIsFinite()</a>, <a class="el" href="Px_8h-source.html#l00078">PxZero</a>, and <a class="el" href="PxTransform_8h-source.html#l00111">PxTransform::transform()</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="6b65afdb22147ade5f1ca7f77e591924"></a><!-- doxytag: member="PxMassProperties::translate" ref="6b65afdb22147ade5f1ca7f77e591924" args="(const PxVec3 &amp;t)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PX_FORCE_INLINE void PxMassProperties::translate </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>t</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Translate the center of mass by a given vector and adjust the inertia tensor accordingly.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>t</em>&nbsp;</td><td>The translation vector for the center of mass. </td></tr>
+ </table>
+</dl>
+
+<p>References <a class="el" href="PxVec3_8h-source.html#l00155">PxVec3::isFinite()</a>, and <a class="el" href="PxAssert_8h-source.html#l00061">PX_ASSERT</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="cf94746d2a0e2e989bad06d97c6c387b"></a><!-- doxytag: member="PxMassProperties::translateInertia" ref="cf94746d2a0e2e989bad06d97c6c387b" args="(const PxMat33 &amp;inertia, const PxReal mass, const PxVec3 &amp;t)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static PX_FORCE_INLINE <a class="el" href="classPxMat33.html">PxMat33</a> PxMassProperties::translateInertia </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>inertia</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const PxReal&nbsp;</td>
+ <td class="paramname"> <em>mass</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>t</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [inline, static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Translate an inertia tensor using the parallel axis theorem.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>inertia</em>&nbsp;</td><td>The inertia tensor to translate. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>mass</em>&nbsp;</td><td>The mass of the object. </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>t</em>&nbsp;</td><td>The relative frame to translate the inertia tensor to. </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The translated inertia tensor. </dd></dl>
+
+<p>References <a class="el" href="PxMat33_8h-source.html#l00353">PxMat33::column0</a>, <a class="el" href="PxMat33_8h-source.html#l00353">PxMat33::column1</a>, <a class="el" href="PxMat33_8h-source.html#l00353">PxMat33::column2</a>, <a class="el" href="PxVec3_8h-source.html#l00155">PxVec3::isFinite()</a>, <a class="el" href="PxAssert_8h-source.html#l00061">PX_ASSERT</a>, <a class="el" href="PxMath_8h-source.html#l00292">PxIsFinite()</a>, <a class="el" href="PxVec3_8h-source.html#l00380">PxVec3::x</a>, <a class="el" href="PxVec3_8h-source.html#l00380">PxVec3::y</a>, and <a class="el" href="PxVec3_8h-source.html#l00380">PxVec3::z</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="8f4e5b19248941b3ee2369afadb20e96"></a><!-- doxytag: member="PxMassProperties::centerOfMass" ref="8f4e5b19248941b3ee2369afadb20e96" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classPxVec3.html">PxVec3</a> <a class="el" href="classPxMassProperties.html#8f4e5b19248941b3ee2369afadb20e96">PxMassProperties::centerOfMass</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The center of mass of the object.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="eefe4de17f788dacbf9c48fd5ec857ac"></a><!-- doxytag: member="PxMassProperties::inertiaTensor" ref="eefe4de17f788dacbf9c48fd5ec857ac" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="classPxMat33.html">PxMat33</a> <a class="el" href="classPxMassProperties.html#eefe4de17f788dacbf9c48fd5ec857ac">PxMassProperties::inertiaTensor</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The inertia tensor of the object.
+<p>
+
+<p>Referenced by <a class="el" href="PxMassProperties_8h-source.html#l00282">sum()</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="978392fb04bb472602f9fc1315d5f116"></a><!-- doxytag: member="PxMassProperties::mass" ref="978392fb04bb472602f9fc1315d5f116" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PxReal <a class="el" href="classPxMassProperties.html#978392fb04bb472602f9fc1315d5f116">PxMassProperties::mass</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+The mass of the object.
+<p>
+
+<p>Referenced by <a class="el" href="PxMassProperties_8h-source.html#l00282">sum()</a>.</p>
+
+</div>
+</div><p>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="PxMassProperties_8h-source.html">PxMassProperties.h</a></ul>
+</div>
+
+<hr style="width: 100%; height: 2px;"><br>
+Copyright &copy; 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>