Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > f48941b2df41f17d4c9519d16b753438 > files > 507

ClanLib06-devel-0.6.5-16.fc13.x86_64.rpm


<html>
<head><title>ClanLib Reference: CL_Vector</title></head>
<body text=black link=blue vlink=#800080 bgcolor=white topmargin=0 leftmargin=0>
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr><td><img border=0 src="../images/eyeheader-main-purple-a.gif" alt="ClanSoft logo" width=525 height=96></td></tr>
<tr bgcolor=#dadada><td align=left valign=top><img border=0 src="../images/eyeheader-main-purple-b.gif" alt="ClanSoft logo" width=190 height=14></td><td align=right valign=top><img border=0 src="../images/clanlib_light.gif" width=42 height=14></td></tr></table>
<table align=center border=0 cellspacing=10> <tr>
<td><a href="entire_class_index.html">Entire Class Index</a></td>
<td><a href="class_index.html">Main Class Index</a></td>
<td><a href="cross_index.html">Cross Index</a></td>
<td><a href="global_index.html">Global Index</a></td>
</table><h1 align=center>Class CL_Vector</h1><p>
<b>  Vector class</b><br>
Contained in: <a href="global_index.html">global</a><br>
Derived from:
<i>none</i>
<br>
Derived by:
<i>none</i>
<br>Group: Core (Math)
<p>
#include &lt;ClanLib/core.h&gt;
<p>
<hr noshade>
<table border=0>
<tr><td colspan=3><h3>public function member index:</h3></td>
<tr valign=top><td align=left><h3>Construction:</h3></td>
<tr valign=top><td align=right><tt></tt> </td><td align=right><a href="CL_Vector.html#394"><tt><font color=blue><b>CL_Vector</b></font></tt></a></td><td><tt>(<tt><font color=purple>float</font></tt> <tt><font color=blue>x</font></tt> = 0.0, <tt><font color=purple>float</font></tt> <tt><font color=blue>y</font></tt> = 0.0, <tt><font color=purple>float</font></tt> <tt><font color=blue>z</font></tt> = 0.0, <tt><font color=purple>float</font></tt> <tt><font color=blue>w</font></tt> = 1.0)</tt>;</td>
<tr valign=top><td align=right><tt></tt> </td><td align=right><a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a></td><td><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>other</font></tt>)</tt>;</td>
<tr valign=top><td align=left><h3>Attributes:</h3></td>
<tr valign=top><td align=right><tt><tt><font color=purple>float</font></tt></tt> </td><td align=right><a href="CL_Vector.html#396"><tt><font color=blue><b>norm</b></font></tt></a></td><td><tt>() <tt>const</tt></tt>;</td>
<tr valign=top><td align=right><tt><tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_Vector.html#397"><tt><font color=blue><b>normalize</b></font></tt></a></td><td><tt>()</tt>;</td>
<tr valign=top><td align=right><tt><tt><font color=purple>float</font></tt></tt> </td><td align=right><a href="CL_Vector.html#398"><tt><font color=blue><b>dot</b></font></tt></a></td><td><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>) <tt>const</tt></tt>;</td>
<tr valign=top><td align=right><tt><tt><font color=purple>float</font></tt></tt> </td><td align=right><a href="CL_Vector.html#399"><tt><font color=blue><b>angle</b></font></tt></a></td><td><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>) <tt>const</tt></tt>;</td>
<tr valign=top><td align=right><tt><a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a></tt> </td><td align=right><a href="CL_Vector.html#400"><tt><font color=blue><b>cross</b></font></tt></a></td><td><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>) <tt>const</tt></tt>;</td>
<tr valign=top><td align=right><tt><a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a></tt> </td><td align=right><a href="CL_Vector.html#401"><tt><font color=blue><b>rotate</b></font></tt></a></td><td><tt>(<tt><font color=purple>float</font></tt> <tt><font color=blue>angle</font></tt>, <tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>a</font></tt>) <tt>const</tt></tt>;</td>
<tr valign=top><td align=right><tt><tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_Vector.html#402"><tt><font color=blue><b>round</b></font></tt></a></td><td><tt>()</tt>;</td>
<tr valign=top><td align=left><h3>Operators:</h3></td>
<tr valign=top><td align=right><tt><a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a></tt> </td><td align=right><a href="CL_Vector.html#403"><tt><font color=black><b>operator</b></font></tt><tt> * </tt></a></td><td><tt>(<tt><font color=purple>float</font></tt> <tt><font color=blue>s</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt><tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_Vector.html#405"><tt><font color=black><b>operator</b></font></tt><tt> += </tt></a></td><td><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt><tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_Vector.html#406"><tt><font color=black><b>operator</b></font></tt><tt> -= </tt></a></td><td><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt><tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_Vector.html#407"><tt><font color=black><b>operator</b></font></tt><tt> * = </tt></a></td><td><tt>(<tt><font color=purple>float</font></tt> <tt><font color=blue>s</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt><a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a></tt> </td><td align=right><a href="CL_Vector.html#408"><tt><font color=black><b>operator</b></font></tt><tt> + </tt></a></td><td><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt><a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a></tt> </td><td align=right><a href="CL_Vector.html#409"><tt><font color=black><b>operator</b></font></tt><tt> - </tt></a></td><td><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt><a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a></tt> </td><td align=right><a href="CL_Vector.html#410"><tt><font color=black><b>operator</b></font></tt><tt> - </tt></a></td><td><tt>()</tt>;</td>
<tr valign=top><td align=right><tt><a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>&</tt> </td><td align=right><a href="CL_Vector.html#411"><tt><font color=black><b>operator</b></font></tt><tt> = </tt></a></td><td><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>)</tt>;</td>
<tr valign=top><td align=right><tt><tt><font color=purple>int</font></tt></tt> </td><td align=right><a href="CL_Vector.html#412"><tt><font color=black><b>operator</b></font></tt><tt> == </tt></a></td><td><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>) <tt>const</tt></tt>;</td>
<tr valign=top><td align=right><tt><tt><font color=purple>int</font></tt></tt> </td><td align=right><a href="CL_Vector.html#413"><tt><font color=black><b>operator</b></font></tt><tt> != </tt></a></td><td><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>) <tt>const</tt></tt>;</td>
<tr valign=top><td align=right><tt><tt><font color=purple>float</font></tt>&</tt> </td><td align=right><a href="CL_Vector.html#414"><tt><font color=black><b>operator</b></font></tt><tt> [] </tt></a></td><td><tt>(<tt><font color=purple>int</font></tt> <tt><font color=blue>n</font></tt>)</tt>;</td>
<tr><td>&nbsp;</td></table>
<hr noshade>
<h2>Description:</h2>
  This class provides basic functions and operators for working with vectors<br><p>
