aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03664.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/a03664.html')
-rw-r--r--docs/doxygen/nel/a03664.html1597
1 files changed, 1597 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03664.html b/docs/doxygen/nel/a03664.html
new file mode 100644
index 00000000..28b8f02b
--- /dev/null
+++ b/docs/doxygen/nel/a03664.html
@@ -0,0 +1,1597 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>NeL: NLMISC::CVectorD class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.6 -->
+<div class="qindex"> <form class="search" action="search.php" method="get">
+<a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>NLMISC::CVectorD Class Reference</h1><code>#include &lt;<a class="el" href="a06684.html">vectord.h</a>&gt;</code>
+<p>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A 3D vector of double. <dl compact><dt><b>Author:</b></dt><dd>Lionel Berenguier <p>
+Nevrax France </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2000 </dd></dl>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06684.html#l00044">44</a> of file <a class="el" href="a06684.html">vectord.h</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 colspan="2"><div class="groupHeader">Misc.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2079_0">asVector</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2079_1">cartesianToSpheric</a> (double &amp;<a class="el" href="a04223.html#a628">r</a>, double &amp;theta, double &amp;phi) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2079_2">copyTo</a> (<a class="el" href="a03128.html">CVector</a> &amp;dest) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2079_3">isNull</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2079_4">operator CVector</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2079_5">operator!=</a> (const <a class="el" href="a03664.html">CVectorD</a> &amp;<a class="el" href="a04223.html#a576">v</a>) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03664.html">CVectorD</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2079_6">operator=</a> (const <a class="el" href="a03128.html">CVector</a> &amp;<a class="el" href="a04223.html#a576">v</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2079_7">operator==</a> (const <a class="el" href="a03664.html">CVectorD</a> &amp;<a class="el" href="a04223.html#a576">v</a>) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2079_8">serial</a> (<a class="el" href="a02270.html">IStream</a> &amp;f)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2079_9">set</a> (double _x, double _y, double _z)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2079_10">sphericToCartesian</a> (double <a class="el" href="a04223.html#a628">r</a>, double theta, double phi)</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">Object.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2073_0">CVectorD</a> (const <a class="el" href="a03664.html">CVectorD</a> &amp;<a class="el" href="a04223.html#a576">v</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy Constructor. <a href="#NLMISC_1_1CVectorDz2073_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2073_1">CVectorD</a> (const <a class="el" href="a03128.html">CVector</a> &amp;<a class="el" href="a04223.html#a576">v</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor with a <a class="el" href="a03128.html">CVector</a>. <a href="#NLMISC_1_1CVectorDz2073_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2073_2">CVectorD</a> (double _x, double _y, double _z)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor . <a href="#NLMISC_1_1CVectorDz2073_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2073_3">CVectorD</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor wich do nothing. <a href="#NLMISC_1_1CVectorDz2073_3"></a><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Advanced Maths.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2077_0">norm</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the norm of the vector. <a href="#NLMISC_1_1CVectorDz2077_0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2077_1">normalize</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Normalize the vector. <a href="#NLMISC_1_1CVectorDz2077_1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03664.html">CVectorD</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2077_2">normed</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the vector normalized. <a href="#NLMISC_1_1CVectorDz2077_2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2077_3">operator *</a> (const <a class="el" href="a03664.html">CVectorD</a> &amp;<a class="el" href="a04223.html#a576">v</a>) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dot product. <a href="#NLMISC_1_1CVectorDz2077_3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03664.html">CVectorD</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2077_4">operator^</a> (const <a class="el" href="a03664.html">CVectorD</a> &amp;<a class="el" href="a04223.html#a576">v</a>) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2077_5">sqrnorm</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the square of the norm of the vector. <a href="#NLMISC_1_1CVectorDz2077_5"></a><br><br></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Base Maths.</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03664.html">CVectorD</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2075_0">operator *</a> (double f) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03664.html">CVectorD</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2075_1">operator *=</a> (double f)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03664.html">CVectorD</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2075_2">operator+</a> (const <a class="el" href="a03664.html">CVectorD</a> &amp;<a class="el" href="a04223.html#a576">v</a>) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03664.html">CVectorD</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2075_3">operator+=</a> (const <a class="el" href="a03664.html">CVectorD</a> &amp;<a class="el" href="a04223.html#a576">v</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03664.html">CVectorD</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2075_4">operator-</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03664.html">CVectorD</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2075_5">operator-</a> (const <a class="el" href="a03664.html">CVectorD</a> &amp;<a class="el" href="a04223.html#a576">v</a>) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03664.html">CVectorD</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2075_6">operator-=</a> (const <a class="el" href="a03664.html">CVectorD</a> &amp;<a class="el" href="a04223.html#a576">v</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03664.html">CVectorD</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2075_7">operator/</a> (double f) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03664.html">CVectorD</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2075_8">operator/=</a> (double f)</td></tr>
+
+<tr><td colspan=2><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDo0">x</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDo1">y</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDo2">z</a></td></tr>
+
+<tr><td colspan=2><br><h2>Static Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03664.html">CVectorD</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDs0">I</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">I vector (1,0,0). <a href="#NLMISC_1_1CVectorDs0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03664.html">CVectorD</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDs1">J</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">J vector (0,1,0). <a href="#NLMISC_1_1CVectorDs1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03664.html">CVectorD</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDs2">K</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">K vector (0,0,1). <a href="#NLMISC_1_1CVectorDs2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03664.html">CVectorD</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDs3">Null</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Null vector (0,0,0). <a href="#NLMISC_1_1CVectorDs3"></a><br><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="a03664.html">CVectorD</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html#NLMISC_1_1CVectorDn0">operator *</a> (double f, const <a class="el" href="a03664.html">CVectorD</a> &amp;v0)</td></tr>
+
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NLMISC_1_1CVectorDz2073_3" doxytag="NLMISC::CVectorD::CVectorD" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC::CVectorD::CVectorD </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor wich do nothing.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06684.html#l00063">63</a> of file <a class="el" href="a06684.html">vectord.h</a>.
+<p>
+Referenced by <a class="el" href="a06685.html#l00084">operator-()</a>.
+<p>
+<div class="fragment"><pre>00063 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2073_2" doxytag="NLMISC::CVectorD::CVectorD" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC::CVectorD::CVectorD </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double&nbsp;</td>
+ <td class="mdname" nowrap> <em>_x</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>double&nbsp;</td>
+ <td class="mdname" nowrap> <em>_y</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>double&nbsp;</td>
+ <td class="mdname" nowrap> <em>_z</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor .
+<p>
+
+<p>
+Definition at line <a class="el" href="a06684.html#l00065">65</a> of file <a class="el" href="a06684.html">vectord.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00065 : <a class="code" href="a03664.html#NLMISC_1_1CVectorDo0">x</a>(_x), <a class="code" href="a03664.html#NLMISC_1_1CVectorDo1">y</a>(_y), <a class="code" href="a03664.html#NLMISC_1_1CVectorDo2">z</a>(_z) {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2073_1" doxytag="NLMISC::CVectorD::CVectorD" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC::CVectorD::CVectorD </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>v</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor with a <a class="el" href="a03128.html">CVector</a>.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06684.html#l00067">67</a> of file <a class="el" href="a06684.html">vectord.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00237">v</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00067 : <a class="code" href="a03664.html#NLMISC_1_1CVectorDo0">x</a>(<a class="code" href="a04223.html#a576">v</a>.x), <a class="code" href="a03664.html#NLMISC_1_1CVectorDo1">y</a>(<a class="code" href="a04223.html#a576">v</a>.y), <a class="code" href="a03664.html#NLMISC_1_1CVectorDo2">z</a>(<a class="code" href="a04223.html#a576">v</a>.z) {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2073_0" doxytag="NLMISC::CVectorD::CVectorD" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC::CVectorD::CVectorD </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03664.html">CVectorD</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>v</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Copy Constructor.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06684.html#l00069">69</a> of file <a class="el" href="a06684.html">vectord.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00237">v</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00069 : <a class="code" href="a03664.html#NLMISC_1_1CVectorDo0">x</a>(<a class="code" href="a04223.html#a576">v</a>.x), <a class="code" href="a03664.html#NLMISC_1_1CVectorDo1">y</a>(<a class="code" href="a04223.html#a576">v</a>.y), <a class="code" href="a03664.html#NLMISC_1_1CVectorDo2">z</a>(<a class="code" href="a04223.html#a576">v</a>.z) {}
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NLMISC_1_1CVectorDz2079_0" doxytag="NLMISC::CVectorD::asVector" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03128.html">CVector</a> NLMISC::CVectorD::asVector </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00191">191</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00192 {
+00193 <span class="keywordflow">return</span> CVector((<span class="keywordtype">float</span>) <a class="code" href="a04223.html#a572">x</a>, (<span class="keywordtype">float</span>) <a class="code" href="a04223.html#a573">y</a>, (<span class="keywordtype">float</span>) <a class="code" href="a04223.html#a574">z</a>);
+00194 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2079_1" doxytag="NLMISC::CVectorD::cartesianToSpheric" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::CVectorD::cartesianToSpheric </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>r</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>double &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>theta</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>double &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>phi</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the sphreic coordinates of the vector. See <a class="el" href="a03664.html#NLMISC_1_1CVectorDz2079_10">sphericToCartesian()</a> to know coordinates conventions. <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2079_10">sphericToCartesian()</a></dd></dl>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00152">152</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a05587.html#l00115">NLMISC::clamp()</a>, <a class="el" href="a06685.html#l00115">norm()</a>, <a class="el" href="a06685.html#l00125">normed()</a>, <a class="el" href="a05646.html#l00993">r</a>, and <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+<div class="fragment"><pre>00153 {
+00154 <a class="code" href="a03664.html#NLMISC_1_1CVectorDz2073_3">CVectorD</a> <a class="code" href="a04223.html#a576">v</a>;
+00155
+00156 <a class="code" href="a04223.html#a628">r</a>= <a class="code" href="a03664.html#NLMISC_1_1CVectorDz2077_0">norm</a>();
+00157 <a class="code" href="a04223.html#a576">v</a>= <a class="code" href="a03664.html#NLMISC_1_1CVectorDz2077_2">normed</a>();
+00158
+00159 <span class="comment">// phi E [-PI/2 et PI/2]</span>
+00160 <a class="code" href="a05378.html#a374">clamp</a>(<a class="code" href="a04223.html#a576">v</a>.z, -1.0, 1.0);
+00161 phi=asin(<a class="code" href="a04223.html#a576">v</a>.z);
+00162
+00163 <span class="comment">// theta [-PI,PI]</span>
+00164 theta=atan2(<a class="code" href="a04223.html#a576">v</a>.y,<a class="code" href="a04223.html#a576">v</a>.x);
+00165 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2079_2" doxytag="NLMISC::CVectorD::copyTo" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::CVectorD::copyTo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>dest</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00187">187</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a06682.html#l00136">NLMISC::CVector::set()</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00188 {
+00189 dest.set((<span class="keywordtype">float</span>) <a class="code" href="a04223.html#a572">x</a>, (<span class="keywordtype">float</span>) <a class="code" href="a04223.html#a573">y</a>, (<span class="keywordtype">float</span>) <a class="code" href="a04223.html#a574">z</a>);
+00190 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2079_3" doxytag="NLMISC::CVectorD::isNull" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLMISC::CVectorD::isNull </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00148">148</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+<div class="fragment"><pre>00149 {
+00150 <span class="keywordflow">return</span> *<span class="keyword">this</span>==CVectorD::Null;
+00151 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2077_0" doxytag="NLMISC::CVectorD::norm" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> double NLMISC::CVectorD::norm </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the norm of the vector.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00115">115</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+Referenced by <a class="el" href="a06685.html#l00152">cartesianToSpheric()</a>, <a class="el" href="a05445.html#l00576">NL3D::CAnimationOptimizer::nearlySameVector()</a>, <a class="el" href="a06685.html#l00119">normalize()</a>, and <a class="el" href="a06207.html#l01167">NLPACS::CPrimitiveWorldImage::reaction()</a>.
+<p>
+<div class="fragment"><pre>00116 {
+00117 <span class="keywordflow">return</span> (<span class="keywordtype">double</span>)sqrt(<a class="code" href="a04223.html#a572">x</a>*<a class="code" href="a04223.html#a572">x</a> + <a class="code" href="a04223.html#a573">y</a>*<a class="code" href="a04223.html#a573">y</a> + <a class="code" href="a04223.html#a574">z</a>*<a class="code" href="a04223.html#a574">z</a>);
+00118 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2077_1" doxytag="NLMISC::CVectorD::normalize" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::CVectorD::normalize </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Normalize the vector.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00119">119</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a06685.html#l00115">norm()</a>.
+<p>
+Referenced by <a class="el" href="a06207.html#l00780">NLPACS::CPrimitiveWorldImage::evalCollisionOCoverOC()</a>, <a class="el" href="a06207.html#l00573">NLPACS::CPrimitiveWorldImage::evalCollisionPoverOC()</a>, <a class="el" href="a06207.html#l00689">NLPACS::CPrimitiveWorldImage::evalCollisionSoverOC()</a>, <a class="el" href="a06685.html#l00125">normed()</a>, and <a class="el" href="a05395.html#l00153">NLAIAGENT::IVector::unit()</a>.
+<p>
+<div class="fragment"><pre>00120 {
+00121 <span class="keywordtype">double</span> n=<a class="code" href="a03664.html#NLMISC_1_1CVectorDz2077_0">norm</a>();
+00122 <span class="keywordflow">if</span>(n)
+00123 *<span class="keyword">this</span>/=n;
+00124 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2077_2" doxytag="NLMISC::CVectorD::normed" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03664.html">CVectorD</a> NLMISC::CVectorD::normed </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the vector normalized.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00125">125</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a06685.html#l00119">normalize()</a>.
+<p>
+Referenced by <a class="el" href="a06685.html#l00152">cartesianToSpheric()</a>.
+<p>
+<div class="fragment"><pre>00126 {
+00127 <a class="code" href="a03664.html#NLMISC_1_1CVectorDz2073_3">CVectorD</a> ret;
+00128 ret= *<span class="keyword">this</span>;
+00129 ret.normalize();
+00130 <span class="keywordflow">return</span> ret;
+00131 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2077_3" doxytag="NLMISC::CVectorD::operator *" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> double NLMISC::CVectorD::operator * </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03664.html">CVectorD</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>v</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Dot product.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00097">97</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00237">v</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00098 {
+00099 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a572">x</a>*<a class="code" href="a04223.html#a576">v</a>.x + <a class="code" href="a04223.html#a573">y</a>*<a class="code" href="a04223.html#a576">v</a>.y + <a class="code" href="a04223.html#a574">z</a>*<a class="code" href="a04223.html#a576">v</a>.z;
+00100 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2075_0" doxytag="NLMISC::CVectorD::operator *" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03664.html">CVectorD</a> NLMISC::CVectorD::operator * </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00075">75</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00076 {
+00077 <a class="code" href="a03664.html#NLMISC_1_1CVectorDz2073_3">CVectorD</a> ret(<a class="code" href="a04223.html#a572">x</a>*f, <a class="code" href="a04223.html#a573">y</a>*f, <a class="code" href="a04223.html#a574">z</a>*f);
+00078 <span class="keywordflow">return</span> ret;
+00079 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2075_1" doxytag="NLMISC::CVectorD::operator *=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03664.html">CVectorD</a> &amp; NLMISC::CVectorD::operator *= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00054">54</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00055 {
+00056 <a class="code" href="a04223.html#a572">x</a>*=f;
+00057 <a class="code" href="a04223.html#a573">y</a>*=f;
+00058 <a class="code" href="a04223.html#a574">z</a>*=f;
+00059 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00060 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2079_4" doxytag="NLMISC::CVectorD::operator CVector" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC::CVectorD::operator <a class="el" href="a03128.html">CVector</a> </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00179">179</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00180 {
+00181 <span class="keywordflow">return</span> CVector((<span class="keywordtype">float</span>)<a class="code" href="a04223.html#a572">x</a>, (<span class="keywordtype">float</span>)<a class="code" href="a04223.html#a573">y</a>, (<span class="keywordtype">float</span>)<a class="code" href="a04223.html#a574">z</a>);
+00182 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2079_5" doxytag="NLMISC::CVectorD::operator!=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLMISC::CVectorD::operator!= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03664.html">CVectorD</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>v</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00144">144</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+<div class="fragment"><pre>00145 {
+00146 <span class="keywordflow">return</span> !(*<span class="keyword">this</span>==<a class="code" href="a04223.html#a576">v</a>);
+00147 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2075_2" doxytag="NLMISC::CVectorD::operator+" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03664.html">CVectorD</a> NLMISC::CVectorD::operator+ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03664.html">CVectorD</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>v</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00065">65</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00237">v</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00066 {
+00067 <a class="code" href="a03664.html#NLMISC_1_1CVectorDz2073_3">CVectorD</a> ret(<a class="code" href="a04223.html#a572">x</a>+<a class="code" href="a04223.html#a576">v</a>.x, <a class="code" href="a04223.html#a573">y</a>+<a class="code" href="a04223.html#a576">v</a>.y, <a class="code" href="a04223.html#a574">z</a>+<a class="code" href="a04223.html#a576">v</a>.z);
+00068 <span class="keywordflow">return</span> ret;
+00069 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2075_3" doxytag="NLMISC::CVectorD::operator+=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03664.html">CVectorD</a> &amp; NLMISC::CVectorD::operator+= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03664.html">CVectorD</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>v</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00040">40</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00237">v</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00041 {
+00042 <a class="code" href="a04223.html#a572">x</a>+=<a class="code" href="a04223.html#a576">v</a>.x;
+00043 <a class="code" href="a04223.html#a573">y</a>+=<a class="code" href="a04223.html#a576">v</a>.y;
+00044 <a class="code" href="a04223.html#a574">z</a>+=<a class="code" href="a04223.html#a576">v</a>.z;
+00045 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00046 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2075_4" doxytag="NLMISC::CVectorD::operator-" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03664.html">CVectorD</a> NLMISC::CVectorD::operator- </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00084">84</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a06684.html#l00063">CVectorD()</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00085 {
+00086 <span class="keywordflow">return</span> <a class="code" href="a03664.html#NLMISC_1_1CVectorDz2073_3">CVectorD</a>(-<a class="code" href="a04223.html#a572">x</a>,-<a class="code" href="a04223.html#a573">y</a>,-<a class="code" href="a04223.html#a574">z</a>);
+00087 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2075_5" doxytag="NLMISC::CVectorD::operator-" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03664.html">CVectorD</a> NLMISC::CVectorD::operator- </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03664.html">CVectorD</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>v</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00070">70</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00237">v</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00071 {
+00072 <a class="code" href="a03664.html#NLMISC_1_1CVectorDz2073_3">CVectorD</a> ret(<a class="code" href="a04223.html#a572">x</a>-<a class="code" href="a04223.html#a576">v</a>.x, <a class="code" href="a04223.html#a573">y</a>-<a class="code" href="a04223.html#a576">v</a>.y, <a class="code" href="a04223.html#a574">z</a>-<a class="code" href="a04223.html#a576">v</a>.z);
+00073 <span class="keywordflow">return</span> ret;
+00074 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2075_6" doxytag="NLMISC::CVectorD::operator-=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03664.html">CVectorD</a> &amp; NLMISC::CVectorD::operator-= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03664.html">CVectorD</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>v</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00047">47</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00237">v</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00048 {
+00049 <a class="code" href="a04223.html#a572">x</a>-=<a class="code" href="a04223.html#a576">v</a>.x;
+00050 <a class="code" href="a04223.html#a573">y</a>-=<a class="code" href="a04223.html#a576">v</a>.y;
+00051 <a class="code" href="a04223.html#a574">z</a>-=<a class="code" href="a04223.html#a576">v</a>.z;
+00052 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00053 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2075_7" doxytag="NLMISC::CVectorD::operator/" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03664.html">CVectorD</a> NLMISC::CVectorD::operator/ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00080">80</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+<div class="fragment"><pre>00081 {
+00082 <span class="keywordflow">return</span> *<span class="keyword">this</span>*(1.0f/f);
+00083 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2075_8" doxytag="NLMISC::CVectorD::operator/=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03664.html">CVectorD</a> &amp; NLMISC::CVectorD::operator/= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00061">61</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+<div class="fragment"><pre>00062 {
+00063 <span class="keywordflow">return</span> *<span class="keyword">this</span>*= (1.0f/f);
+00064 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2079_6" doxytag="NLMISC::CVectorD::operator=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03664.html">CVectorD</a> &amp; NLMISC::CVectorD::operator= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">CVector</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>v</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00172">172</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00237">v</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00173 {
+00174 <a class="code" href="a04223.html#a572">x</a>=<a class="code" href="a04223.html#a576">v</a>.x;
+00175 <a class="code" href="a04223.html#a573">y</a>=<a class="code" href="a04223.html#a576">v</a>.y;
+00176 <a class="code" href="a04223.html#a574">z</a>=<a class="code" href="a04223.html#a576">v</a>.z;
+00177 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00178 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2079_7" doxytag="NLMISC::CVectorD::operator==" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLMISC::CVectorD::operator== </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03664.html">CVectorD</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>v</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00140">140</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00237">v</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00141 {
+00142 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a572">x</a>==<a class="code" href="a04223.html#a576">v</a>.x &amp;&amp; <a class="code" href="a04223.html#a573">y</a>==<a class="code" href="a04223.html#a576">v</a>.y &amp;&amp; <a class="code" href="a04223.html#a574">z</a>==<a class="code" href="a04223.html#a576">v</a>.z;
+00143 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2077_4" doxytag="NLMISC::CVectorD::operator^" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03664.html">CVectorD</a> NLMISC::CVectorD::operator^ </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03664.html">CVectorD</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>v</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Cross product. compute the cross product *this ^ v.
+<p>
+Definition at line <a class="el" href="a06685.html#l00101">101</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00237">v</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a06684.html#l00047">x</a>, <a class="el" href="a06684.html#l00047">y</a>, <a class="el" href="a05646.html#l00236">y</a>, <a class="el" href="a06684.html#l00047">z</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00102 {
+00103 <a class="code" href="a03664.html#NLMISC_1_1CVectorDz2073_3">CVectorD</a> ret;
+00104
+00105 ret.x= <a class="code" href="a04223.html#a573">y</a>*<a class="code" href="a04223.html#a576">v</a>.z - <a class="code" href="a04223.html#a574">z</a>*<a class="code" href="a04223.html#a576">v</a>.y;
+00106 ret.y= <a class="code" href="a04223.html#a574">z</a>*<a class="code" href="a04223.html#a576">v</a>.x - <a class="code" href="a04223.html#a572">x</a>*<a class="code" href="a04223.html#a576">v</a>.z;
+00107 ret.z= <a class="code" href="a04223.html#a572">x</a>*<a class="code" href="a04223.html#a576">v</a>.y - <a class="code" href="a04223.html#a573">y</a>*<a class="code" href="a04223.html#a576">v</a>.x;
+00108
+00109 <span class="keywordflow">return</span> ret;
+00110 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2079_8" doxytag="NLMISC::CVectorD::serial" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::CVectorD::serial </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02270.html">IStream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00183">183</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a06462.html#l00232">NLMISC::IStream::serial()</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00184 {
+00185 f.serial(<a class="code" href="a04223.html#a572">x</a>,<a class="code" href="a04223.html#a573">y</a>,<a class="code" href="a04223.html#a574">z</a>);
+00186 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2079_9" doxytag="NLMISC::CVectorD::set" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::CVectorD::set </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double&nbsp;</td>
+ <td class="mdname" nowrap> <em>_x</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>double&nbsp;</td>
+ <td class="mdname" nowrap> <em>_y</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>double&nbsp;</td>
+ <td class="mdname" nowrap> <em>_z</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00136">136</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+Referenced by <a class="el" href="a05478.html#l00145">NL3D::CBezierPatch::evalDouble()</a>, <a class="el" href="a06207.html#l01167">NLPACS::CPrimitiveWorldImage::reaction()</a>, and <a class="el" href="a05761.html#l01392">NLPACS::CGlobalRetriever::testCollisionWithCollisionChains()</a>.
+<p>
+<div class="fragment"><pre>00137 {
+00138 <a class="code" href="a04223.html#a572">x</a>=_x; <a class="code" href="a04223.html#a573">y</a>=_y; <a class="code" href="a04223.html#a574">z</a>=_z;
+00139 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2079_10" doxytag="NLMISC::CVectorD::sphericToCartesian" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::CVectorD::sphericToCartesian </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double&nbsp;</td>
+ <td class="mdname" nowrap> <em>r</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>double&nbsp;</td>
+ <td class="mdname" nowrap> <em>theta</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>double&nbsp;</td>
+ <td class="mdname" nowrap> <em>phi</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Setup the vector with spheric coordinates. sphericToCartesian(1,0,0) build the I vector ((1,0,0)). the formula is: <br>
+ x= r*cos(theta)*cos(phi) <br>
+ y= r*sin(theta)*cos(phi) <br>
+ z= r*sin(phi) <br>
+ <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a03664.html#NLMISC_1_1CVectorDz2079_1">cartesianToSpheric()</a></dd></dl>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00166">166</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00993">r</a>, <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00167 {
+00168 <a class="code" href="a04223.html#a572">x</a>= <a class="code" href="a04223.html#a628">r</a>*cos(theta)*cos(phi);
+00169 <a class="code" href="a04223.html#a573">y</a>= <a class="code" href="a04223.html#a628">r</a>*sin(theta)*cos(phi);
+00170 <a class="code" href="a04223.html#a574">z</a>= <a class="code" href="a04223.html#a628">r</a>*sin(phi);
+00171 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDz2077_5" doxytag="NLMISC::CVectorD::sqrnorm" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> double NLMISC::CVectorD::sqrnorm </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the square of the norm of the vector.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00111">111</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00236">x</a>, <a class="el" href="a05646.html#l00236">y</a>, and <a class="el" href="a05646.html#l00236">z</a>.
+<p>
+<div class="fragment"><pre>00112 {
+00113 <span class="keywordflow">return</span> (<span class="keywordtype">double</span>)(<a class="code" href="a04223.html#a572">x</a>*<a class="code" href="a04223.html#a572">x</a> + <a class="code" href="a04223.html#a573">y</a>*<a class="code" href="a04223.html#a573">y</a> + <a class="code" href="a04223.html#a574">z</a>*<a class="code" href="a04223.html#a574">z</a>);
+00114 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" name="NLMISC_1_1CVectorDn0" doxytag="NLMISC::CVectorD::operator *" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03664.html">CVectorD</a> operator * </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double&nbsp;</td>
+ <td class="mdname" nowrap> <em>f</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03664.html">CVectorD</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>v0</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [friend]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00088">88</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+<div class="fragment"><pre>00089 {
+00090 <a class="code" href="a03664.html#NLMISC_1_1CVectorDz2073_3">CVectorD</a> ret(<a class="code" href="a04223.html#a576">v</a>.x*f, <a class="code" href="a04223.html#a576">v</a>.y*f, <a class="code" href="a04223.html#a576">v</a>.z*f);
+00091 <span class="keywordflow">return</span> ret;
+00092 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NLMISC_1_1CVectorDs0" doxytag="NLMISC::CVectorD::I" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03664.html">CVectorD</a> <a class="el" href="a03664.html#NLMISC_1_1CVectorDs0">NLMISC::CVectorD::I</a><code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+I vector (1,0,0).
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDs1" doxytag="NLMISC::CVectorD::J" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03664.html">CVectorD</a> <a class="el" href="a03664.html#NLMISC_1_1CVectorDs1">NLMISC::CVectorD::J</a><code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+J vector (0,1,0).
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDs2" doxytag="NLMISC::CVectorD::K" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03664.html">CVectorD</a> <a class="el" href="a03664.html#NLMISC_1_1CVectorDs2">NLMISC::CVectorD::K</a><code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+K vector (0,0,1).
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDs3" doxytag="NLMISC::CVectorD::Null" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03664.html">CVectorD</a> <a class="el" href="a03664.html#NLMISC_1_1CVectorDs3">NLMISC::CVectorD::Null</a><code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Null vector (0,0,0).
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDo0" doxytag="NLMISC::CVectorD::x" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> double <a class="el" href="a03664.html#NLMISC_1_1CVectorDo0">NLMISC::CVectorD::x</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06684.html#l00047">47</a> of file <a class="el" href="a06684.html">vectord.h</a>.
+<p>
+Referenced by <a class="el" href="a05937.html#l00411">NL3D::CLodCharacterShape::addAnim()</a>, <a class="el" href="a06207.html#l00780">NLPACS::CPrimitiveWorldImage::evalCollisionOCoverOC()</a>, <a class="el" href="a06207.html#l00573">NLPACS::CPrimitiveWorldImage::evalCollisionPoverOC()</a>, <a class="el" href="a06207.html#l00455">NLPACS::CPrimitiveWorldImage::evalCollisionPoverS()</a>, <a class="el" href="a06207.html#l00689">NLPACS::CPrimitiveWorldImage::evalCollisionSoverOC()</a>, <a class="el" href="a06337.html#l00566">NLPACS::CRetrieverInstance::getLocalPosition()</a>, <a class="el" href="a05478.html#l00096">NL3D::mulAddD()</a>, <a class="el" href="a06685.html#l00101">operator^()</a>, <a class="el" href="a06207.html#l00971">NLPACS::CPrimitiveWorldImage::precalcBB()</a>, <a class="el" href="a06207.html#l00912">NLPACS::CPrimitiveWorldImage::precalcPos()</a>, <a class="el" href="a06337.html#l00387">NLPACS::CRetrieverInstance::retrievePosition()</a>, <a class="el" href="a05761.html#l00493">NLPACS::CGlobalRetriever::retrievePosition()</a>, <a class="el" href="a06208.html#l00445">NLPACS::CPrimitiveWorldImage::CPosition::setGlobalPosKeepZ()</a>, <a class="el" href="a05395.html#l00143">NLAIAGENT::IVector::squareLength()</a>, and <a class="el" href="a05395.html#l00113">NLAIAGENT::IVector::x()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDo1" doxytag="NLMISC::CVectorD::y" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> double <a class="el" href="a03664.html#NLMISC_1_1CVectorDo1">NLMISC::CVectorD::y</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06684.html#l00047">47</a> of file <a class="el" href="a06684.html">vectord.h</a>.
+<p>
+Referenced by <a class="el" href="a05937.html#l00411">NL3D::CLodCharacterShape::addAnim()</a>, <a class="el" href="a06207.html#l00780">NLPACS::CPrimitiveWorldImage::evalCollisionOCoverOC()</a>, <a class="el" href="a06207.html#l00573">NLPACS::CPrimitiveWorldImage::evalCollisionPoverOC()</a>, <a class="el" href="a06207.html#l00455">NLPACS::CPrimitiveWorldImage::evalCollisionPoverS()</a>, <a class="el" href="a06207.html#l00689">NLPACS::CPrimitiveWorldImage::evalCollisionSoverOC()</a>, <a class="el" href="a06337.html#l00566">NLPACS::CRetrieverInstance::getLocalPosition()</a>, <a class="el" href="a05478.html#l00096">NL3D::mulAddD()</a>, <a class="el" href="a06685.html#l00101">operator^()</a>, <a class="el" href="a06207.html#l00971">NLPACS::CPrimitiveWorldImage::precalcBB()</a>, <a class="el" href="a06207.html#l00912">NLPACS::CPrimitiveWorldImage::precalcPos()</a>, <a class="el" href="a06337.html#l00387">NLPACS::CRetrieverInstance::retrievePosition()</a>, <a class="el" href="a05761.html#l00493">NLPACS::CGlobalRetriever::retrievePosition()</a>, <a class="el" href="a06208.html#l00445">NLPACS::CPrimitiveWorldImage::CPosition::setGlobalPosKeepZ()</a>, <a class="el" href="a05395.html#l00143">NLAIAGENT::IVector::squareLength()</a>, and <a class="el" href="a05395.html#l00118">NLAIAGENT::IVector::y()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CVectorDo2" doxytag="NLMISC::CVectorD::z" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> double <a class="el" href="a03664.html#NLMISC_1_1CVectorDo2">NLMISC::CVectorD::z</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06684.html#l00047">47</a> of file <a class="el" href="a06684.html">vectord.h</a>.
+<p>
+Referenced by <a class="el" href="a05937.html#l00411">NL3D::CLodCharacterShape::addAnim()</a>, <a class="el" href="a06207.html#l00780">NLPACS::CPrimitiveWorldImage::evalCollisionOCoverOC()</a>, <a class="el" href="a06207.html#l00573">NLPACS::CPrimitiveWorldImage::evalCollisionPoverOC()</a>, <a class="el" href="a06207.html#l00455">NLPACS::CPrimitiveWorldImage::evalCollisionPoverS()</a>, <a class="el" href="a06207.html#l00689">NLPACS::CPrimitiveWorldImage::evalCollisionSoverOC()</a>, <a class="el" href="a06337.html#l00566">NLPACS::CRetrieverInstance::getLocalPosition()</a>, <a class="el" href="a05478.html#l00096">NL3D::mulAddD()</a>, <a class="el" href="a06685.html#l00101">operator^()</a>, <a class="el" href="a06337.html#l00387">NLPACS::CRetrieverInstance::retrievePosition()</a>, <a class="el" href="a05761.html#l00493">NLPACS::CGlobalRetriever::retrievePosition()</a>, <a class="el" href="a05395.html#l00143">NLAIAGENT::IVector::squareLength()</a>, and <a class="el" href="a05395.html#l00123">NLAIAGENT::IVector::z()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06684.html">vectord.h</a><li><a class="el" href="a06683.html">vectord.cpp</a><li><a class="el" href="a06685.html">vectord_inline.h</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 13:42:49 2004 for NeL by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.6 </small></address>
+</body>
+</html>