aboutsummaryrefslogtreecommitdiff
path: root/docs/source_docs/files/bt_vector3_8h.html
diff options
context:
space:
mode:
authorBryan Galdrikian <[email protected]>2017-10-24 15:25:02 -0700
committerBryan Galdrikian <[email protected]>2017-10-24 15:25:02 -0700
commitb0c11962f6012430da3bcaa2727288046b33d648 (patch)
treecf13338fa4fd7072badf64f751f94abeeb437003 /docs/source_docs/files/bt_vector3_8h.html
parentlinux build fix - all configs (diff)
downloadblast-b0c11962f6012430da3bcaa2727288046b33d648.tar.xz
blast-b0c11962f6012430da3bcaa2727288046b33d648.zip
Changes for 1.1.1
See README.md
Diffstat (limited to 'docs/source_docs/files/bt_vector3_8h.html')
-rw-r--r--docs/source_docs/files/bt_vector3_8h.html2201
1 files changed, 2201 insertions, 0 deletions
diff --git a/docs/source_docs/files/bt_vector3_8h.html b/docs/source_docs/files/bt_vector3_8h.html
new file mode 100644
index 0000000..e58b175
--- /dev/null
+++ b/docs/source_docs/files/bt_vector3_8h.html
@@ -0,0 +1,2201 @@
+<html>
+ <head>
+ <title>NVIDIA(R) Blast(R) SDK 1.1 Source Reference: sdk/extensions/authoring/source/VHACD/inc/btVector3.h File 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="blast_logo.png">
+ <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">Class List</a> &nbsp;
+ <a class="qindex" href="functions.html">Class Members</a> &nbsp;
+ </center>
+ <hr class="second">
+ </div>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>User's&nbsp;Guide</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>sdk/extensions/authoring/source/VHACD/inc/btVector3.h File Reference</h1><code>#include &quot;<a class="el" href="bt_min_max_8h-source.html">btMinMax.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="bt_scalar_8h-source.html">btScalar.h</a>&quot;</code><br>
+
+<p>
+<a href="bt_vector3_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbt_vector3_double_data.html">btVector3DoubleData</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbt_vector3_float_data.html">btVector3FloatData</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbt_vector4.html">btVector4</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#d116b75e5135551c1335437e47fd8a3f">btVector3Data</a>&nbsp;&nbsp;&nbsp;<a class="el" href="structbt_vector3_float_data.html">btVector3FloatData</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#22c3af642cd6ee73d125e310c6318cce">btVector3DataName</a>&nbsp;&nbsp;&nbsp;&quot;btVector3FloatData&quot;</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#447fc07f600ed8ded0713c961dece919">absolute</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a vector will the absolute values of each element. <a href="#447fc07f600ed8ded0713c961dece919"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#9fc74450b4146c1a60a3bd6ba3bb23a4">angle</a> (const btVector3 &amp;v) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the angle between this and another vector. <a href="#9fc74450b4146c1a60a3bd6ba3bb23a4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#895569a6d2cf658dbbbbb88c7d93f312">btAngle</a> (const btVector3 &amp;v1, const btVector3 &amp;v2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the angle between two vectors. <a href="#895569a6d2cf658dbbbbb88c7d93f312"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#d50f4077e814fac34e7d7d5d461278de">btCross</a> (const btVector3 &amp;v1, const btVector3 &amp;v2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the cross product of two vectors. <a href="#d50f4077e814fac34e7d7d5d461278de"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#807989b9a52fe29eb4109795d9b7e023">btDistance</a> (const btVector3 &amp;v1, const btVector3 &amp;v2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the distance between two vectors. <a href="#807989b9a52fe29eb4109795d9b7e023"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#cb9d56a9d84e04f74f595787c4ffe244">btDistance2</a> (const btVector3 &amp;v1, const btVector3 &amp;v2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the distance squared between two vectors. <a href="#cb9d56a9d84e04f74f595787c4ffe244"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#550dc4505b1f10c03a685705f41f4011">btDot</a> (const btVector3 &amp;v1, const btVector3 &amp;v2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the dot product between two vectors. <a href="#550dc4505b1f10c03a685705f41f4011"></a><br></td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#17d43dc0b1e36c2f3dd5b7aeaf930989">btPlaneSpace1</a> (const T &amp;n, T &amp;p, T &amp;q)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#73a7b483dcde16e86e28e8c75be3df99">btSwapScalarEndian</a> (const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;sourceVal, <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;destVal)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">btSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization <a href="#73a7b483dcde16e86e28e8c75be3df99"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#96dc28c8355164ad9a4736ad2fe99e2c">btSwapVector3Endian</a> (const btVector3 &amp;sourceVec, btVector3 &amp;destVec)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">btSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization <a href="#96dc28c8355164ad9a4736ad2fe99e2c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#98343fa170fe356460903cbed3e606a3">btTriple</a> (const btVector3 &amp;v1, const btVector3 &amp;v2, const btVector3 &amp;v3)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#111b328c4d76341871adb4712477ad21">btUnSwapVector3Endian</a> (btVector3 &amp;vector)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">btUnSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization <a href="#111b328c4d76341871adb4712477ad21"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#ba0837be927ae5152dcdb38bc5945bd5">btVector3</a> (const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;x, const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;y, const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;z)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor from scalars. <a href="#ba0837be927ae5152dcdb38bc5945bd5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#3fae008fb245faf41f926174868c1323">btVector3</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">No initialization constructor. <a href="#3fae008fb245faf41f926174868c1323"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#46baa802ed4b6eb67349ef6296338a56">closestAxis</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#be07352e9e8ada8dda9ead8a0c9c20d0">cross</a> (const btVector3 &amp;v) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the cross product between this and another vector. <a href="#be07352e9e8ada8dda9ead8a0c9c20d0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#b97452b3ced1f03b405a589ef841e96f">deSerialize</a> (const struct btVector3Data &amp;dataIn)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#4241fc63918b2364ad15adcf42017554">deSerializeDouble</a> (const struct <a class="el" href="structbt_vector3_double_data.html">btVector3DoubleData</a> &amp;dataIn)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#92157a4108a364787eb1b937c7b6d3ce">deSerializeFloat</a> (const struct <a class="el" href="structbt_vector3_float_data.html">btVector3FloatData</a> &amp;dataIn)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#b699912662dfd1bd647fe45513a04792">distance</a> (const btVector3 &amp;v) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the distance between the ends of this and another vector This is symantically treating the vector like a point. <a href="#b699912662dfd1bd647fe45513a04792"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#6657dafe4657907a8bfc8f245260f7c5">distance2</a> (const btVector3 &amp;v) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the distance squared between the ends of this and another vector This is symantically treating the vector like a point. <a href="#6657dafe4657907a8bfc8f245260f7c5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#5e459518e79ca5e387a560cc70d3043f">dot</a> (const btVector3 &amp;v) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the dot product. <a href="#5e459518e79ca5e387a560cc70d3043f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#346205e0e58081ddaff5919c220f6951">furthestAxis</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#8788b9178180566bd06f3d579715f156">fuzzyZero</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#73c97c7917e6d847c1266c15114dd029">getSkewSymmetricMatrix</a> (btVector3 *v0, btVector3 *v1, btVector3 *v2) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#7bd9a666b2572c1e6d6987c8cc802f49">getX</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the x value. <a href="#7bd9a666b2572c1e6d6987c8cc802f49"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#0ea9d108a67442be94e25ac0eee51090">getY</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the y value. <a href="#0ea9d108a67442be94e25ac0eee51090"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#2301fb0561b749ff8dcac335b8accb84">getZ</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the z value. <a href="#2301fb0561b749ff8dcac335b8accb84"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#41e211348a0e50f54a2546933c25e62a">isZero</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#dc51fdc7f5ea87f21e1c4a45830b0899">length</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the length of the vector. <a href="#dc51fdc7f5ea87f21e1c4a45830b0899"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#e46609062457bbfeb6e44fdb01a4c696">length2</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the length of the vector squared. <a href="#e46609062457bbfeb6e44fdb01a4c696"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#6fed16d2caeeb6696519d64bac9494e3">lerp</a> (const btVector3 &amp;v1, const btVector3 &amp;v2, const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;t)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the linear interpolation between two vectors. <a href="#6fed16d2caeeb6696519d64bac9494e3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#a87d74554fd5ce7e80bbae832013bbf5">lerp</a> (const btVector3 &amp;v, const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;t) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the linear interpolation between this and another vector. <a href="#a87d74554fd5ce7e80bbae832013bbf5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#63131e162711079d5bc14360ea49c71f">maxAxis</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the axis with the largest value Note return values are 0,1,2 for x, y, or z. <a href="#63131e162711079d5bc14360ea49c71f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#79a7b45e21dd2f28d0fded714d48ad6e">minAxis</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the axis with the smallest value Note return values are 0,1,2 for x, y, or z. <a href="#79a7b45e21dd2f28d0fded714d48ad6e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3 &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#3083f1242193e3cac601afe9610cc4e5">normalize</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Normalize this vector x^2 + y^2 + z^2 = 1. <a href="#3083f1242193e3cac601afe9610cc4e5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#551181b9a8d9e99a4ee65c2f3d00dbad">normalized</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a normalized version of this vector. <a href="#551181b9a8d9e99a4ee65c2f3d00dbad"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#287fc621890120b3ec7d4e14858ec179">operator btScalar *</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">operator btScalar*() replaces operator[], using implicit conversion. We added operator != and operator == to avoid pointer comparisons. <a href="#287fc621890120b3ec7d4e14858ec179"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#09c002131f1311cf3f39d0eccbf8fdcd">operator const btScalar *</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#b60db7265d1afd2462e4c2b67b03292d">operator!=</a> (const btVector3 &amp;other) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#75f69235611a42e6214ff509c2a23236">operator*</a> (const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;s, const btVector3 &amp;v)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the vector scaled by s. <a href="#75f69235611a42e6214ff509c2a23236"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#bc7be02cbea667c08b7242a29083f7ce">operator*</a> (const btVector3 &amp;v, const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;s)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the vector scaled by s. <a href="#bc7be02cbea667c08b7242a29083f7ce"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#b0d1eced446920c5cc3fac4aa0bcbafa">operator*</a> (const btVector3 &amp;v1, const btVector3 &amp;v2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the elementwise product of two vectors. <a href="#b0d1eced446920c5cc3fac4aa0bcbafa"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3 &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#6fec5d8daca950e867926bd29780ee72">operator*=</a> (const btVector3 &amp;v)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Elementwise multiply this vector by the other. <a href="#6fec5d8daca950e867926bd29780ee72"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3 &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#d213bcd7fce55a2f9d310114a2e157eb">operator*=</a> (const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;s)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Scale the vector. <a href="#d213bcd7fce55a2f9d310114a2e157eb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#59d21eb22bc12d95d210582bbbc23618">operator+</a> (const btVector3 &amp;v1, const btVector3 &amp;v2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the sum of two vectors (Point symantics). <a href="#59d21eb22bc12d95d210582bbbc23618"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3 &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#7a750b3fe432249ef0c50e95fb61c69f">operator+=</a> (const btVector3 &amp;v)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a vector to this one. <a href="#7a750b3fe432249ef0c50e95fb61c69f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#196a258574acadf69c24f868d4506585">operator-</a> (const btVector3 &amp;v)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the negative of the vector. <a href="#196a258574acadf69c24f868d4506585"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#57cef67d5a8965ce768af0f3ba01b3f7">operator-</a> (const btVector3 &amp;v1, const btVector3 &amp;v2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the difference between two vectors. <a href="#57cef67d5a8965ce768af0f3ba01b3f7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3 &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#cad072d73dc2f6f9370157ec1715c8c1">operator-=</a> (const btVector3 &amp;v)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtract a vector from this one. <a href="#cad072d73dc2f6f9370157ec1715c8c1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#da41f7dc7bda588d0c8421d446c3bf05">operator/</a> (const btVector3 &amp;v1, const btVector3 &amp;v2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the vector inversely scaled by s. <a href="#da41f7dc7bda588d0c8421d446c3bf05"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#a5c0296bb009809423866d7282ae58e2">operator/</a> (const btVector3 &amp;v, const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;s)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the vector inversely scaled by s. <a href="#a5c0296bb009809423866d7282ae58e2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3 &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#40204accad7fbbe9fb169d235637a4c8">operator/=</a> (const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;s)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inversely scale the vector. <a href="#40204accad7fbbe9fb169d235637a4c8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#a7cca34c0e2166b0c3407da4db2d98d1">operator==</a> (const btVector3 &amp;other) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#6fdc523626ef77399ec26fc046b4f5ac">rotate</a> (const btVector3 &amp;wAxis, const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> angle) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a rotated version of this vector. <a href="#6fdc523626ef77399ec26fc046b4f5ac"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE btVector3 &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#b4aa784dd3b3c09f887133f5c252b1a7">safeNormalize</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#8452b542ab5c406144bb9086b8be1c45">serialize</a> (struct btVector3Data &amp;dataOut) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#eaa3d3bbc4902b5756e2f6ed088522f8">serializeDouble</a> (struct <a class="el" href="structbt_vector3_double_data.html">btVector3DoubleData</a> &amp;dataOut) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#ef619367f3b7275597ac08176c30fe38">serializeFloat</a> (struct <a class="el" href="structbt_vector3_float_data.html">btVector3FloatData</a> &amp;dataOut) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#8fc6367a9ad19bfd2ac50e0c06c70dc6">setInterpolate3</a> (const btVector3 &amp;v0, const btVector3 &amp;v1, <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> rt)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#6ded65e4a84fea22e292d69b2474c509">setMax</a> (const btVector3 &amp;other)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set each element to the max of the current values and the values of another btVector3. <a href="#6ded65e4a84fea22e292d69b2474c509"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#b87530c206e0f9f64b49235fcd96e604">setMin</a> (const btVector3 &amp;other)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set each element to the min of the current values and the values of another btVector3. <a href="#b87530c206e0f9f64b49235fcd96e604"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#479473af6a5018f5386e719427ee7848">setValue</a> (const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;x, const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;y, const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;z)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#5a4be68dd97f1809e8220090e7b73e46">setW</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> w)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the w value. <a href="#5a4be68dd97f1809e8220090e7b73e46"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#41ee945bcf88815c61326ca6196aa78f">setX</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> x)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the x value. <a href="#41ee945bcf88815c61326ca6196aa78f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#f9f7c5583343101af5d505bf05e6b6cb">setY</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> y)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the y value. <a href="#f9f7c5583343101af5d505bf05e6b6cb"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#13bc0355b871b002b61ecef888b8ecea">setZ</a> (<a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> z)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the z value. <a href="#13bc0355b871b002b61ecef888b8ecea"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#47affd1a10b589811fc4828c1a2e0c6d">setZero</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#cd9fdb789a2740db232545c7bca97a3a">triple</a> (const btVector3 &amp;v1, const btVector3 &amp;v2) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#c0e6714ccdb1e845d1c5cc79c057331a">w</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the w value. <a href="#c0e6714ccdb1e845d1c5cc79c057331a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#0d05bb202a57e1c47ae0eeeec2502c1b">x</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the x value. <a href="#0d05bb202a57e1c47ae0eeeec2502c1b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#88617d2888b444b2ad2384b17b0eeadf">y</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the y value. <a href="#88617d2888b444b2ad2384b17b0eeadf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">SIMD_FORCE_INLINE const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#49dd8d4770be4de32dd57f9b926aa396">z</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the z value. <a href="#49dd8d4770be4de32dd57f9b926aa396"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bt_vector3_8h.html#c48c7986f7c3a03cd2450337d985d73e">m_floats</a> [4]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">btVector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-byte alignment when btVector3 is stored in containers. This extra component can be used by derived classes (Quaternion?) or by user Ideally, this class should be replaced by a platform optimized SIMD version that keeps the data in registers <a href="#c48c7986f7c3a03cd2450337d985d73e"></a><br></td></tr>
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="d116b75e5135551c1335437e47fd8a3f"></a><!-- doxytag: member="btVector3.h::btVector3Data" ref="d116b75e5135551c1335437e47fd8a3f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define btVector3Data&nbsp;&nbsp;&nbsp;<a class="el" href="structbt_vector3_float_data.html">btVector3FloatData</a> </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="22c3af642cd6ee73d125e310c6318cce"></a><!-- doxytag: member="btVector3.h::btVector3DataName" ref="22c3af642cd6ee73d125e310c6318cce" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define btVector3DataName&nbsp;&nbsp;&nbsp;&quot;btVector3FloatData&quot; </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="447fc07f600ed8ded0713c961dece919"></a><!-- doxytag: member="btVector3.h::absolute" ref="447fc07f600ed8ded0713c961dece919" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3 absolute </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return a vector will the absolute values of each element.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="9fc74450b4146c1a60a3bd6ba3bb23a4"></a><!-- doxytag: member="btVector3.h::angle" ref="9fc74450b4146c1a60a3bd6ba3bb23a4" args="(const btVector3 &amp;v) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> angle </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the angle between this and another vector.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>The other vector </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="895569a6d2cf658dbbbbb88c7d93f312"></a><!-- doxytag: member="btVector3.h::btAngle" ref="895569a6d2cf658dbbbbb88c7d93f312" args="(const btVector3 &amp;v1, const btVector3 &amp;v2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btAngle </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the angle between two vectors.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="d50f4077e814fac34e7d7d5d461278de"></a><!-- doxytag: member="btVector3.h::btCross" ref="d50f4077e814fac34e7d7d5d461278de" args="(const btVector3 &amp;v1, const btVector3 &amp;v2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3 btCross </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the cross product of two vectors.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="807989b9a52fe29eb4109795d9b7e023"></a><!-- doxytag: member="btVector3.h::btDistance" ref="807989b9a52fe29eb4109795d9b7e023" args="(const btVector3 &amp;v1, const btVector3 &amp;v2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btDistance </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the distance between two vectors.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="cb9d56a9d84e04f74f595787c4ffe244"></a><!-- doxytag: member="btVector3.h::btDistance2" ref="cb9d56a9d84e04f74f595787c4ffe244" args="(const btVector3 &amp;v1, const btVector3 &amp;v2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btDistance2 </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the distance squared between two vectors.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="550dc4505b1f10c03a685705f41f4011"></a><!-- doxytag: member="btVector3.h::btDot" ref="550dc4505b1f10c03a685705f41f4011" args="(const btVector3 &amp;v1, const btVector3 &amp;v2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btDot </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the dot product between two vectors.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="17d43dc0b1e36c2f3dd5b7aeaf930989"></a><!-- doxytag: member="btVector3.h::btPlaneSpace1" ref="17d43dc0b1e36c2f3dd5b7aeaf930989" args="(const T &amp;n, T &amp;p, T &amp;q)" -->
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;class T &gt; </div>
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE void btPlaneSpace1 </td>
+ <td>(</td>
+ <td class="paramtype">const T &amp;&nbsp;</td>
+ <td class="paramname"> <em>n</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T &amp;&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">T &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]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="73a7b483dcde16e86e28e8c75be3df99"></a><!-- doxytag: member="btVector3.h::btSwapScalarEndian" ref="73a7b483dcde16e86e28e8c75be3df99" args="(const btScalar &amp;sourceVal, btScalar &amp;destVal)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE void btSwapScalarEndian </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>sourceVal</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>destVal</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+btSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="96dc28c8355164ad9a4736ad2fe99e2c"></a><!-- doxytag: member="btVector3.h::btSwapVector3Endian" ref="96dc28c8355164ad9a4736ad2fe99e2c" args="(const btVector3 &amp;sourceVec, btVector3 &amp;destVec)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE void btSwapVector3Endian </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>sourceVec</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>destVec</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+btSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="98343fa170fe356460903cbed3e606a3"></a><!-- doxytag: member="btVector3.h::btTriple" ref="98343fa170fe356460903cbed3e606a3" args="(const btVector3 &amp;v1, const btVector3 &amp;v2, const btVector3 &amp;v3)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btTriple </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v3</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="111b328c4d76341871adb4712477ad21"></a><!-- doxytag: member="btVector3.h::btUnSwapVector3Endian" ref="111b328c4d76341871adb4712477ad21" args="(btVector3 &amp;vector)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE void btUnSwapVector3Endian </td>
+ <td>(</td>
+ <td class="paramtype">btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>vector</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+btUnSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="ba0837be927ae5152dcdb38bc5945bd5"></a><!-- doxytag: member="btVector3.h::btVector3" ref="ba0837be927ae5152dcdb38bc5945bd5" args="(const btScalar &amp;x, const btScalar &amp;y, const btScalar &amp;z)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3 </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constructor from scalars.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>X value </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Y value </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>z</em>&nbsp;</td><td>Z value </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="3fae008fb245faf41f926174868c1323"></a><!-- doxytag: member="btVector3.h::btVector3" ref="3fae008fb245faf41f926174868c1323" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3 </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+No initialization constructor.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="46baa802ed4b6eb67349ef6296338a56"></a><!-- doxytag: member="btVector3.h::closestAxis" ref="46baa802ed4b6eb67349ef6296338a56" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE int32_t closestAxis </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="be07352e9e8ada8dda9ead8a0c9c20d0"></a><!-- doxytag: member="btVector3.h::cross" ref="be07352e9e8ada8dda9ead8a0c9c20d0" args="(const btVector3 &amp;v) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3 cross </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the cross product between this and another vector.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>The other vector </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="b97452b3ced1f03b405a589ef841e96f"></a><!-- doxytag: member="btVector3.h::deSerialize" ref="b97452b3ced1f03b405a589ef841e96f" args="(const struct btVector3Data &amp;dataIn)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE void btVector3::deSerialize </td>
+ <td>(</td>
+ <td class="paramtype">const struct btVector3Data &amp;&nbsp;</td>
+ <td class="paramname"> <em>dataIn</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="4241fc63918b2364ad15adcf42017554"></a><!-- doxytag: member="btVector3.h::deSerializeDouble" ref="4241fc63918b2364ad15adcf42017554" args="(const struct btVector3DoubleData &amp;dataIn)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE void btVector3::deSerializeDouble </td>
+ <td>(</td>
+ <td class="paramtype">const struct <a class="el" href="structbt_vector3_double_data.html">btVector3DoubleData</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>dataIn</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="92157a4108a364787eb1b937c7b6d3ce"></a><!-- doxytag: member="btVector3.h::deSerializeFloat" ref="92157a4108a364787eb1b937c7b6d3ce" args="(const struct btVector3FloatData &amp;dataIn)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE void btVector3::deSerializeFloat </td>
+ <td>(</td>
+ <td class="paramtype">const struct <a class="el" href="structbt_vector3_float_data.html">btVector3FloatData</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>dataIn</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="b699912662dfd1bd647fe45513a04792"></a><!-- doxytag: member="btVector3.h::distance" ref="b699912662dfd1bd647fe45513a04792" args="(const btVector3 &amp;v) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btVector3::distance </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the distance between the ends of this and another vector This is symantically treating the vector like a point.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="6657dafe4657907a8bfc8f245260f7c5"></a><!-- doxytag: member="btVector3.h::distance2" ref="6657dafe4657907a8bfc8f245260f7c5" args="(const btVector3 &amp;v) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> btVector3::distance2 </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the distance squared between the ends of this and another vector This is symantically treating the vector like a point.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="5e459518e79ca5e387a560cc70d3043f"></a><!-- doxytag: member="btVector3.h::dot" ref="5e459518e79ca5e387a560cc70d3043f" args="(const btVector3 &amp;v) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> dot </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the dot product.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>The other vector in the dot product </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="346205e0e58081ddaff5919c220f6951"></a><!-- doxytag: member="btVector3.h::furthestAxis" ref="346205e0e58081ddaff5919c220f6951" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE int32_t furthestAxis </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="8788b9178180566bd06f3d579715f156"></a><!-- doxytag: member="btVector3.h::fuzzyZero" ref="8788b9178180566bd06f3d579715f156" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE bool fuzzyZero </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="73c97c7917e6d847c1266c15114dd029"></a><!-- doxytag: member="btVector3.h::getSkewSymmetricMatrix" ref="73c97c7917e6d847c1266c15114dd029" args="(btVector3 *v0, btVector3 *v1, btVector3 *v2) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void getSkewSymmetricMatrix </td>
+ <td>(</td>
+ <td class="paramtype">btVector3 *&nbsp;</td>
+ <td class="paramname"> <em>v0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">btVector3 *&nbsp;</td>
+ <td class="paramname"> <em>v1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">btVector3 *&nbsp;</td>
+ <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="7bd9a666b2572c1e6d6987c8cc802f49"></a><!-- doxytag: member="btVector3.h::getX" ref="7bd9a666b2572c1e6d6987c8cc802f49" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&amp; getX </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the x value.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="0ea9d108a67442be94e25ac0eee51090"></a><!-- doxytag: member="btVector3.h::getY" ref="0ea9d108a67442be94e25ac0eee51090" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&amp; getY </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the y value.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="2301fb0561b749ff8dcac335b8accb84"></a><!-- doxytag: member="btVector3.h::getZ" ref="2301fb0561b749ff8dcac335b8accb84" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&amp; getZ </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the z value.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="41e211348a0e50f54a2546933c25e62a"></a><!-- doxytag: member="btVector3.h::isZero" ref="41e211348a0e50f54a2546933c25e62a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE bool isZero </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="dc51fdc7f5ea87f21e1c4a45830b0899"></a><!-- doxytag: member="btVector3.h::length" ref="dc51fdc7f5ea87f21e1c4a45830b0899" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> length </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the length of the vector.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="e46609062457bbfeb6e44fdb01a4c696"></a><!-- doxytag: member="btVector3.h::length2" ref="e46609062457bbfeb6e44fdb01a4c696" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> length2 </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the length of the vector squared.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="6fed16d2caeeb6696519d64bac9494e3"></a><!-- doxytag: member="btVector3.h::lerp" ref="6fed16d2caeeb6696519d64bac9494e3" args="(const btVector3 &amp;v1, const btVector3 &amp;v2, const btScalar &amp;t)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3 lerp </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</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></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the linear interpolation between two vectors.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>v1</em>&nbsp;</td><td>One vector </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>v2</em>&nbsp;</td><td>The other vector </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>The ration of this to v (t = 0 =&gt; return v1, t=1 =&gt; return v2) </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="a87d74554fd5ce7e80bbae832013bbf5"></a><!-- doxytag: member="btVector3.h::lerp" ref="a87d74554fd5ce7e80bbae832013bbf5" args="(const btVector3 &amp;v, const btScalar &amp;t) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3 lerp </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</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> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the linear interpolation between this and another vector.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>The other vector </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>The ration of this to v (t = 0 =&gt; return this, t=1 =&gt; return other) </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="63131e162711079d5bc14360ea49c71f"></a><!-- doxytag: member="btVector3.h::maxAxis" ref="63131e162711079d5bc14360ea49c71f" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE int32_t maxAxis </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the axis with the largest value Note return values are 0,1,2 for x, y, or z.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="79a7b45e21dd2f28d0fded714d48ad6e"></a><!-- doxytag: member="btVector3.h::minAxis" ref="79a7b45e21dd2f28d0fded714d48ad6e" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE int32_t minAxis </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the axis with the smallest value Note return values are 0,1,2 for x, y, or z.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="3083f1242193e3cac601afe9610cc4e5"></a><!-- doxytag: member="btVector3.h::normalize" ref="3083f1242193e3cac601afe9610cc4e5" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3&amp; normalize </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Normalize this vector x^2 + y^2 + z^2 = 1.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="551181b9a8d9e99a4ee65c2f3d00dbad"></a><!-- doxytag: member="btVector3.h::normalized" ref="551181b9a8d9e99a4ee65c2f3d00dbad" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3 btVector3::normalized </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return a normalized version of this vector.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="287fc621890120b3ec7d4e14858ec179"></a><!-- doxytag: member="btVector3.h::operator btScalar *" ref="287fc621890120b3ec7d4e14858ec179" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE operator <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> * </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+operator btScalar*() replaces operator[], using implicit conversion. We added operator != and operator == to avoid pointer comparisons.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="09c002131f1311cf3f39d0eccbf8fdcd"></a><!-- doxytag: member="btVector3.h::operator const btScalar *" ref="09c002131f1311cf3f39d0eccbf8fdcd" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE operator const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> * </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="b60db7265d1afd2462e4c2b67b03292d"></a><!-- doxytag: member="btVector3.h::operator!=" ref="b60db7265d1afd2462e4c2b67b03292d" args="(const btVector3 &amp;other) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE bool operator!= </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>other</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="75f69235611a42e6214ff509c2a23236"></a><!-- doxytag: member="btVector3.h::operator*" ref="75f69235611a42e6214ff509c2a23236" args="(const btScalar &amp;s, const btVector3 &amp;v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3 operator* </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the vector scaled by s.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="bc7be02cbea667c08b7242a29083f7ce"></a><!-- doxytag: member="btVector3.h::operator*" ref="bc7be02cbea667c08b7242a29083f7ce" args="(const btVector3 &amp;v, const btScalar &amp;s)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3 operator* </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the vector scaled by s.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="b0d1eced446920c5cc3fac4aa0bcbafa"></a><!-- doxytag: member="btVector3.h::operator*" ref="b0d1eced446920c5cc3fac4aa0bcbafa" args="(const btVector3 &amp;v1, const btVector3 &amp;v2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3 operator* </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the elementwise product of two vectors.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="6fec5d8daca950e867926bd29780ee72"></a><!-- doxytag: member="btVector3.h::operator*=" ref="6fec5d8daca950e867926bd29780ee72" args="(const btVector3 &amp;v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3&amp; operator*= </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Elementwise multiply this vector by the other.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>The other vector </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="d213bcd7fce55a2f9d310114a2e157eb"></a><!-- doxytag: member="btVector3.h::operator*=" ref="d213bcd7fce55a2f9d310114a2e157eb" args="(const btScalar &amp;s)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3&amp; operator*= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Scale the vector.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>Scale factor </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="59d21eb22bc12d95d210582bbbc23618"></a><!-- doxytag: member="btVector3.h::operator+" ref="59d21eb22bc12d95d210582bbbc23618" args="(const btVector3 &amp;v1, const btVector3 &amp;v2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3 operator+ </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the sum of two vectors (Point symantics).
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="7a750b3fe432249ef0c50e95fb61c69f"></a><!-- doxytag: member="btVector3.h::operator+=" ref="7a750b3fe432249ef0c50e95fb61c69f" args="(const btVector3 &amp;v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3&amp; operator+= </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add a vector to this one.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>The</em>&nbsp;</td><td>vector to add to this one </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="196a258574acadf69c24f868d4506585"></a><!-- doxytag: member="btVector3.h::operator&#45;" ref="196a258574acadf69c24f868d4506585" args="(const btVector3 &amp;v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3 operator- </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the negative of the vector.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="57cef67d5a8965ce768af0f3ba01b3f7"></a><!-- doxytag: member="btVector3.h::operator&#45;" ref="57cef67d5a8965ce768af0f3ba01b3f7" args="(const btVector3 &amp;v1, const btVector3 &amp;v2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3 operator- </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the difference between two vectors.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="cad072d73dc2f6f9370157ec1715c8c1"></a><!-- doxytag: member="btVector3.h::operator&#45;=" ref="cad072d73dc2f6f9370157ec1715c8c1" args="(const btVector3 &amp;v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3&amp; operator-= </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Subtract a vector from this one.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>The</em>&nbsp;</td><td>vector to subtract </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="da41f7dc7bda588d0c8421d446c3bf05"></a><!-- doxytag: member="btVector3.h::operator/" ref="da41f7dc7bda588d0c8421d446c3bf05" args="(const btVector3 &amp;v1, const btVector3 &amp;v2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3 operator/ </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the vector inversely scaled by s.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="a5c0296bb009809423866d7282ae58e2"></a><!-- doxytag: member="btVector3.h::operator/" ref="a5c0296bb009809423866d7282ae58e2" args="(const btVector3 &amp;v, const btScalar &amp;s)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3 operator/ </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the vector inversely scaled by s.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="40204accad7fbbe9fb169d235637a4c8"></a><!-- doxytag: member="btVector3.h::operator/=" ref="40204accad7fbbe9fb169d235637a4c8" args="(const btScalar &amp;s)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3&amp; operator/= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>s</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Inversely scale the vector.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>Scale factor to divide by </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="a7cca34c0e2166b0c3407da4db2d98d1"></a><!-- doxytag: member="btVector3.h::operator==" ref="a7cca34c0e2166b0c3407da4db2d98d1" args="(const btVector3 &amp;other) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE bool operator== </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>other</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="6fdc523626ef77399ec26fc046b4f5ac"></a><!-- doxytag: member="btVector3.h::rotate" ref="6fdc523626ef77399ec26fc046b4f5ac" args="(const btVector3 &amp;wAxis, const btScalar angle) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3 btVector3::rotate </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>wAxis</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&nbsp;</td>
+ <td class="paramname"> <em>angle</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return a rotated version of this vector.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>wAxis</em>&nbsp;</td><td>The axis to rotate about </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>angle</em>&nbsp;</td><td>The angle to rotate by </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="b4aa784dd3b3c09f887133f5c252b1a7"></a><!-- doxytag: member="btVector3.h::safeNormalize" ref="b4aa784dd3b3c09f887133f5c252b1a7" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE btVector3&amp; safeNormalize </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="8452b542ab5c406144bb9086b8be1c45"></a><!-- doxytag: member="btVector3.h::serialize" ref="8452b542ab5c406144bb9086b8be1c45" args="(struct btVector3Data &amp;dataOut) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE void serialize </td>
+ <td>(</td>
+ <td class="paramtype">struct btVector3Data &amp;&nbsp;</td>
+ <td class="paramname"> <em>dataOut</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="eaa3d3bbc4902b5756e2f6ed088522f8"></a><!-- doxytag: member="btVector3.h::serializeDouble" ref="eaa3d3bbc4902b5756e2f6ed088522f8" args="(struct btVector3DoubleData &amp;dataOut) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE void btVector3::serializeDouble </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structbt_vector3_double_data.html">btVector3DoubleData</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>dataOut</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+could also do a memcpy, check if it is worth it
+</div>
+</div><p>
+<a class="anchor" name="ef619367f3b7275597ac08176c30fe38"></a><!-- doxytag: member="btVector3.h::serializeFloat" ref="ef619367f3b7275597ac08176c30fe38" args="(struct btVector3FloatData &amp;dataOut) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE void btVector3::serializeFloat </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structbt_vector3_float_data.html">btVector3FloatData</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>dataOut</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>
+could also do a memcpy, check if it is worth it
+</div>
+</div><p>
+<a class="anchor" name="8fc6367a9ad19bfd2ac50e0c06c70dc6"></a><!-- doxytag: member="btVector3.h::setInterpolate3" ref="8fc6367a9ad19bfd2ac50e0c06c70dc6" args="(const btVector3 &amp;v0, const btVector3 &amp;v1, btScalar rt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE void setInterpolate3 </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v0</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&nbsp;</td>
+ <td class="paramname"> <em>rt</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="6ded65e4a84fea22e292d69b2474c509"></a><!-- doxytag: member="btVector3.h::setMax" ref="6ded65e4a84fea22e292d69b2474c509" args="(const btVector3 &amp;other)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE void setMax </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>other</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set each element to the max of the current values and the values of another btVector3.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>other</em>&nbsp;</td><td>The other btVector3 to compare with </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="b87530c206e0f9f64b49235fcd96e604"></a><!-- doxytag: member="btVector3.h::setMin" ref="b87530c206e0f9f64b49235fcd96e604" args="(const btVector3 &amp;other)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE void setMin </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>other</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set each element to the min of the current values and the values of another btVector3.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>other</em>&nbsp;</td><td>The other btVector3 to compare with </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="479473af6a5018f5386e719427ee7848"></a><!-- doxytag: member="btVector3.h::setValue" ref="479473af6a5018f5386e719427ee7848" args="(const btScalar &amp;x, const btScalar &amp;y, const btScalar &amp;z)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE void setValue </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="5a4be68dd97f1809e8220090e7b73e46"></a><!-- doxytag: member="btVector3.h::setW" ref="5a4be68dd97f1809e8220090e7b73e46" args="(btScalar w)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE void setW </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&nbsp;</td>
+ <td class="paramname"> <em>w</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the w value.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="41ee945bcf88815c61326ca6196aa78f"></a><!-- doxytag: member="btVector3.h::setX" ref="41ee945bcf88815c61326ca6196aa78f" args="(btScalar x)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE void setX </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&nbsp;</td>
+ <td class="paramname"> <em>x</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the x value.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="f9f7c5583343101af5d505bf05e6b6cb"></a><!-- doxytag: member="btVector3.h::setY" ref="f9f7c5583343101af5d505bf05e6b6cb" args="(btScalar y)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE void setY </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&nbsp;</td>
+ <td class="paramname"> <em>y</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the y value.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="13bc0355b871b002b61ecef888b8ecea"></a><!-- doxytag: member="btVector3.h::setZ" ref="13bc0355b871b002b61ecef888b8ecea" args="(btScalar z)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE void setZ </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&nbsp;</td>
+ <td class="paramname"> <em>z</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the z value.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="47affd1a10b589811fc4828c1a2e0c6d"></a><!-- doxytag: member="btVector3.h::setZero" ref="47affd1a10b589811fc4828c1a2e0c6d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void setZero </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="cd9fdb789a2740db232545c7bca97a3a"></a><!-- doxytag: member="btVector3.h::triple" ref="cd9fdb789a2740db232545c7bca97a3a" args="(const btVector3 &amp;v1, const btVector3 &amp;v2) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> triple </td>
+ <td>(</td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const btVector3 &amp;&nbsp;</td>
+ <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="c0e6714ccdb1e845d1c5cc79c057331a"></a><!-- doxytag: member="btVector3.h::w" ref="c0e6714ccdb1e845d1c5cc79c057331a" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&amp; w </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the w value.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="0d05bb202a57e1c47ae0eeeec2502c1b"></a><!-- doxytag: member="btVector3.h::x" ref="0d05bb202a57e1c47ae0eeeec2502c1b" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&amp; x </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the x value.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="88617d2888b444b2ad2384b17b0eeadf"></a><!-- doxytag: member="btVector3.h::y" ref="88617d2888b444b2ad2384b17b0eeadf" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&amp; y </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the y value.
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="49dd8d4770be4de32dd57f9b926aa396"></a><!-- doxytag: member="btVector3.h::z" ref="49dd8d4770be4de32dd57f9b926aa396" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SIMD_FORCE_INLINE const <a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a>&amp; z </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the z value.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Variable Documentation</h2>
+<a class="anchor" name="c48c7986f7c3a03cd2450337d985d73e"></a><!-- doxytag: member="btVector3.h::m_floats" ref="c48c7986f7c3a03cd2450337d985d73e" args="[4]" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="bt_scalar_8h.html#1e5824cfc8adbf5a77f2622132d16018">btScalar</a> <a class="el" href="bt_vector3_8h.html#c48c7986f7c3a03cd2450337d985d73e">m_floats</a>[4] </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+btVector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-byte alignment when btVector3 is stored in containers. This extra component can be used by derived classes (Quaternion?) or by user Ideally, this class should be replaced by a platform optimized SIMD version that keeps the data in registers
+<p>
+
+</div>
+</div><p>
+</div>
+<!-- start footer part -->
+<div class="footer">
+Copyright &copy; 2015-2017 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>
+</div>
+</body>
+</html>