Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bad97183153701b09df5fae1052b1c30 > files > 417

crystalspace-doc-1.2.1-5mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Crystal Space 1.2.1: csDVector3 Class Reference (Crystal Space 1.2.1 Public API Reference)</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="head">
 <tr height="59">
  <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td>
  <td class="head"><h2>Public API Reference</h2></td>
 </tr>
 <tr height="11">
  <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td>
 </tr>
</table>
<div class="content">
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>csDVector3 Class Reference<br>
<small>
[<a class="el" href="group__geom__utils.html">Geometry utilities</a>]</small>
</h1><!-- doxytag: class="csDVector3" -->A 3D vector.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="math3d__d_8h-source.html">csgeom/math3d_d.h</a>&gt;</code>
<p>

<p>
<a href="classcsDVector3-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#bb998ac7985a9474f6e3c0a11a1b80fd">Cross</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;px, const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;py)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Take cross product of two vectors and put result in this vector.  <a href="#bb998ac7985a9474f6e3c0a11a1b80fd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#59298f60f4a46d1ee292ed92c65d3e91">csDVector3</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Conversion from single precision vector to double.  <a href="#59298f60f4a46d1ee292ed92c65d3e91"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#73326720be9768005be6d84c8511c13a">csDVector3</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy Constructor.  <a href="#73326720be9768005be6d84c8511c13a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#5dac7d70e328f691228b2504e829edb1">csDVector3</a> (double ix, double iy, double iz=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make a new vector and initialize with the given values.  <a href="#5dac7d70e328f691228b2504e829edb1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#a6e1965c9f4ad24c05ba915c24f6b91e">csDVector3</a> (double m)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make a new initialized vector.  <a href="#a6e1965c9f4ad24c05ba915c24f6b91e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#1302aeb15aaa50106ff8a455d97f8ea3">csDVector3</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make a new vector.  <a href="#1302aeb15aaa50106ff8a455d97f8ea3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#a19961661f3d095fe2087f1a8a29a0d8">Norm</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the norm of this vector.  <a href="#a19961661f3d095fe2087f1a8a29a0d8"></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="classcsDVector3.html#9ee855b915a4b5ecd7dfa0d955c6cdab">Normalize</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Scale this vector to length = 1.0.  <a href="#9ee855b915a4b5ecd7dfa0d955c6cdab"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#f46473c824bb8d42bfd952ee898e0de3">operator *=</a> (double f)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply this vector by a scalar.  <a href="#f46473c824bb8d42bfd952ee898e0de3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsDVector3.html">csDVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#3fd20e72c8e528e04cd051bc2cb63d98">operator+</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unary + operator.  <a href="#3fd20e72c8e528e04cd051bc2cb63d98"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#e8ae042b1d041fbc9b03185ede70c75f">operator+=</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add another vector to this vector.  <a href="#e8ae042b1d041fbc9b03185ede70c75f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsDVector3.html">csDVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#8ba3b091172528be027c5a6cdd6bb004">operator-</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unary - operator.  <a href="#8ba3b091172528be027c5a6cdd6bb004"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#9c2b862231c5d909dce43991831ab1f0">operator-=</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtract another vector from this vector.  <a href="#9c2b862231c5d909dce43991831ab1f0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#2a24b505f9ba71f04ad54da3ee5ab65b">operator/=</a> (double f)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Divide this vector by a scalar.  <a href="#2a24b505f9ba71f04ad54da3ee5ab65b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#d1b2c48ebde4ddabf6c5131251a98470">operator[]</a> (int n)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns n-th component of the vector.  <a href="#d1b2c48ebde4ddabf6c5131251a98470"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#bdce4c4819492a55f0acea0139d540a3">operator[]</a> (int n) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns n-th component of the vector.  <a href="#bdce4c4819492a55f0acea0139d540a3"></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="classcsDVector3.html#d126358526ec050cdebce0a476f78166">Set</a> (double sx, double sy, double sz)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the value of this vector.  <a href="#d126358526ec050cdebce0a476f78166"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#6f99c53efc8bbbb433c1626974fe7bcd">SquaredNorm</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the norm of this vector.  <a href="#6f99c53efc8bbbb433c1626974fe7bcd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsDVector3.html">csDVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#d1a0b277a32294fc40a1cda3c3ee2065">Unit</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the unit vector in the direction of this vector.  <a href="#d1a0b277a32294fc40a1cda3c3ee2065"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#5f4996898ef1dc6bfd233ab393bc2fd3">Norm</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the norm (magnitude) of a vector.  <a href="#5f4996898ef1dc6bfd233ab393bc2fd3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classcsDVector3.html">csDVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#0855f53efb1a8a25896accac918f4d8c">Unit</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Normalizes a vector to a unit vector.  <a href="#0855f53efb1a8a25896accac918f4d8c"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#6f67e661779797eab4cf2e638b513c9c">x</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The X component of the vector.  <a href="#6f67e661779797eab4cf2e638b513c9c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#4aa6a7a4ee8ba5a031f8123585b269ee">y</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The Y component of the vector.  <a href="#4aa6a7a4ee8ba5a031f8123585b269ee"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#878df30b2dab8c5de8f3f442b5d6890e">z</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The Z component of the vector.  <a href="#878df30b2dab8c5de8f3f442b5d6890e"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsDVector3.html">csDVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#9baee0a6549e979d6796b543281d5638">operator *</a> (double f, const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a vector and a scalar.  <a href="#9baee0a6549e979d6796b543281d5638"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsDVector3.html">csDVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#a3fa8e70cc21b9c849aa34f304d9b64d">operator *</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v, double f)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a vector and a scalar.  <a href="#a3fa8e70cc21b9c849aa34f304d9b64d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#2967487b3f25e22738d72b2780e51b5c">operator *</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v1, const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Take the dot product of two vectors.  <a href="#2967487b3f25e22738d72b2780e51b5c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#099a4b857b990aa8f64b842e1cbc36a0">operator!=</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v1, const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if two vectors are not equal.  <a href="#099a4b857b990aa8f64b842e1cbc36a0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsDVector3.html">csDVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#cf8ab592c56ac5ec14f5ff349f20efb6">operator%</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v1, const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Take the cross product of two vectors.  <a href="#cf8ab592c56ac5ec14f5ff349f20efb6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsDVector3.html">csDVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#a22738be1e53bfa3e1ad5569c350fc24">operator+</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v1, const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add two vectors.  <a href="#a22738be1e53bfa3e1ad5569c350fc24"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsDVector3.html">csDVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#f5b6cb1a0e3cb8a14b094ef1480a7267">operator-</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v1, const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtract two vectors.  <a href="#f5b6cb1a0e3cb8a14b094ef1480a7267"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsDVector3.html">csDVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#93e92cb2464ef56e8476fa03a48aa29f">operator/</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v, double f)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Divide a vector by a scalar.  <a href="#93e92cb2464ef56e8476fa03a48aa29f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#78174e2d19165657a671f57572699420">operator&lt;</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v, double f)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if each component of a vector is less than a small epsilon value.  <a href="#78174e2d19165657a671f57572699420"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsDVector3.html">csDVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#afce5e207ba87df47c68f5d9053670e8">operator&lt;&lt;</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v1, const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Project one vector onto another.  <a href="#afce5e207ba87df47c68f5d9053670e8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#02c84ca72c8dfc6b8086db2941163c12">operator==</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v1, const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if two vectors are equal.  <a href="#02c84ca72c8dfc6b8086db2941163c12"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#04e7d0f0d21ab6a92d1f3f0546eb61c3">operator&gt;</a> (double f, const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if each component of a vector is greater than a small epsilon value.  <a href="#04e7d0f0d21ab6a92d1f3f0546eb61c3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsDVector3.html">csDVector3</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#8ed9910a6dce2af78e569d57ed5d2d05">operator&gt;&gt;</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v1, const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;v2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Project one vector onto another.  <a href="#8ed9910a6dce2af78e569d57ed5d2d05"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A 3D vector. 
<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00051">51</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="1302aeb15aaa50106ff8a455d97f8ea3"></a><!-- doxytag: member="csDVector3::csDVector3" ref="1302aeb15aaa50106ff8a455d97f8ea3" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csDVector3::csDVector3           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Make a new vector. 
<p>
The vector is not initialized. This makes the code slightly faster as <a class="el" href="classcsDVector3.html" title="A 3D vector.">csDVector3</a> objects are used a lot. 
<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00066">66</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a6e1965c9f4ad24c05ba915c24f6b91e"></a><!-- doxytag: member="csDVector3::csDVector3" ref="a6e1965c9f4ad24c05ba915c24f6b91e" args="(double m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csDVector3::csDVector3           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>m</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Make a new initialized vector. 
<p>
Creates a new vector and initializes it to m*&lt;1,1,1&gt;. To create a vector initialized to the zero vector, use csDVector3(0) 
<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00073">73</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="5dac7d70e328f691228b2504e829edb1"></a><!-- doxytag: member="csDVector3::csDVector3" ref="5dac7d70e328f691228b2504e829edb1" args="(double ix, double iy, double iz=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csDVector3::csDVector3           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>ix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>iy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>iz</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Make a new vector and initialize with the given values. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00076">76</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="73326720be9768005be6d84c8511c13a"></a><!-- doxytag: member="csDVector3::csDVector3" ref="73326720be9768005be6d84c8511c13a" args="(const csDVector3 &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csDVector3::csDVector3           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copy Constructor. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00079">79</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

<p>References <a class="el" href="math3d__d_8h-source.html#l00055">x</a>, <a class="el" href="math3d__d_8h-source.html#l00057">y</a>, and <a class="el" href="math3d__d_8h-source.html#l00059">z</a>.</p>

</div>
</div><p>
<a class="anchor" name="59298f60f4a46d1ee292ed92c65d3e91"></a><!-- doxytag: member="csDVector3::csDVector3" ref="59298f60f4a46d1ee292ed92c65d3e91" args="(const csVector3 &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csDVector3::csDVector3           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Conversion from single precision vector to double. 
<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="bb998ac7985a9474f6e3c0a11a1b80fd"></a><!-- doxytag: member="csDVector3::Cross" ref="bb998ac7985a9474f6e3c0a11a1b80fd" args="(const csDVector3 &amp;px, const csDVector3 &amp;py)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csDVector3::Cross           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>px</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>py</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Take cross product of two vectors and put result in this vector. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00108">108</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

<p>References <a class="el" href="math3d__d_8h-source.html#l00055">x</a>, <a class="el" href="math3d__d_8h-source.html#l00057">y</a>, and <a class="el" href="math3d__d_8h-source.html#l00059">z</a>.</p>

</div>
</div><p>
<a class="anchor" name="5f4996898ef1dc6bfd233ab393bc2fd3"></a><!-- doxytag: member="csDVector3::Norm" ref="5f4996898ef1dc6bfd233ab393bc2fd3" args="(const csDVector3 &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double csDVector3::Norm           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the norm (magnitude) of a vector. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00210">210</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

<p>References <a class="el" href="classcsDVector3.html#a19961661f3d095fe2087f1a8a29a0d8">Norm()</a>.</p>

</div>
</div><p>
<a class="anchor" name="a19961661f3d095fe2087f1a8a29a0d8"></a><!-- doxytag: member="csDVector3::Norm" ref="a19961661f3d095fe2087f1a8a29a0d8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double csDVector3::Norm           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the norm of this vector. 
<p>

<p>Referenced by <a class="el" href="math3d__d_8h-source.html#l00504">csDMath3::DoubleArea3()</a>, and <a class="el" href="math3d__d_8h-source.html#l00210">Norm()</a>.</p>

</div>
</div><p>
<a class="anchor" name="9ee855b915a4b5ecd7dfa0d955c6cdab"></a><!-- doxytag: member="csDVector3::Normalize" ref="9ee855b915a4b5ecd7dfa0d955c6cdab" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csDVector3::Normalize           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Scale this vector to length = 1.0. 
<p>

</div>
</div><p>
<a class="anchor" name="f46473c824bb8d42bfd952ee898e0de3"></a><!-- doxytag: member="csDVector3::operator *=" ref="f46473c824bb8d42bfd952ee898e0de3" args="(double f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsDVector3.html">csDVector3</a>&amp; csDVector3::operator *=           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>f</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Multiply this vector by a scalar. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00180">180</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="3fd20e72c8e528e04cd051bc2cb63d98"></a><!-- doxytag: member="csDVector3::operator+" ref="3fd20e72c8e528e04cd051bc2cb63d98" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsDVector3.html">csDVector3</a> csDVector3::operator+           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Unary + operator. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00188">188</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e8ae042b1d041fbc9b03185ede70c75f"></a><!-- doxytag: member="csDVector3::operator+=" ref="e8ae042b1d041fbc9b03185ede70c75f" args="(const csDVector3 &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsDVector3.html">csDVector3</a>&amp; csDVector3::operator+=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add another vector to this vector. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00160">160</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

<p>References <a class="el" href="math3d__d_8h-source.html#l00055">x</a>, <a class="el" href="math3d__d_8h-source.html#l00057">y</a>, and <a class="el" href="math3d__d_8h-source.html#l00059">z</a>.</p>

</div>
</div><p>
<a class="anchor" name="8ba3b091172528be027c5a6cdd6bb004"></a><!-- doxytag: member="csDVector3::operator-" ref="8ba3b091172528be027c5a6cdd6bb004" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsDVector3.html">csDVector3</a> csDVector3::operator-           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Unary - operator. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00191">191</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="9c2b862231c5d909dce43991831ab1f0"></a><!-- doxytag: member="csDVector3::operator-=" ref="9c2b862231c5d909dce43991831ab1f0" args="(const csDVector3 &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsDVector3.html">csDVector3</a>&amp; csDVector3::operator-=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Subtract another vector from this vector. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00170">170</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

<p>References <a class="el" href="math3d__d_8h-source.html#l00055">x</a>, <a class="el" href="math3d__d_8h-source.html#l00057">y</a>, and <a class="el" href="math3d__d_8h-source.html#l00059">z</a>.</p>

</div>
</div><p>
<a class="anchor" name="2a24b505f9ba71f04ad54da3ee5ab65b"></a><!-- doxytag: member="csDVector3::operator/=" ref="2a24b505f9ba71f04ad54da3ee5ab65b" args="(double f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsDVector3.html">csDVector3</a>&amp; csDVector3::operator/=           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>f</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Divide this vector by a scalar. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00184">184</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d1b2c48ebde4ddabf6c5131251a98470"></a><!-- doxytag: member="csDVector3::operator[]" ref="d1b2c48ebde4ddabf6c5131251a98470" args="(int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double&amp; csDVector3::operator[]           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns n-th component of the vector. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00157">157</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="bdce4c4819492a55f0acea0139d540a3"></a><!-- doxytag: member="csDVector3::operator[]" ref="bdce4c4819492a55f0acea0139d540a3" args="(int n) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double csDVector3::operator[]           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns n-th component of the vector. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00154">154</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d126358526ec050cdebce0a476f78166"></a><!-- doxytag: member="csDVector3::Set" ref="d126358526ec050cdebce0a476f78166" args="(double sx, double sy, double sz)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csDVector3::Set           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>sx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>sy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>sz</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the value of this vector. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00194">194</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="6f99c53efc8bbbb433c1626974fe7bcd"></a><!-- doxytag: member="csDVector3::SquaredNorm" ref="6f99c53efc8bbbb433c1626974fe7bcd" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double csDVector3::SquaredNorm           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the norm of this vector. 
<p>

</div>
</div><p>
<a class="anchor" name="0855f53efb1a8a25896accac918f4d8c"></a><!-- doxytag: member="csDVector3::Unit" ref="0855f53efb1a8a25896accac918f4d8c" args="(const csDVector3 &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classcsDVector3.html">csDVector3</a> csDVector3::Unit           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Normalizes a vector to a unit vector. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00213">213</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

<p>References <a class="el" href="math3d__d_8h-source.html#l00207">Unit()</a>.</p>

</div>
</div><p>
<a class="anchor" name="d1a0b277a32294fc40a1cda3c3ee2065"></a><!-- doxytag: member="csDVector3::Unit" ref="d1a0b277a32294fc40a1cda3c3ee2065" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsDVector3.html">csDVector3</a> csDVector3::Unit           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the unit vector in the direction of this vector. 
<p>
Attempting to normalize a zero-vector will result in a divide by zero error. This is as it should be... fix the calling code. 
<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00207">207</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

<p>Referenced by <a class="el" href="math3d__d_8h-source.html#l00213">Unit()</a>.</p>

</div>
</div><p>
<hr><h2>Friends And Related Function Documentation</h2>
<a class="anchor" name="9baee0a6549e979d6796b543281d5638"></a><!-- doxytag: member="csDVector3::operator *" ref="9baee0a6549e979d6796b543281d5638" args="(double f, const csDVector3 &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsDVector3.html">csDVector3</a> operator *           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>f</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Multiply a vector and a scalar. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00120">120</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a3fa8e70cc21b9c849aa34f304d9b64d"></a><!-- doxytag: member="csDVector3::operator *" ref="a3fa8e70cc21b9c849aa34f304d9b64d" args="(const csDVector3 &amp;v, double f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsDVector3.html">csDVector3</a> operator *           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Multiply a vector and a scalar. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00116">116</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="2967487b3f25e22738d72b2780e51b5c"></a><!-- doxytag: member="csDVector3::operator *" ref="2967487b3f25e22738d72b2780e51b5c" args="(const csDVector3 &amp;v1, const csDVector3 &amp;v2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double operator *           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Take the dot product of two vectors. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00095">95</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="099a4b857b990aa8f64b842e1cbc36a0"></a><!-- doxytag: member="csDVector3::operator!=" ref="099a4b857b990aa8f64b842e1cbc36a0" args="(const csDVector3 &amp;v1, const csDVector3 &amp;v2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator!=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if two vectors are not equal. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00132">132</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="cf8ab592c56ac5ec14f5ff349f20efb6"></a><!-- doxytag: member="csDVector3::operator%" ref="cf8ab592c56ac5ec14f5ff349f20efb6" args="(const csDVector3 &amp;v1, const csDVector3 &amp;v2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsDVector3.html">csDVector3</a> operator%           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Take the cross product of two vectors. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00100">100</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a22738be1e53bfa3e1ad5569c350fc24"></a><!-- doxytag: member="csDVector3::operator+" ref="a22738be1e53bfa3e1ad5569c350fc24" args="(const csDVector3 &amp;v1, const csDVector3 &amp;v2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsDVector3.html">csDVector3</a> operator+           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add two vectors. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00086">86</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="f5b6cb1a0e3cb8a14b094ef1480a7267"></a><!-- doxytag: member="csDVector3::operator-" ref="f5b6cb1a0e3cb8a14b094ef1480a7267" args="(const csDVector3 &amp;v1, const csDVector3 &amp;v2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsDVector3.html">csDVector3</a> operator-           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Subtract two vectors. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00091">91</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="93e92cb2464ef56e8476fa03a48aa29f"></a><!-- doxytag: member="csDVector3::operator/" ref="93e92cb2464ef56e8476fa03a48aa29f" args="(const csDVector3 &amp;v, double f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsDVector3.html">csDVector3</a> operator/           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Divide a vector by a scalar. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00124">124</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="78174e2d19165657a671f57572699420"></a><!-- doxytag: member="csDVector3::operator&lt;" ref="78174e2d19165657a671f57572699420" args="(const csDVector3 &amp;v, double f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator&lt;           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if each component of a vector is less than a small epsilon value. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00146">146</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="afce5e207ba87df47c68f5d9053670e8"></a><!-- doxytag: member="csDVector3::operator&lt;&lt;" ref="afce5e207ba87df47c68f5d9053670e8" args="(const csDVector3 &amp;v1, const csDVector3 &amp;v2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsDVector3.html">csDVector3</a> operator&lt;&lt;           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Project one vector onto another. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00142">142</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="02c84ca72c8dfc6b8086db2941163c12"></a><!-- doxytag: member="csDVector3::operator==" ref="02c84ca72c8dfc6b8086db2941163c12" args="(const csDVector3 &amp;v1, const csDVector3 &amp;v2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator==           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if two vectors are equal. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00128">128</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="04e7d0f0d21ab6a92d1f3f0546eb61c3"></a><!-- doxytag: member="csDVector3::operator&gt;" ref="04e7d0f0d21ab6a92d1f3f0546eb61c3" args="(double f, const csDVector3 &amp;v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator&gt;           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>f</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Test if each component of a vector is greater than a small epsilon value. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00150">150</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="8ed9910a6dce2af78e569d57ed5d2d05"></a><!-- doxytag: member="csDVector3::operator&gt;&gt;" ref="8ed9910a6dce2af78e569d57ed5d2d05" args="(const csDVector3 &amp;v1, const csDVector3 &amp;v2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsDVector3.html">csDVector3</a> operator&gt;&gt;           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>v2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Project one vector onto another. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00137">137</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="6f67e661779797eab4cf2e638b513c9c"></a><!-- doxytag: member="csDVector3::x" ref="6f67e661779797eab4cf2e638b513c9c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classcsDVector3.html#6f67e661779797eab4cf2e638b513c9c">csDVector3::x</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The X component of the vector. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00055">55</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

<p>Referenced by <a class="el" href="math3d__d_8h-source.html#l00408">csDPlane::Classify()</a>, <a class="el" href="math3d__d_8h-source.html#l00108">Cross()</a>, <a class="el" href="math3d__d_8h-source.html#l00079">csDVector3()</a>, <a class="el" href="math3d__d_8h-source.html#l00160">operator+=()</a>, <a class="el" href="math3d__d_8h-source.html#l00170">operator-=()</a>, <a class="el" href="math3d__d_8h-source.html#l00573">csDSquaredDist::PointPoint()</a>, <a class="el" href="math3d__d_8h-source.html#l00491">csDMath3::SetMinMax()</a>, and <a class="el" href="math3d__d_8h-source.html#l00446">csDMath3::WhichSide3D()</a>.</p>

</div>
</div><p>
<a class="anchor" name="4aa6a7a4ee8ba5a031f8123585b269ee"></a><!-- doxytag: member="csDVector3::y" ref="4aa6a7a4ee8ba5a031f8123585b269ee" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classcsDVector3.html#4aa6a7a4ee8ba5a031f8123585b269ee">csDVector3::y</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The Y component of the vector. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00057">57</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

<p>Referenced by <a class="el" href="math3d__d_8h-source.html#l00408">csDPlane::Classify()</a>, <a class="el" href="math3d__d_8h-source.html#l00108">Cross()</a>, <a class="el" href="math3d__d_8h-source.html#l00079">csDVector3()</a>, <a class="el" href="math3d__d_8h-source.html#l00160">operator+=()</a>, <a class="el" href="math3d__d_8h-source.html#l00170">operator-=()</a>, <a class="el" href="math3d__d_8h-source.html#l00573">csDSquaredDist::PointPoint()</a>, <a class="el" href="math3d__d_8h-source.html#l00491">csDMath3::SetMinMax()</a>, and <a class="el" href="math3d__d_8h-source.html#l00446">csDMath3::WhichSide3D()</a>.</p>

</div>
</div><p>
<a class="anchor" name="878df30b2dab8c5de8f3f442b5d6890e"></a><!-- doxytag: member="csDVector3::z" ref="878df30b2dab8c5de8f3f442b5d6890e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classcsDVector3.html#878df30b2dab8c5de8f3f442b5d6890e">csDVector3::z</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The Z component of the vector. 
<p>

<p>Definition at line <a class="el" href="math3d__d_8h-source.html#l00059">59</a> of file <a class="el" href="math3d__d_8h-source.html">math3d_d.h</a>.</p>

<p>Referenced by <a class="el" href="math3d__d_8h-source.html#l00408">csDPlane::Classify()</a>, <a class="el" href="math3d__d_8h-source.html#l00108">Cross()</a>, <a class="el" href="math3d__d_8h-source.html#l00079">csDVector3()</a>, <a class="el" href="math3d__d_8h-source.html#l00160">operator+=()</a>, <a class="el" href="math3d__d_8h-source.html#l00170">operator-=()</a>, <a class="el" href="math3d__d_8h-source.html#l00573">csDSquaredDist::PointPoint()</a>, <a class="el" href="math3d__d_8h-source.html#l00491">csDMath3::SetMinMax()</a>, and <a class="el" href="math3d__d_8h-source.html#l00446">csDMath3::WhichSide3D()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>csgeom/<a class="el" href="math3d__d_8h-source.html">math3d_d.h</a></ul>
<hr size="1"><address><small>Generated for Crystal Space 1.2.1 by 
<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 
</small></address> </div></body> </html>