<hr noshade>
<h2>Function Member Descriptions:</h2>
<a name="394"><font size=+1><b>CL_Vector::CL_Vector</b></font></a> -   Constructor that initializes a vector<br><tt></tt> <a href="CL_Vector.html#394"><tt><font color=blue><b>CL_Vector</b></font></tt></a><tt>(<tt><font color=purple>float</font></tt> <tt><font color=blue>x</font></tt> = 0.0, <tt><font color=purple>float</font></tt> <tt><font color=blue>y</font></tt> = 0.0, <tt><font color=purple>float</font></tt> <tt><font color=blue>z</font></tt> = 0.0, <tt><font color=purple>float</font></tt> <tt><font color=blue>w</font></tt> = 1.0)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="395"><font size=+1><b>CL_Vector::CL_Vector</b></font></a> -   Copy Constructor<br><tt></tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>other</font></tt>)</tt>;<br><blockquote>  other - vector to copy</blockquote>
<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="399"><font size=+1><b>CL_Vector::angle</b></font></a> -   Returns the angle between the current vector and v<br><tt><tt><font color=purple>float</font></tt></tt> <a href="CL_Vector.html#399"><tt><font color=blue><b>angle</b></font></tt></a><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>) <tt>const</tt></tt>;<br><blockquote>  v - other vector <br>  Returns - the angle between the two vectors</blockquote>
<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="400"><font size=+1><b>CL_Vector::cross</b></font></a> -   Returns the cross product of the current vector and v<br><tt><a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a></tt> <a href="CL_Vector.html#400"><tt><font color=blue><b>cross</b></font></tt></a><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>) <tt>const</tt></tt>;<br><blockquote>  v - other vector <br>  Returns - the cross product of the two vectors</blockquote>
<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="398"><font size=+1><b>CL_Vector::dot</b></font></a> -   Returns the dot product of the current vector and v<br><tt><tt><font color=purple>float</font></tt></tt> <a href="CL_Vector.html#398"><tt><font color=blue><b>dot</b></font></tt></a><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>) <tt>const</tt></tt>;<br><blockquote>  v - other vector <br>  Returns - the dot product of the two vectors</blockquote>
<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="396"><font size=+1><b>CL_Vector::norm</b></font></a> -   Returns the (euclid) norm of the vector. It only uses the x,y,z ordinates! <br><tt><tt><font color=purple>float</font></tt></tt> <a href="CL_Vector.html#396"><tt><font color=blue><b>norm</b></font></tt></a><tt>() <tt>const</tt></tt>;<br><blockquote>  Returns - the euclid norm of the vector (in R^3)</blockquote>
<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="397"><font size=+1><b>CL_Vector::normalize</b></font></a> -   Normalizes the vector (not taking into account the w ordinate!)<br><tt><tt><font color=purple>void</font></tt></tt> <a href="CL_Vector.html#397"><tt><font color=blue><b>normalize</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="413"><font size=+1><b>CL_Vector::operator != </b></font></a> -   Returns false if current vector equals v<br><tt><tt><font color=purple>int</font></tt></tt> <a href="CL_Vector.html#413"><tt><font color=black><b>operator</b></font></tt><tt> != </tt></a><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>) <tt>const</tt></tt>;<br><blockquote>  v - other vector<br>  Returns - false if v equals the current vector, true otherwise</blockquote>
<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="403"><font size=+1><b>CL_Vector::operator * </b></font></a> -   Scalar product (vector * scalar)<br><tt><a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a></tt> <a href="CL_Vector.html#403"><tt><font color=black><b>operator</b></font></tt><tt> * </tt></a><tt>(<tt><font color=purple>float</font></tt> <tt><font color=blue>s</font></tt>)</tt>;<br><blockquote>  Returns - the scalar product</blockquote>
<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="407"><font size=+1><b>CL_Vector::operator * = </b></font></a> -   *= operator (scalar multiplication)<br><tt><tt><font color=purple>void</font></tt></tt> <a href="CL_Vector.html#407"><tt><font color=black><b>operator</b></font></tt><tt> * = </tt></a><tt>(<tt><font color=purple>float</font></tt> <tt><font color=blue>s</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="408"><font size=+1><b>CL_Vector::operator + </b></font></a> -   + operator<br><tt><a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a></tt> <a href="CL_Vector.html#408"><tt><font color=black><b>operator</b></font></tt><tt> + </tt></a><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="405"><font size=+1><b>CL_Vector::operator += </b></font></a> -   += operator<br><tt><tt><font color=purple>void</font></tt></tt> <a href="CL_Vector.html#405"><tt><font color=black><b>operator</b></font></tt><tt> += </tt></a><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="409"><font size=+1><b>CL_Vector::operator - </b></font></a> -   - operator<br><tt><a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a></tt> <a href="CL_Vector.html#409"><tt><font color=black><b>operator</b></font></tt><tt> - </tt></a><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="410"><font size=+1><b>CL_Vector::operator - </b></font></a> -   unary - operator<br><tt><a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a></tt> <a href="CL_Vector.html#410"><tt><font color=black><b>operator</b></font></tt><tt> - </tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="406"><font size=+1><b>CL_Vector::operator -= </b></font></a> -   -= operator<br><tt><tt><font color=purple>void</font></tt></tt> <a href="CL_Vector.html#406"><tt><font color=black><b>operator</b></font></tt><tt> -= </tt></a><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="411"><font size=+1><b>CL_Vector::operator = </b></font></a> -   assignment operator<br><tt><a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>&</tt> <a href="CL_Vector.html#411"><tt><font color=black><b>operator</b></font></tt><tt> = </tt></a><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="412"><font size=+1><b>CL_Vector::operator == </b></font></a> -   Returns true if current vector equals v<br><tt><tt><font color=purple>int</font></tt></tt> <a href="CL_Vector.html#412"><tt><font color=black><b>operator</b></font></tt><tt> == </tt></a><tt>(<tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>v</font></tt>) <tt>const</tt></tt>;<br><blockquote>  v - other vector<br>  Returns - true if v equals the current vector, false otherwise</blockquote>
<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="414"><font size=+1><b>CL_Vector::operator [] </b></font></a> -   Returns reference to n-th ordinate (0. == x, 1. == y, ...)<br><tt><tt><font color=purple>float</font></tt>&</tt> <a href="CL_Vector.html#414"><tt><font color=black><b>operator</b></font></tt><tt> [] </tt></a><tt>(<tt><font color=purple>int</font></tt> <tt><font color=blue>n</font></tt>)</tt>;<br><blockquote>  n - number of ordinate (starting with 0)<br>  Returns - reference to the n-th ordinate</blockquote>
<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="401"><font size=+1><b>CL_Vector::rotate</b></font></a> -   Returns the current vector rotated around vector a and angle angle<br><tt><a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a></tt> <a href="CL_Vector.html#401"><tt><font color=blue><b>rotate</b></font></tt></a><tt>(<tt><font color=purple>float</font></tt> <tt><font color=blue>angle</font></tt>, <tt>const</tt> <a href="CL_Vector.html#395"><tt><font color=blue><b>CL_Vector</b></font></tt></a>& <tt><font color=blue>a</font></tt>) <tt>const</tt></tt>;<br><blockquote>  angle - angle to rotate<br>  a - rotation axis<br>  Returns - the rotated vector</blockquote>
<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<a name="402"><font size=+1><b>CL_Vector::round</b></font></a> -   rounds all components<br><tt><tt><font color=purple>void</font></tt></tt> <a href="CL_Vector.html#402"><tt><font color=blue><b>round</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br>
<hr noshade>
<h2>Variable Member Descriptions:</h2>
<a name="393"><font size=+1><b>CL_Vector::w</b></font></a> -   w coordinate<br>
<tt><tt><font color=purple>float</font></tt> </tt> <tt><a href="CL_Vector.html#393"><tt><font color=blue>w</font></tt></a>;</tt><hr size="1" width="70%" align="left" noshade="noshade"><br>
<a name="390"><font size=+1><b>CL_Vector::x</b></font></a> -   x coordinate<br>
<tt><tt><font color=purple>float</font></tt> </tt> <tt><a href="CL_Vector.html#390"><tt><font color=blue>x</font></tt></a>;</tt><hr size="1" width="70%" align="left" noshade="noshade"><br>
<a name="391"><font size=+1><b>CL_Vector::y</b></font></a> -   y coordinate<br>
<tt><tt><font color=purple>float</font></tt> </tt> <tt><a href="CL_Vector.html#391"><tt><font color=blue>y</font></tt></a>;</tt><hr size="1" width="70%" align="left" noshade="noshade"><br>
<a name="392"><font size=+1><b>CL_Vector::z</b></font></a> -   z coordinate<br>
<tt><tt><font color=purple>float</font></tt> </tt> <tt><a href="CL_Vector.html#392"><tt><font color=blue>z</font></tt></a>;</tt><hr size="1" width="70%" align="left" noshade="noshade"><br>
<hr noshade>
</body>
</html>