📄 classvector3.html
字号:
<!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>Vector3 Class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.4.1 --><div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div><h1>Vector3 Class Reference<br><small>[<a class="el" href="group__vector3.html">Maths - 3D Vectors</a>]</small></h1><code>#include <<a class="el" href="vector3_8h-source.html">vector3.h</a>></code><p><a href="classVector3-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>A class representing a 3vector. <p>The three components of the vector; X,Y and Z, are 32bit fixed point numbers with the binary point between bits 15 and 16.<p><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__fix.html#ga0">fix</a> <a class="el" href="classFix.html">Fix</a></dd></dl><dl compact><dt><b>Version:</b></dt><dd>2005-03-02 Made <a class="el" href="classVector3.html#a20">Normal()</a> faster by using integer multiplication to calculate cross product, as opposed to using fixed-point multiplication.<p>2005-03-01 Modified <a class="el" href="classVector3.html#a20">Normal()</a> so that it copes with vectors of any magnitude - by scaling the vectors prior to cross product calculation. </dd></dl><p><p>Definition at line <a class="el" href="vector3_8h-source.html#l00060">60</a> of file <a class="el" href="vector3_8h-source.html">vector3.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 class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a0">Vector3</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a1">Vector3</a> (<a class="el" href="group__fix.html#ga0">fix</a> x, <a class="el" href="group__fix.html#ga0">fix</a> y, <a class="el" href="group__fix.html#ga0">fix</a> z)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT <a class="el" href="classVector3.html">Vector3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a2">operator-</a> () const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT <a class="el" href="classVector3.html">Vector3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a3">operator+</a> (const <a class="el" href="classVector3.html">Vector3</a> &vector) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT <a class="el" href="classVector3.html">Vector3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a4">operator-</a> (const <a class="el" href="classVector3.html">Vector3</a> &vector) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT <a class="el" href="classVector3.html">Vector3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a5">operator *</a> (<a class="el" href="group__fix.html#ga0">fix</a> scalar) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT <a class="el" href="classVector3.html">Vector3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a6">operator/</a> (<a class="el" href="group__fix.html#ga0">fix</a> scalar) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT <a class="el" href="classVector3.html">Vector3</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a7">operator+=</a> (const <a class="el" href="classVector3.html">Vector3</a> &vector)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT <a class="el" href="classVector3.html">Vector3</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a8">operator-=</a> (const <a class="el" href="classVector3.html">Vector3</a> &vector)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT <a class="el" href="classVector3.html">Vector3</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a9">operator *=</a> (<a class="el" href="group__fix.html#ga0">fix</a> scalar)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT <a class="el" href="classVector3.html">Vector3</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a10">operator/=</a> (<a class="el" href="group__fix.html#ga0">fix</a> scalar)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a11">operator==</a> (const <a class="el" href="classVector3.html">Vector3</a> &vector) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a12">operator!=</a> (const <a class="el" href="classVector3.html">Vector3</a> &vector) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT <a class="el" href="group__fix.html#ga0">fix</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a13">DotProduct</a> (const <a class="el" href="classVector3.html">Vector3</a> &vector) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT <a class="el" href="classVector3.html">Vector3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a14">CrossProduct</a> (const <a class="el" href="classVector3.html">Vector3</a> &vector) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT <a class="el" href="group__fix.html#ga1">ufix</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a15">Length</a> () const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a16">CompareLength</a> (<a class="el" href="group__fix.html#ga1">ufix</a> length) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a17">CompareLengths</a> (const <a class="el" href="classVector3.html">Vector3</a> &vector) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT <a class="el" href="group__integers.html#ga2">uint32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a18">LengthSquared</a> (<a class="el" href="group__integers.html#ga2">uint32</a> &fraction) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT <a class="el" href="classVector3.html">Vector3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a19">UnitVector</a> () const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT <a class="el" href="classVector3.html">Vector3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a20">Normal</a> (const <a class="el" href="classVector3.html">Vector3</a> &vector) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT <a class="el" href="group__fix.html#ga2">fixangle</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a21">Angle</a> (const <a class="el" href="classVector3.html">Vector3</a> &vector) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT <a class="el" href="classVector3.html">Vector3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a22">Normal</a> (const <a class="el" href="classVector3.html">Vector3</a> &point1, const <a class="el" href="classVector3.html">Vector3</a> &point2) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">IMPORT <a class="el" href="group__fix.html#ga2">fixangle</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#a23">Angle</a> (const <a class="el" href="classVector3.html">Vector3</a> &point1, const <a class="el" href="classVector3.html">Vector3</a> &point2) const </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 IMPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#e0">Translate</a> (<a class="el" href="classVector3.html">Vector3</a> *outVectors, <a class="el" href="group__integers.html#ga6">uint</a> vectorCount, const <a class="el" href="classVector3.html">Vector3</a> *inVectors, const <a class="el" href="classVector3.html">Vector3</a> &offset)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static IMPORT void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#e1">Scale</a> (<a class="el" href="classVector3.html">Vector3</a> *outVectors, <a class="el" href="group__integers.html#ga6">uint</a> vectorCount, const <a class="el" href="classVector3.html">Vector3</a> *inVectors, <a class="el" href="group__fix.html#ga0">fix</a> scale)</td></tr><tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__fix.html#ga0">fix</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#o0">X</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__fix.html#ga0">fix</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#o1">Y</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__fix.html#ga0">fix</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVector3.html#o2">Z</a></td></tr><tr><td colspan="2"><br><h2>Private 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="classVector3.html#d0">NormaliseComponents</a> (<a class="el" href="group__integers.html#ga6">uint</a> bits)</td></tr></table><hr><h2>Constructor & Destructor Documentation</h2><a class="anchor" name="a0" doxytag="Vector3::Vector3"></a><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">Vector3::Vector3 </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Constructor which doesn't initialise the vector object.<p>Definition at line <a class="el" href="vector3_8h-source.html#l00066">66</a> of file <a class="el" href="vector3_8h-source.html">vector3.h</a>. </td> </tr></table><a class="anchor" name="a1" doxytag="Vector3::Vector3"></a><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">Vector3::Vector3 </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__fix.html#ga0">fix</a> </td> <td class="mdname" nowrap> <em>x</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap><a class="el" href="group__fix.html#ga0">fix</a> </td> <td class="mdname" nowrap> <em>y</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap><a class="el" href="group__fix.html#ga0">fix</a> </td> <td class="mdname" nowrap> <em>z</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Constructor which initialises the vector object.<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>Value for the X component. </td></tr> <tr><td valign="top"></td><td valign="top"><em>y</em> </td><td>Value for the Y component. </td></tr> <tr><td valign="top"></td><td valign="top"><em>z</em> </td><td>Value for the Z component.</td></tr> </table></dl><p>Definition at line <a class="el" href="vector3_8h-source.html#l00076">76</a> of file <a class="el" href="vector3_8h-source.html">vector3.h</a>. </td> </tr></table><hr><h2>Member Function Documentation</h2><a class="anchor" name="a2" doxytag="Vector3::operator-"></a><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">EXPORT <a class="el" href="classVector3.html">Vector3</a> Vector3::operator- </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Uninary minus operator.<p><dl compact><dt><b>Returns:</b></dt><dd>A vector with component values of the same magnitude as this one, but with the signs of each value reversed.</dd></dl><p>Definition at line <a class="el" href="vector3_8cpp-source.html#l00034">34</a> of file <a class="el" href="vector3_8cpp-source.html">vector3.cpp</a>. </td> </tr></table><a class="anchor" name="a3" doxytag="Vector3::operator+"></a><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">EXPORT <a class="el" href="classVector3.html">Vector3</a> Vector3::operator+ </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="classVector3.html">Vector3</a> & </td> <td class="mdname1" valign="top" nowrap> <em>vector</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Calculate the sum of this vector and another. The resulting vector is the sum of the individual component values. If any component value overflows the range of 32bit fixed point numbers, then the result is undefined.<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>vector</em> </td><td>The vector to add to this.</td></tr> </table></dl><dl compact><dt><b>Returns:</b></dt><dd>The sum of this and <em>vector</em>.</dd></dl><p>Definition at line <a class="el" href="vector3_8cpp-source.html#l00040">40</a> of file <a class="el" href="vector3_8cpp-source.html">vector3.cpp</a>. </td> </tr></table><a class="anchor" name="a4" doxytag="Vector3::operator-"></a><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">EXPORT <a class="el" href="classVector3.html">Vector3</a> Vector3::operator- </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="classVector3.html">Vector3</a> & </td> <td class="mdname1" valign="top" nowrap> <em>vector</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Calculate the difference between this vector and another. The resulting vector is the difference between the individual component values. If any component value overflows the range of 32bit fixed point numbers, then the result is undefined.<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>vector</em> </td><td>The vector to subtract from this.</td></tr> </table></dl><dl compact><dt><b>Returns:</b></dt><dd>The difference between this and <em>vector</em>.</dd></dl><p>Definition at line <a class="el" href="vector3_8cpp-source.html#l00046">46</a> of file <a class="el" href="vector3_8cpp-source.html">vector3.cpp</a>. </td> </tr></table><a class="anchor" name="a5" doxytag="Vector3::operator *"></a><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">EXPORT <a class="el" href="classVector3.html">Vector3</a> Vector3::operator * </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__fix.html#ga0">fix</a> </td> <td class="mdname1" valign="top" nowrap> <em>scalar</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Scalar multiply. The resulting vector is the product of the individual component values of this vector multiplied by the given scalar value. If any component value overflows the range of 32bit fixed point numbers, then the result is undefined.<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>scalar</em> </td><td>The scalar value to multiply by.</td></tr> </table></dl><dl compact><dt><b>Returns:</b></dt><dd>The product of this vector and <em>scalar</em>.</dd></dl><p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -