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/classPxMassProperties.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/classPxMassProperties.html')
| -rw-r--r-- | PhysX_3.4/Documentation/PhysXAPI/files/classPxMassProperties.html | 520 |
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> + <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>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 <<a class="el" href="PxMassProperties_8h-source.html">PxMassProperties.h</a>></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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#1cbdb127fcb5b2b3617693e24ccdb49b">PxMassProperties</a> ()</td></tr> + +<tr><td class="mdescLeft"> </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 </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> &inertiaT, const <a class="el" href="classPxVec3.html">PxVec3</a> &com)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct from individual elements. <a href="#5a7eadca391b0cd981c0b35e08c82662"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#cc8eadc90e93df0e25d4dfb63988a596">PxMassProperties</a> (const <a class="el" href="classPxGeometry.html">PxGeometry</a> &geometry)</td></tr> + +<tr><td class="mdescLeft"> </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> </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#6b65afdb22147ade5f1ca7f77e591924">translate</a> (const <a class="el" href="classPxVec3.html">PxVec3</a> &t)</td></tr> + +<tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#53afd0d4b906ee9d96b23ea0bb41287b">getMassSpaceInertia</a> (const <a class="el" href="classPxMat33.html">PxMat33</a> &inertia, <a class="el" href="classPxQuat.html">PxQuat</a> &massFrame)</td></tr> + +<tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#cf94746d2a0e2e989bad06d97c6c387b">translateInertia</a> (const <a class="el" href="classPxMat33.html">PxMat33</a> &inertia, const PxReal <a class="el" href="classPxMassProperties.html#978392fb04bb472602f9fc1315d5f116">mass</a>, const <a class="el" href="classPxVec3.html">PxVec3</a> &t)</td></tr> + +<tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#4d63a246cd8a59f8709126a4b4528fb6">rotateInertia</a> (const <a class="el" href="classPxMat33.html">PxMat33</a> &inertia, const <a class="el" href="classPxQuat.html">PxQuat</a> &q)</td></tr> + +<tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#4ba3bf338320c9f0bf558b5d3a9046bd">scaleInertia</a> (const <a class="el" href="classPxMat33.html">PxMat33</a> &inertia, const <a class="el" href="classPxQuat.html">PxQuat</a> &scaleRotation, const <a class="el" href="classPxVec3.html">PxVec3</a> &scale)</td></tr> + +<tr><td class="mdescLeft"> </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> </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"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#eefe4de17f788dacbf9c48fd5ec857ac">inertiaTensor</a></td></tr> + +<tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#8f4e5b19248941b3ee2369afadb20e96">centerOfMass</a></td></tr> + +<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMassProperties.html#978392fb04bb472602f9fc1315d5f116">mass</a></td></tr> + +<tr><td class="mdescLeft"> </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 & 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> ) </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 &inertiaT, const PxVec3 &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 </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> & </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> & </td> + <td class="paramname"> <em>com</em></td><td> </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 &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> & </td> + <td class="paramname"> <em>geometry</em> </td> + <td> ) </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> </td><td valign="top"><em>geometry</em> </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 &inertia, PxQuat &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> & </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> & </td> + <td class="paramname"> <em>massFrame</em></td><td> </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> </td><td valign="top"><em>inertia</em> </td><td>The inertia tensor to diagonalize. </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>massFrame</em> </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 </td> + <td class="paramname"> <em>scale</em> </td> + <td> ) </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> </td><td valign="top"><em>scale</em> </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 &inertia, const PxQuat &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> & </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> & </td> + <td class="paramname"> <em>q</em></td><td> </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> </td><td valign="top"><em>inertia</em> </td><td>The inertia tensor to rotate. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>q</em> </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 &inertia, const PxQuat &scaleRotation, const PxVec3 &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> & </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> & </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> & </td> + <td class="paramname"> <em>scale</em></td><td> </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> </td><td valign="top"><em>inertia</em> </td><td>The inertia tensor to scale. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>scaleRotation</em> </td><td>The frame of the provided scaling factors. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>scale</em> </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> * </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> * </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> </td> + <td class="paramname"> <em>count</em></td><td> </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> </td><td valign="top"><em>props</em> </td><td>Array of mass properties to sum up. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>transforms</em> </td><td>Reference transforms for each mass properties entry. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>count</em> </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 &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> & </td> + <td class="paramname"> <em>t</em> </td> + <td> ) </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> </td><td valign="top"><em>t</em> </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 &inertia, const PxReal mass, const PxVec3 &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> & </td> + <td class="paramname"> <em>inertia</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const PxReal </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> & </td> + <td class="paramname"> <em>t</em></td><td> </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> </td><td valign="top"><em>inertia</em> </td><td>The inertia tensor to translate. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>mass</em> </td><td>The mass of the object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>t</em> </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 © 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> |