<!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 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 Pages</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="classes.html"><span>Alphabetical List</span></a></li> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class 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 <<a class="el" href="math3d__d_8h-source.html">csgeom/math3d_d.h</a>></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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#bb998ac7985a9474f6e3c0a11a1b80fd">Cross</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &px, const <a class="el" href="classcsDVector3.html">csDVector3</a> &py)</td></tr> <tr><td class="mdescLeft"> </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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#59298f60f4a46d1ee292ed92c65d3e91">csDVector3</a> (const <a class="el" href="classcsVector3.html">csVector3</a> &)</td></tr> <tr><td class="mdescLeft"> </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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#73326720be9768005be6d84c8511c13a">csDVector3</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &v)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy Constructor. <a href="#73326720be9768005be6d84c8511c13a"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </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"> </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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#a6e1965c9f4ad24c05ba915c24f6b91e">csDVector3</a> (double m)</td></tr> <tr><td class="mdescLeft"> </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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#1302aeb15aaa50106ff8a455d97f8ea3">csDVector3</a> ()</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#a19961661f3d095fe2087f1a8a29a0d8">Norm</a> () const </td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#9ee855b915a4b5ecd7dfa0d955c6cdab">Normalize</a> ()</td></tr> <tr><td class="mdescLeft"> </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> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#f46473c824bb8d42bfd952ee898e0de3">operator *=</a> (double f)</td></tr> <tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#3fd20e72c8e528e04cd051bc2cb63d98">operator+</a> () const </td></tr> <tr><td class="mdescLeft"> </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> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#e8ae042b1d041fbc9b03185ede70c75f">operator+=</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &v)</td></tr> <tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#8ba3b091172528be027c5a6cdd6bb004">operator-</a> () const </td></tr> <tr><td class="mdescLeft"> </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> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#9c2b862231c5d909dce43991831ab1f0">operator-=</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &v)</td></tr> <tr><td class="mdescLeft"> </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> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#2a24b505f9ba71f04ad54da3ee5ab65b">operator/=</a> (double f)</td></tr> <tr><td class="mdescLeft"> </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 & </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#d1b2c48ebde4ddabf6c5131251a98470">operator[]</a> (int n)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#bdce4c4819492a55f0acea0139d540a3">operator[]</a> (int n) const </td></tr> <tr><td class="mdescLeft"> </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 </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#6f99c53efc8bbbb433c1626974fe7bcd">SquaredNorm</a> () const </td></tr> <tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#d1a0b277a32294fc40a1cda3c3ee2065">Unit</a> () const </td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#5f4996898ef1dc6bfd233ab393bc2fd3">Norm</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &v)</td></tr> <tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#0855f53efb1a8a25896accac918f4d8c">Unit</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &v)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#6f67e661779797eab4cf2e638b513c9c">x</a></td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#4aa6a7a4ee8ba5a031f8123585b269ee">y</a></td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#878df30b2dab8c5de8f3f442b5d6890e">z</a></td></tr> <tr><td class="mdescLeft"> </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> </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> &v)</td></tr> <tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#a3fa8e70cc21b9c849aa34f304d9b64d">operator *</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &v, double f)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#2967487b3f25e22738d72b2780e51b5c">operator *</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &v1, const <a class="el" href="classcsDVector3.html">csDVector3</a> &v2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#099a4b857b990aa8f64b842e1cbc36a0">operator!=</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &v1, const <a class="el" href="classcsDVector3.html">csDVector3</a> &v2)</td></tr> <tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#cf8ab592c56ac5ec14f5ff349f20efb6">operator%</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &v1, const <a class="el" href="classcsDVector3.html">csDVector3</a> &v2)</td></tr> <tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#a22738be1e53bfa3e1ad5569c350fc24">operator+</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &v1, const <a class="el" href="classcsDVector3.html">csDVector3</a> &v2)</td></tr> <tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#f5b6cb1a0e3cb8a14b094ef1480a7267">operator-</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &v1, const <a class="el" href="classcsDVector3.html">csDVector3</a> &v2)</td></tr> <tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#93e92cb2464ef56e8476fa03a48aa29f">operator/</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &v, double f)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#78174e2d19165657a671f57572699420">operator<</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &v, double f)</td></tr> <tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#afce5e207ba87df47c68f5d9053670e8">operator<<</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &v1, const <a class="el" href="classcsDVector3.html">csDVector3</a> &v2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#02c84ca72c8dfc6b8086db2941163c12">operator==</a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &v1, const <a class="el" href="classcsDVector3.html">csDVector3</a> &v2)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#04e7d0f0d21ab6a92d1f3f0546eb61c3">operator></a> (double f, const <a class="el" href="classcsDVector3.html">csDVector3</a> &v)</td></tr> <tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsDVector3.html#8ed9910a6dce2af78e569d57ed5d2d05">operator>></a> (const <a class="el" href="classcsDVector3.html">csDVector3</a> &v1, const <a class="el" href="classcsDVector3.html">csDVector3</a> &v2)</td></tr> <tr><td class="mdescLeft"> </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 & 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> ) </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 </td> <td class="paramname"> <em>m</em> </td> <td> ) </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*<1,1,1>. 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 </td> <td class="paramname"> <em>ix</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>iy</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>iz</em> = <code>0</code></td><td> </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 &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> & </td> <td class="paramname"> <em>v</em> </td> <td> ) </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 &)" --> <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> & </td> <td class="paramname"> </td> <td> ) </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 &px, const csDVector3 &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> & </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> & </td> <td class="paramname"> <em>py</em></td><td> </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 &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> & </td> <td class="paramname"> <em>v</em> </td> <td> ) </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> ) </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> ) </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>& csDVector3::operator *= </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"> <em>f</em> </td> <td> ) </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> ) </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 &v)" --> <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="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> & </td> <td class="paramname"> <em>v</em> </td> <td> ) </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> ) </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 &v)" --> <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="paramtype">const <a class="el" href="classcsDVector3.html">csDVector3</a> & </td> <td class="paramname"> <em>v</em> </td> <td> ) </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>& csDVector3::operator/= </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"> <em>f</em> </td> <td> ) </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& csDVector3::operator[] </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>n</em> </td> <td> ) </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 </td> <td class="paramname"> <em>n</em> </td> <td> ) </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 </td> <td class="paramname"> <em>sx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>sy</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>sz</em></td><td> </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> ) </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 &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> & </td> <td class="paramname"> <em>v</em> </td> <td> ) </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> ) </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 &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 </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> & </td> <td class="paramname"> <em>v</em></td><td> </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 &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> & </td> <td class="paramname"> <em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>f</em></td><td> </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 &v1, const csDVector3 &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> & </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> & </td> <td class="paramname"> <em>v2</em></td><td> </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 &v1, const csDVector3 &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> & </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> & </td> <td class="paramname"> <em>v2</em></td><td> </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 &v1, const csDVector3 &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> & </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> & </td> <td class="paramname"> <em>v2</em></td><td> </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 &v1, const csDVector3 &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> & </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> & </td> <td class="paramname"> <em>v2</em></td><td> </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 &v1, const csDVector3 &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> & </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> & </td> <td class="paramname"> <em>v2</em></td><td> </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 &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> & </td> <td class="paramname"> <em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>f</em></td><td> </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<" ref="78174e2d19165657a671f57572699420" args="(const csDVector3 &v, double f)" --> <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> & </td> <td class="paramname"> <em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>f</em></td><td> </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<<" ref="afce5e207ba87df47c68f5d9053670e8" args="(const csDVector3 &v1, const csDVector3 &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> & </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> & </td> <td class="paramname"> <em>v2</em></td><td> </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 &v1, const csDVector3 &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> & </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> & </td> <td class="paramname"> <em>v2</em></td><td> </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>" ref="04e7d0f0d21ab6a92d1f3f0546eb61c3" args="(double f, const csDVector3 &v)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool operator> </td> <td>(</td> <td class="paramtype">double </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> & </td> <td class="paramname"> <em>v</em></td><td> </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>>" ref="8ed9910a6dce2af78e569d57ed5d2d05" args="(const csDVector3 &v1, const csDVector3 &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> & </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> & </td> <td class="paramname"> <em>v2</em></td><td> </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>