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/classPxQuat.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/classPxQuat.html')
| -rw-r--r-- | PhysX_3.4/Documentation/PhysXAPI/files/classPxQuat.html | 1069 |
1 files changed, 1069 insertions, 0 deletions
diff --git a/PhysX_3.4/Documentation/PhysXAPI/files/classPxQuat.html b/PhysX_3.4/Documentation/PhysXAPI/files/classPxQuat.html new file mode 100644 index 00000000..53ff9bbf --- /dev/null +++ b/PhysX_3.4/Documentation/PhysXAPI/files/classPxQuat.html @@ -0,0 +1,1069 @@ +<html> + <head> + <title>NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxQuat 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>PxQuat Class Reference<br> +<small> +[<a class="el" href="group__foundation.html">Foundation</a>]</small> +</h1><!-- doxytag: class="PxQuat" -->This is a quaternion class. For more information on quaternion mathematics consult a mathematics source on complex numbers. +<a href="#_details">More...</a> +<p> +<code>#include <<a class="el" href="PxQuat_8h-source.html">PxQuat.h</a>></code> +<p> + +<p> +<a href="classPxQuat-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_CUDA_CALLABLE PX_FORCE_INLINE </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#fac7f63b57840965157cf720bb6faddc">PxQuat</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor, does not do any initialization. <a href="#fac7f63b57840965157cf720bb6faddc"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE PX_INLINE </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#13d4cf835204d37e90fecef45659c790">PxQuat</a> (<a class="el" href="group__foundation.html#g70160ca5bbafef277790b3e0f12baf38">PxIDENTITY</a> r)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">identity constructor <a href="#13d4cf835204d37e90fecef45659c790"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE PX_FORCE_INLINE </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#b364d7ce854065cd32b2dbbd8d30e279">PxQuat</a> (float r)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor from a scalar: sets the real part w to the scalar value, and the imaginary parts (x,y,z) to zero. <a href="#b364d7ce854065cd32b2dbbd8d30e279"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE PX_FORCE_INLINE </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#ffc77743ed2c2cd3a90749de917187b0">PxQuat</a> (float nx, float ny, float nz, float nw)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. Take note of the order of the elements! <a href="#ffc77743ed2c2cd3a90749de917187b0"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE PX_INLINE </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#96cdb8dff7a2ed40a71912edf19dd812">PxQuat</a> (float angleRadians, const <a class="el" href="classPxVec3.html">PxVec3</a> &unitAxis)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Creates from angle-axis representation. <a href="#96cdb8dff7a2ed40a71912edf19dd812"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE PX_FORCE_INLINE </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#e12a02d9cb43b5e2c7dc083563cf1586">PxQuat</a> (const <a class="el" href="classPxQuat.html">PxQuat</a> &v)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy ctor. <a href="#e12a02d9cb43b5e2c7dc083563cf1586"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE PX_INLINE </td><td class="memItemRight" valign="bottom"><a class="el" href="group__foundation.html#gf4ea3337baa14716f97e5cae7f6047c2">PxQuat</a> (const <a class="el" href="classPxMat33.html">PxMat33</a> &m)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Creates from orientation matrix. <a href="group__foundation.html#gf4ea3337baa14716f97e5cae7f6047c2"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE <br class="typebreak"> +PX_FORCE_INLINE bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#7535248b780fc139b72905bcf5c1f922">isIdentity</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">returns true if quat is identity <a href="#7535248b780fc139b72905bcf5c1f922"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#a435b2284fdc3d4ad85bec6074f2bad4">isFinite</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">returns true if all elements are finite (not NAN or INF, etc.) <a href="#a435b2284fdc3d4ad85bec6074f2bad4"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#3890ca4efba038ab0fc84bb39c5267db">isUnit</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">returns true if finite and magnitude is close to unit <a href="#3890ca4efba038ab0fc84bb39c5267db"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#935090e7b3017e74a7f8dae595bcaec9">isSane</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">returns true if finite and magnitude is reasonably close to unit to allow for some accumulation of error vs isValid <a href="#935090e7b3017e74a7f8dae595bcaec9"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE PX_INLINE bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#9da7a84ebce6482bbeba84e60c83ac20">operator==</a> (const <a class="el" href="classPxQuat.html">PxQuat</a> &q) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">returns true if the two quaternions are exactly equal <a href="#9da7a84ebce6482bbeba84e60c83ac20"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE PX_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#6fe471d2db21c719e53e21b520dcbbac">toRadiansAndUnitAxis</a> (float &angle, <a class="el" href="classPxVec3.html">PxVec3</a> &axis) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">converts this quaternion to angle-axis representation <a href="#6fe471d2db21c719e53e21b520dcbbac"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE PX_INLINE float </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#f625481b6f1431bef8eefcc22f2497de">getAngle</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the angle between this quat and the identity quaternion. <a href="#f625481b6f1431bef8eefcc22f2497de"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE PX_INLINE float </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#c77bec66cbe4760a4bffbcd51c495253">getAngle</a> (const <a class="el" href="classPxQuat.html">PxQuat</a> &q) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the angle between this quat and the argument. <a href="#c77bec66cbe4760a4bffbcd51c495253"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE <br class="typebreak"> +PX_FORCE_INLINE float </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#765d6d921bcacc14a2548205eb32b402">magnitudeSquared</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">This is the squared 4D vector length, should be 1 for unit quaternions. <a href="#765d6d921bcacc14a2548205eb32b402"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE <br class="typebreak"> +PX_FORCE_INLINE float </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#c41840a9219dd8c85c61233020ffab5a">dot</a> (const <a class="el" href="classPxQuat.html">PxQuat</a> &v) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">returns the scalar product of this and other. <a href="#c41840a9219dd8c85c61233020ffab5a"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE PX_INLINE <a class="el" href="classPxQuat.html">PxQuat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#a9cff7e69cad7e5a681a3ff471efd5cb">getNormalized</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE PX_INLINE float </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#b9a78b5618f8e4b892c91f9fd66a680e">magnitude</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE PX_INLINE float </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#77a42662202126a13f2f9fc12013fe70">normalize</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">maps to the closest unit quaternion. <a href="#77a42662202126a13f2f9fc12013fe70"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE PX_INLINE <a class="el" href="classPxQuat.html">PxQuat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#a4418a046f8851753a23a375515b0614">getConjugate</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE PX_INLINE <a class="el" href="classPxVec3.html">PxVec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#f75c924f631c9ae608821a05b9b59a7f">getImaginaryPart</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE <br class="typebreak"> +PX_FORCE_INLINE <a class="el" href="classPxVec3.html">PxVec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#609e8019db1d8d8ae1e007e160f5e4f6">getBasisVector0</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE <br class="typebreak"> +PX_FORCE_INLINE <a class="el" href="classPxVec3.html">PxVec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#1f4c3fff7fffc8694d04298f36696b82">getBasisVector1</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE <br class="typebreak"> +PX_FORCE_INLINE <a class="el" href="classPxVec3.html">PxVec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#4b77458e75985b09bce8a933e83193c5">getBasisVector2</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE <br class="typebreak"> +PX_FORCE_INLINE const <a class="el" href="classPxVec3.html">PxVec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#b5ffbf8b2b7bd871e6ac0b854fd5730e">rotate</a> (const <a class="el" href="classPxVec3.html">PxVec3</a> &v) const </td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE <br class="typebreak"> +PX_FORCE_INLINE const <a class="el" href="classPxVec3.html">PxVec3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#6ce4a234b750b076459632e60579cf78">rotateInv</a> (const <a class="el" href="classPxVec3.html">PxVec3</a> &v) const </td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE <br class="typebreak"> +PX_FORCE_INLINE <a class="el" href="classPxQuat.html">PxQuat</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#4f3ea9ae559903398b3c973458a6aa11">operator=</a> (const <a class="el" href="classPxQuat.html">PxQuat</a> &p)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment operator. <a href="#4f3ea9ae559903398b3c973458a6aa11"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE <br class="typebreak"> +PX_FORCE_INLINE <a class="el" href="classPxQuat.html">PxQuat</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#06c67f76789048d93e5119e2ef7b9451">operator*=</a> (const <a class="el" href="classPxQuat.html">PxQuat</a> &q)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE <br class="typebreak"> +PX_FORCE_INLINE <a class="el" href="classPxQuat.html">PxQuat</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#2ab2f7c410b2dfeedf984d9c29264c10">operator+=</a> (const <a class="el" href="classPxQuat.html">PxQuat</a> &q)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE <br class="typebreak"> +PX_FORCE_INLINE <a class="el" href="classPxQuat.html">PxQuat</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#00e4863332f965bb73a8849718062677">operator-=</a> (const <a class="el" href="classPxQuat.html">PxQuat</a> &q)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE <br class="typebreak"> +PX_FORCE_INLINE <a class="el" href="classPxQuat.html">PxQuat</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#293e12f666d5877f0de4b230f119a125">operator*=</a> (const float s)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE PX_INLINE <a class="el" href="classPxQuat.html">PxQuat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#67da1625a38e2b44a0e9850dd67a0789">operator*</a> (const <a class="el" href="classPxQuat.html">PxQuat</a> &q) const </td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE <br class="typebreak"> +PX_FORCE_INLINE <a class="el" href="classPxQuat.html">PxQuat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#b57226b2f11124a0df3ef50b167495c1">operator+</a> (const <a class="el" href="classPxQuat.html">PxQuat</a> &q) const </td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE <br class="typebreak"> +PX_FORCE_INLINE <a class="el" href="classPxQuat.html">PxQuat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#5d4f0fe6c51fab6f0d1731a84168faa3">operator-</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE <br class="typebreak"> +PX_FORCE_INLINE <a class="el" href="classPxQuat.html">PxQuat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#543fc02097d753e9b28377873cfe1f29">operator-</a> (const <a class="el" href="classPxQuat.html">PxQuat</a> &q) const </td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_CUDA_CALLABLE <br class="typebreak"> +PX_FORCE_INLINE <a class="el" href="classPxQuat.html">PxQuat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#0d15d51d10b18624f05f2ca0d2c71ba4">operator*</a> (float r) const </td></tr> + +<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#c7275be0f2d9162cff34b2d43f2ab179">x</a></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#0988cef7bc3fbdcd8cf37974c5edd611">y</a></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#6773bfd82393a8dde22ddef5f0900d06">z</a></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQuat.html#84fb33d995ed4e6a26ac3f22523f0b54">w</a></td></tr> + +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +This is a quaternion class. For more information on quaternion mathematics consult a mathematics source on complex numbers. <hr><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" name="fac7f63b57840965157cf720bb6faddc"></a><!-- doxytag: member="PxQuat::PxQuat" ref="fac7f63b57840965157cf720bb6faddc" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat::PxQuat </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Default constructor, does not do any initialization. +<p> + +<p>Referenced by <a class="el" href="PxMat33_8h-source.html#l00357">PxQuat()</a>.</p> + +</div> +</div><p> +<a class="anchor" name="13d4cf835204d37e90fecef45659c790"></a><!-- doxytag: member="PxQuat::PxQuat" ref="13d4cf835204d37e90fecef45659c790" args="(PxIDENTITY r)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_INLINE PxQuat::PxQuat </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__foundation.html#g70160ca5bbafef277790b3e0f12baf38">PxIDENTITY</a> </td> + <td class="paramname"> <em>r</em> </td> + <td> ) </td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +identity constructor +<p> + +<p>References <a class="el" href="PxPreprocessor_8h-source.html#l00456">PX_UNUSED()</a>.</p> + +</div> +</div><p> +<a class="anchor" name="b364d7ce854065cd32b2dbbd8d30e279"></a><!-- doxytag: member="PxQuat::PxQuat" ref="b364d7ce854065cd32b2dbbd8d30e279" args="(float r)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat::PxQuat </td> + <td>(</td> + <td class="paramtype">float </td> + <td class="paramname"> <em>r</em> </td> + <td> ) </td> + <td><code> [inline, explicit]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Constructor from a scalar: sets the real part w to the scalar value, and the imaginary parts (x,y,z) to zero. +<p> + +</div> +</div><p> +<a class="anchor" name="ffc77743ed2c2cd3a90749de917187b0"></a><!-- doxytag: member="PxQuat::PxQuat" ref="ffc77743ed2c2cd3a90749de917187b0" args="(float nx, float ny, float nz, float nw)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat::PxQuat </td> + <td>(</td> + <td class="paramtype">float </td> + <td class="paramname"> <em>nx</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"> <em>ny</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"> <em>nz</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"> <em>nw</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> +Constructor. Take note of the order of the elements! +<p> + +</div> +</div><p> +<a class="anchor" name="96cdb8dff7a2ed40a71912edf19dd812"></a><!-- doxytag: member="PxQuat::PxQuat" ref="96cdb8dff7a2ed40a71912edf19dd812" args="(float angleRadians, const PxVec3 &unitAxis)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_INLINE PxQuat::PxQuat </td> + <td>(</td> + <td class="paramtype">float </td> + <td class="paramname"> <em>angleRadians</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>unitAxis</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> +Creates from angle-axis representation. +<p> +Axis must be normalized!<p> +Angle is in radians!<p> +<b>Unit:</b> Radians +<p>References <a class="el" href="PxVec3_8h-source.html#l00182">PxVec3::magnitude()</a>, <a class="el" href="PxAssert_8h-source.html#l00061">PX_ASSERT</a>, <a class="el" href="PxMath_8h-source.html#l00107">PxAbs()</a>, <a class="el" href="PxMath_8h-source.html#l00182">PxCos()</a>, <a class="el" href="PxMath_8h-source.html#l00170">PxSin()</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="e12a02d9cb43b5e2c7dc083563cf1586"></a><!-- doxytag: member="PxQuat::PxQuat" ref="e12a02d9cb43b5e2c7dc083563cf1586" args="(const PxQuat &v)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE PxQuat::PxQuat </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="classPxQuat.html">PxQuat</a> & </td> + <td class="paramname"> <em>v</em> </td> + <td> ) </td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Copy ctor. +<p> + +</div> +</div><p> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="c41840a9219dd8c85c61233020ffab5a"></a><!-- doxytag: member="PxQuat::dot" ref="c41840a9219dd8c85c61233020ffab5a" args="(const PxQuat &v) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE float PxQuat::dot </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="classPxQuat.html">PxQuat</a> & </td> + <td class="paramname"> <em>v</em> </td> + <td> ) </td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +returns the scalar product of this and other. +<p> + +<p>References <a class="el" href="PxQuat_8h-source.html#l00395">w</a>, <a class="el" href="PxQuat_8h-source.html#l00395">x</a>, <a class="el" href="PxQuat_8h-source.html#l00395">y</a>, and <a class="el" href="PxQuat_8h-source.html#l00395">z</a>.</p> + +</div> +</div><p> +<a class="anchor" name="c77bec66cbe4760a4bffbcd51c495253"></a><!-- doxytag: member="PxQuat::getAngle" ref="c77bec66cbe4760a4bffbcd51c495253" args="(const PxQuat &q) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_INLINE float PxQuat::getAngle </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> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Gets the angle between this quat and the argument. +<p> +<b>Unit:</b> Radians +<p>References <a class="el" href="PxMath_8h-source.html#l00236">PxAcos()</a>.</p> + +</div> +</div><p> +<a class="anchor" name="f625481b6f1431bef8eefcc22f2497de"></a><!-- doxytag: member="PxQuat::getAngle" ref="f625481b6f1431bef8eefcc22f2497de" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_INLINE float PxQuat::getAngle </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Gets the angle between this quat and the identity quaternion. +<p> +<b>Unit:</b> Radians +<p>References <a class="el" href="PxMath_8h-source.html#l00236">PxAcos()</a>.</p> + +</div> +</div><p> +<a class="anchor" name="609e8019db1d8d8ae1e007e160f5e4f6"></a><!-- doxytag: member="PxQuat::getBasisVector0" ref="609e8019db1d8d8ae1e007e160f5e4f6" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE <a class="el" href="classPxVec3.html">PxVec3</a> PxQuat::getBasisVector0 </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +brief computes rotation of x-axis +</div> +</div><p> +<a class="anchor" name="1f4c3fff7fffc8694d04298f36696b82"></a><!-- doxytag: member="PxQuat::getBasisVector1" ref="1f4c3fff7fffc8694d04298f36696b82" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE <a class="el" href="classPxVec3.html">PxVec3</a> PxQuat::getBasisVector1 </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +brief computes rotation of y-axis +</div> +</div><p> +<a class="anchor" name="4b77458e75985b09bce8a933e83193c5"></a><!-- doxytag: member="PxQuat::getBasisVector2" ref="4b77458e75985b09bce8a933e83193c5" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE <a class="el" href="classPxVec3.html">PxVec3</a> PxQuat::getBasisVector2 </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +brief computes rotation of z-axis +</div> +</div><p> +<a class="anchor" name="a4418a046f8851753a23a375515b0614"></a><!-- doxytag: member="PxQuat::getConjugate" ref="a4418a046f8851753a23a375515b0614" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_INLINE <a class="el" href="classPxQuat.html">PxQuat</a> PxQuat::getConjugate </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +<p>Referenced by <a class="el" href="PxMassProperties_8h-source.html#l00245">PxMassProperties::scaleInertia()</a>.</p> + +</div> +</div><p> +<a class="anchor" name="f75c924f631c9ae608821a05b9b59a7f"></a><!-- doxytag: member="PxQuat::getImaginaryPart" ref="f75c924f631c9ae608821a05b9b59a7f" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_INLINE <a class="el" href="classPxVec3.html">PxVec3</a> PxQuat::getImaginaryPart </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="a9cff7e69cad7e5a681a3ff471efd5cb"></a><!-- doxytag: member="PxQuat::getNormalized" ref="a9cff7e69cad7e5a681a3ff471efd5cb" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_INLINE <a class="el" href="classPxQuat.html">PxQuat</a> PxQuat::getNormalized </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="a435b2284fdc3d4ad85bec6074f2bad4"></a><!-- doxytag: member="PxQuat::isFinite" ref="a435b2284fdc3d4ad85bec6074f2bad4" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE bool PxQuat::isFinite </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +returns true if all elements are finite (not NAN or INF, etc.) +<p> + +<p>References <a class="el" href="PxMath_8h-source.html#l00292">PxIsFinite()</a>.</p> + +<p>Referenced by <a class="el" href="PxMassProperties_8h-source.html#l00186">PxMassProperties::getMassSpaceInertia()</a>.</p> + +</div> +</div><p> +<a class="anchor" name="7535248b780fc139b72905bcf5c1f922"></a><!-- doxytag: member="PxQuat::isIdentity" ref="7535248b780fc139b72905bcf5c1f922" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxQuat::isIdentity </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +returns true if quat is identity +<p> + +</div> +</div><p> +<a class="anchor" name="935090e7b3017e74a7f8dae595bcaec9"></a><!-- doxytag: member="PxQuat::isSane" ref="935090e7b3017e74a7f8dae595bcaec9" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE bool PxQuat::isSane </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +returns true if finite and magnitude is reasonably close to unit to allow for some accumulation of error vs isValid +<p> + +<p>References <a class="el" href="PxMath_8h-source.html#l00107">PxAbs()</a>.</p> + +<p>Referenced by <a class="el" href="PxTransform_8h-source.html#l00067">PxTransform::PxTransform()</a>.</p> + +</div> +</div><p> +<a class="anchor" name="3890ca4efba038ab0fc84bb39c5267db"></a><!-- doxytag: member="PxQuat::isUnit" ref="3890ca4efba038ab0fc84bb39c5267db" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE bool PxQuat::isUnit </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +returns true if finite and magnitude is close to unit +<p> + +<p>References <a class="el" href="PxMath_8h-source.html#l00107">PxAbs()</a>.</p> + +<p>Referenced by <a class="el" href="PxTriangleMeshGeometry_8h-source.html#l00131">PxTriangleMeshGeometry::isValid()</a>, <a class="el" href="PxConvexMeshGeometry_8h-source.html#l00131">PxConvexMeshGeometry::isValid()</a>, <a class="el" href="PxMeshScale_8h-source.html#l00103">PxMeshScale::PxMeshScale()</a>, <a class="el" href="PxMassProperties_8h-source.html#l00226">PxMassProperties::rotateInertia()</a>, and <a class="el" href="PxMassProperties_8h-source.html#l00245">PxMassProperties::scaleInertia()</a>.</p> + +</div> +</div><p> +<a class="anchor" name="b9a78b5618f8e4b892c91f9fd66a680e"></a><!-- doxytag: member="PxQuat::magnitude" ref="b9a78b5618f8e4b892c91f9fd66a680e" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_INLINE float PxQuat::magnitude </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +<p>References <a class="el" href="PxMath_8h-source.html#l00144">PxSqrt()</a>.</p> + +</div> +</div><p> +<a class="anchor" name="765d6d921bcacc14a2548205eb32b402"></a><!-- doxytag: member="PxQuat::magnitudeSquared" ref="765d6d921bcacc14a2548205eb32b402" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE float PxQuat::magnitudeSquared </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +This is the squared 4D vector length, should be 1 for unit quaternions. +<p> + +</div> +</div><p> +<a class="anchor" name="77a42662202126a13f2f9fc12013fe70"></a><!-- doxytag: member="PxQuat::normalize" ref="77a42662202126a13f2f9fc12013fe70" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_INLINE float PxQuat::normalize </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +maps to the closest unit quaternion. +<p> + +</div> +</div><p> +<a class="anchor" name="0d15d51d10b18624f05f2ca0d2c71ba4"></a><!-- doxytag: member="PxQuat::operator*" ref="0d15d51d10b18624f05f2ca0d2c71ba4" args="(float r) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE <a class="el" href="classPxQuat.html">PxQuat</a> PxQuat::operator* </td> + <td>(</td> + <td class="paramtype">float </td> + <td class="paramname"> <em>r</em> </td> + <td> ) </td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="67da1625a38e2b44a0e9850dd67a0789"></a><!-- doxytag: member="PxQuat::operator*" ref="67da1625a38e2b44a0e9850dd67a0789" args="(const PxQuat &q) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_INLINE <a class="el" href="classPxQuat.html">PxQuat</a> PxQuat::operator* </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> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +quaternion multiplication +<p>References <a class="el" href="PxQuat_8h-source.html#l00395">w</a>, <a class="el" href="PxQuat_8h-source.html#l00395">x</a>, <a class="el" href="PxQuat_8h-source.html#l00395">y</a>, and <a class="el" href="PxQuat_8h-source.html#l00395">z</a>.</p> + +</div> +</div><p> +<a class="anchor" name="293e12f666d5877f0de4b230f119a125"></a><!-- doxytag: member="PxQuat::operator*=" ref="293e12f666d5877f0de4b230f119a125" args="(const float s)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE <a class="el" href="classPxQuat.html">PxQuat</a>& PxQuat::operator*= </td> + <td>(</td> + <td class="paramtype">const float </td> + <td class="paramname"> <em>s</em> </td> + <td> ) </td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="06c67f76789048d93e5119e2ef7b9451"></a><!-- doxytag: member="PxQuat::operator*=" ref="06c67f76789048d93e5119e2ef7b9451" args="(const PxQuat &q)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE <a class="el" href="classPxQuat.html">PxQuat</a>& PxQuat::operator*= </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> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +<p>References <a class="el" href="PxQuat_8h-source.html#l00395">w</a>, <a class="el" href="PxQuat_8h-source.html#l00395">x</a>, <a class="el" href="PxQuat_8h-source.html#l00395">y</a>, and <a class="el" href="PxQuat_8h-source.html#l00395">z</a>.</p> + +</div> +</div><p> +<a class="anchor" name="b57226b2f11124a0df3ef50b167495c1"></a><!-- doxytag: member="PxQuat::operator+" ref="b57226b2f11124a0df3ef50b167495c1" args="(const PxQuat &q) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE <a class="el" href="classPxQuat.html">PxQuat</a> PxQuat::operator+ </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> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +quaternion addition +<p>References <a class="el" href="PxQuat_8h-source.html#l00395">w</a>, <a class="el" href="PxQuat_8h-source.html#l00395">x</a>, <a class="el" href="PxQuat_8h-source.html#l00395">y</a>, and <a class="el" href="PxQuat_8h-source.html#l00395">z</a>.</p> + +</div> +</div><p> +<a class="anchor" name="2ab2f7c410b2dfeedf984d9c29264c10"></a><!-- doxytag: member="PxQuat::operator+=" ref="2ab2f7c410b2dfeedf984d9c29264c10" args="(const PxQuat &q)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE <a class="el" href="classPxQuat.html">PxQuat</a>& PxQuat::operator+= </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> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +<p>References <a class="el" href="PxQuat_8h-source.html#l00395">w</a>, <a class="el" href="PxQuat_8h-source.html#l00395">x</a>, <a class="el" href="PxQuat_8h-source.html#l00395">y</a>, and <a class="el" href="PxQuat_8h-source.html#l00395">z</a>.</p> + +</div> +</div><p> +<a class="anchor" name="543fc02097d753e9b28377873cfe1f29"></a><!-- doxytag: member="PxQuat::operator-" ref="543fc02097d753e9b28377873cfe1f29" args="(const PxQuat &q) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE <a class="el" href="classPxQuat.html">PxQuat</a> PxQuat::operator- </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> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +<p>References <a class="el" href="PxQuat_8h-source.html#l00395">w</a>, <a class="el" href="PxQuat_8h-source.html#l00395">x</a>, <a class="el" href="PxQuat_8h-source.html#l00395">y</a>, and <a class="el" href="PxQuat_8h-source.html#l00395">z</a>.</p> + +</div> +</div><p> +<a class="anchor" name="5d4f0fe6c51fab6f0d1731a84168faa3"></a><!-- doxytag: member="PxQuat::operator-" ref="5d4f0fe6c51fab6f0d1731a84168faa3" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE <a class="el" href="classPxQuat.html">PxQuat</a> PxQuat::operator- </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +quaternion subtraction +</div> +</div><p> +<a class="anchor" name="00e4863332f965bb73a8849718062677"></a><!-- doxytag: member="PxQuat::operator-=" ref="00e4863332f965bb73a8849718062677" args="(const PxQuat &q)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE <a class="el" href="classPxQuat.html">PxQuat</a>& PxQuat::operator-= </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> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +<p>References <a class="el" href="PxQuat_8h-source.html#l00395">w</a>, <a class="el" href="PxQuat_8h-source.html#l00395">x</a>, <a class="el" href="PxQuat_8h-source.html#l00395">y</a>, and <a class="el" href="PxQuat_8h-source.html#l00395">z</a>.</p> + +</div> +</div><p> +<a class="anchor" name="4f3ea9ae559903398b3c973458a6aa11"></a><!-- doxytag: member="PxQuat::operator=" ref="4f3ea9ae559903398b3c973458a6aa11" args="(const PxQuat &p)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE <a class="el" href="classPxQuat.html">PxQuat</a>& PxQuat::operator= </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="classPxQuat.html">PxQuat</a> & </td> + <td class="paramname"> <em>p</em> </td> + <td> ) </td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Assignment operator. +<p> + +<p>References <a class="el" href="PxQuat_8h-source.html#l00395">w</a>, <a class="el" href="PxQuat_8h-source.html#l00395">x</a>, <a class="el" href="PxQuat_8h-source.html#l00395">y</a>, and <a class="el" href="PxQuat_8h-source.html#l00395">z</a>.</p> + +</div> +</div><p> +<a class="anchor" name="9da7a84ebce6482bbeba84e60c83ac20"></a><!-- doxytag: member="PxQuat::operator==" ref="9da7a84ebce6482bbeba84e60c83ac20" args="(const PxQuat &q) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_INLINE bool PxQuat::operator== </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> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +returns true if the two quaternions are exactly equal +<p> + +<p>References <a class="el" href="PxQuat_8h-source.html#l00395">w</a>, <a class="el" href="PxQuat_8h-source.html#l00395">x</a>, <a class="el" href="PxQuat_8h-source.html#l00395">y</a>, and <a class="el" href="PxQuat_8h-source.html#l00395">z</a>.</p> + +</div> +</div><p> +<a class="anchor" name="b5ffbf8b2b7bd871e6ac0b854fd5730e"></a><!-- doxytag: member="PxQuat::rotate" ref="b5ffbf8b2b7bd871e6ac0b854fd5730e" args="(const PxVec3 &v) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE const <a class="el" href="classPxVec3.html">PxVec3</a> PxQuat::rotate </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="classPxVec3.html">PxVec3</a> & </td> + <td class="paramname"> <em>v</em> </td> + <td> ) </td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +rotates passed vec by this (assumed unitary) +<p>References <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> + +<p>Referenced by <a class="el" href="PxMassProperties_8h-source.html#l00083">PxMassProperties::PxMassProperties()</a>, and <a class="el" href="PxTransform_8h-source.html#l00172">PxTransform::transformInv()</a>.</p> + +</div> +</div><p> +<a class="anchor" name="6ce4a234b750b076459632e60579cf78"></a><!-- doxytag: member="PxQuat::rotateInv" ref="6ce4a234b750b076459632e60579cf78" args="(const PxVec3 &v) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_FORCE_INLINE const <a class="el" href="classPxVec3.html">PxVec3</a> PxQuat::rotateInv </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="classPxVec3.html">PxVec3</a> & </td> + <td class="paramname"> <em>v</em> </td> + <td> ) </td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +inverse rotates passed vec by this (assumed unitary) +<p>References <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> + +<p>Referenced by <a class="el" href="PxMassProperties_8h-source.html#l00083">PxMassProperties::PxMassProperties()</a>.</p> + +</div> +</div><p> +<a class="anchor" name="6fe471d2db21c719e53e21b520dcbbac"></a><!-- doxytag: member="PxQuat::toRadiansAndUnitAxis" ref="6fe471d2db21c719e53e21b520dcbbac" args="(float &angle, PxVec3 &axis) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PX_CUDA_CALLABLE PX_INLINE void PxQuat::toRadiansAndUnitAxis </td> + <td>(</td> + <td class="paramtype">float & </td> + <td class="paramname"> <em>angle</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="classPxVec3.html">PxVec3</a> & </td> + <td class="paramname"> <em>axis</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +converts this quaternion to angle-axis representation +<p> + +<p>References <a class="el" href="PxMath_8h-source.html#l00107">PxAbs()</a>, <a class="el" href="PxMath_8h-source.html#l00276">PxAtan2()</a>, <a class="el" href="PxMath_8h-source.html#l00058">PxPi</a>, and <a class="el" href="PxMath_8h-source.html#l00156">PxRecipSqrt()</a>.</p> + +</div> +</div><p> +<hr><h2>Member Data Documentation</h2> +<a class="anchor" name="84fb33d995ed4e6a26ac3f22523f0b54"></a><!-- doxytag: member="PxQuat::w" ref="84fb33d995ed4e6a26ac3f22523f0b54" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classPxQuat.html#84fb33d995ed4e6a26ac3f22523f0b54">PxQuat::w</a> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +<p>Referenced by <a class="el" href="PxQuat_8h-source.html#l00207">dot()</a>, <a class="el" href="PxQuat_8h-source.html#l00366">operator*()</a>, <a class="el" href="PxQuat_8h-source.html#l00324">operator*=()</a>, <a class="el" href="PxQuat_8h-source.html#l00373">operator+()</a>, <a class="el" href="PxQuat_8h-source.html#l00338">operator+=()</a>, <a class="el" href="PxQuat_8h-source.html#l00384">operator-()</a>, <a class="el" href="PxQuat_8h-source.html#l00347">operator-=()</a>, <a class="el" href="PxQuat_8h-source.html#l00315">operator=()</a>, <a class="el" href="PxQuat_8h-source.html#l00151">operator==()</a>, <a class="el" href="PxMat33_8h-source.html#l00132">PxMat33::PxMat33()</a>, and <a class="el" href="PxMat44_8h-source.html#l00109">PxMat44::PxMat44()</a>.</p> + +</div> +</div><p> +<a class="anchor" name="c7275be0f2d9162cff34b2d43f2ab179"></a><!-- doxytag: member="PxQuat::x" ref="c7275be0f2d9162cff34b2d43f2ab179" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classPxQuat.html#c7275be0f2d9162cff34b2d43f2ab179">PxQuat::x</a> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +the quaternion elements +<p>Referenced by <a class="el" href="PxQuat_8h-source.html#l00207">dot()</a>, <a class="el" href="PxQuat_8h-source.html#l00366">operator*()</a>, <a class="el" href="PxQuat_8h-source.html#l00324">operator*=()</a>, <a class="el" href="PxQuat_8h-source.html#l00373">operator+()</a>, <a class="el" href="PxQuat_8h-source.html#l00338">operator+=()</a>, <a class="el" href="PxQuat_8h-source.html#l00384">operator-()</a>, <a class="el" href="PxQuat_8h-source.html#l00347">operator-=()</a>, <a class="el" href="PxQuat_8h-source.html#l00315">operator=()</a>, <a class="el" href="PxQuat_8h-source.html#l00151">operator==()</a>, <a class="el" href="PxMat33_8h-source.html#l00132">PxMat33::PxMat33()</a>, and <a class="el" href="PxMat44_8h-source.html#l00109">PxMat44::PxMat44()</a>.</p> + +</div> +</div><p> +<a class="anchor" name="0988cef7bc3fbdcd8cf37974c5edd611"></a><!-- doxytag: member="PxQuat::y" ref="0988cef7bc3fbdcd8cf37974c5edd611" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classPxQuat.html#0988cef7bc3fbdcd8cf37974c5edd611">PxQuat::y</a> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +<p>Referenced by <a class="el" href="PxQuat_8h-source.html#l00207">dot()</a>, <a class="el" href="PxQuat_8h-source.html#l00366">operator*()</a>, <a class="el" href="PxQuat_8h-source.html#l00324">operator*=()</a>, <a class="el" href="PxQuat_8h-source.html#l00373">operator+()</a>, <a class="el" href="PxQuat_8h-source.html#l00338">operator+=()</a>, <a class="el" href="PxQuat_8h-source.html#l00384">operator-()</a>, <a class="el" href="PxQuat_8h-source.html#l00347">operator-=()</a>, <a class="el" href="PxQuat_8h-source.html#l00315">operator=()</a>, <a class="el" href="PxQuat_8h-source.html#l00151">operator==()</a>, <a class="el" href="PxMat33_8h-source.html#l00132">PxMat33::PxMat33()</a>, and <a class="el" href="PxMat44_8h-source.html#l00109">PxMat44::PxMat44()</a>.</p> + +</div> +</div><p> +<a class="anchor" name="6773bfd82393a8dde22ddef5f0900d06"></a><!-- doxytag: member="PxQuat::z" ref="6773bfd82393a8dde22ddef5f0900d06" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classPxQuat.html#6773bfd82393a8dde22ddef5f0900d06">PxQuat::z</a> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +<p>Referenced by <a class="el" href="PxQuat_8h-source.html#l00207">dot()</a>, <a class="el" href="PxQuat_8h-source.html#l00366">operator*()</a>, <a class="el" href="PxQuat_8h-source.html#l00324">operator*=()</a>, <a class="el" href="PxQuat_8h-source.html#l00373">operator+()</a>, <a class="el" href="PxQuat_8h-source.html#l00338">operator+=()</a>, <a class="el" href="PxQuat_8h-source.html#l00384">operator-()</a>, <a class="el" href="PxQuat_8h-source.html#l00347">operator-=()</a>, <a class="el" href="PxQuat_8h-source.html#l00315">operator=()</a>, <a class="el" href="PxQuat_8h-source.html#l00151">operator==()</a>, <a class="el" href="PxMat33_8h-source.html#l00132">PxMat33::PxMat33()</a>, and <a class="el" href="PxMat44_8h-source.html#l00109">PxMat44::PxMat44()</a>.</p> + +</div> +</div><p> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="PxQuat_8h-source.html">PxQuat.h</a><li><a class="el" href="PxMat33_8h-source.html">PxMat33.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> |