📄 vector3_8h-source.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>maths/vector3.h Source File</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><div class="nav"><a class="el" href="dir_000003.html">maths</a></div><h1>vector3.h</h1><a href="vector3_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 00025 <span class="preprocessor">#ifndef __VECTOR_H__</span>00026 <span class="preprocessor"></span><span class="preprocessor">#define __VECTOR_H__</span>00027 <span class="preprocessor"></span>00038 <span class="preprocessor">#include "<a class="code" href="fix_8h.html">fix.h</a>"</span>00039 00040 00041 <a name="l00060"></a><a class="code" href="classVector3.html">00060</a> <span class="keyword">class </span><a class="code" href="classVector3.html">Vector3</a>00061 {00062 <span class="keyword">public</span>:<a name="l00066"></a><a class="code" href="classVector3.html#a0">00066</a> <span class="keyword">inline</span> <a class="code" href="classVector3.html#a0">Vector3</a>()00067 {}00068 <a name="l00076"></a><a class="code" href="classVector3.html#a1">00076</a> <span class="keyword">inline</span> <a class="code" href="classVector3.html#a0">Vector3</a>(fix x,fix y,fix z)00077 : <a class="code" href="classVector3.html#o0">X</a>(x), <a class="code" href="classVector3.html#o1">Y</a>(y), <a class="code" href="classVector3.html#o2">Z</a>(z) {}00078 00085 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="classVector3.html">Vector3</a> <a class="code" href="classVector3.html#a2">operator - </a>() <span class="keyword">const</span>;00086 00097 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="classVector3.html">Vector3</a> <a class="code" href="classVector3.html#a3">operator + </a>(<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>& vector) <span class="keyword">const</span>;00098 00109 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="classVector3.html">Vector3</a> <a class="code" href="classVector3.html#a2">operator - </a>(<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>& vector) <span class="keyword">const</span>;00110 00122 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="classVector3.html">Vector3</a> <a class="code" href="classVector3.html#a5">operator * </a>(fix scalar) <span class="keyword">const</span>;00123 00135 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="classVector3.html">Vector3</a> <a class="code" href="classVector3.html#a6">operator / </a>(fix scalar) <span class="keyword">const</span>;00136 00149 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="classVector3.html">Vector3</a>& <a class="code" href="classVector3.html#a7">operator += </a>(<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>& vector);00150 00163 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="classVector3.html">Vector3</a>& <a class="code" href="classVector3.html#a8">operator -= </a>(<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>& vector);00164 00177 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="classVector3.html">Vector3</a>& <a class="code" href="classVector3.html#a9">operator *= </a>(fix scalar);00178 00191 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="classVector3.html">Vector3</a>& <a class="code" href="classVector3.html#a10">operator /= </a>(fix scalar);00192 00201 <a class="code" href="common_8h.html#a1">IMPORT</a> <span class="keywordtype">bool</span> <a class="code" href="classVector3.html#a11">operator == </a>(<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>& vector) <span class="keyword">const</span>;00202 <a name="l00211"></a><a class="code" href="classVector3.html#a12">00211</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classVector3.html#a12">operator != </a>(<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>& vector)<span class="keyword"> const</span>00212 <span class="keyword"> </span>{ <span class="keywordflow">return</span> !(*<span class="keyword">this</span>==vector); }00213 00225 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="group__fix.html#ga0">fix</a> <a class="code" href="classVector3.html#a13">DotProduct</a>(<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>& vector) <span class="keyword">const</span>;00226 00238 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="classVector3.html">Vector3</a> <a class="code" href="classVector3.html#a14">CrossProduct</a>(<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>& vector) <span class="keyword">const</span>;00239 00246 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="group__fix.html#ga1">ufix</a> <a class="code" href="classVector3.html#a15">Length</a>() <span class="keyword">const</span>;00247 00265 <a class="code" href="common_8h.html#a1">IMPORT</a> <span class="keywordtype">int</span> <a class="code" href="classVector3.html#a16">CompareLength</a>(ufix length) <span class="keyword">const</span>;00266 00284 <a class="code" href="common_8h.html#a1">IMPORT</a> <span class="keywordtype">int</span> <a class="code" href="classVector3.html#a17">CompareLengths</a>(<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>& vector) <span class="keyword">const</span>;00285 00297 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="group__integers.html#ga2">uint32</a> <a class="code" href="classVector3.html#a18">LengthSquared</a>(uint32& fraction) <span class="keyword">const</span>;00298 00308 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="classVector3.html">Vector3</a> <a class="code" href="classVector3.html#a19">UnitVector</a>() <span class="keyword">const</span>;00309 00322 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="classVector3.html">Vector3</a> <a class="code" href="classVector3.html#a20">Normal</a>(<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>& vector) <span class="keyword">const</span>;00323 00333 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="group__fix.html#ga2">fixangle</a> <a class="code" href="classVector3.html#a21">Angle</a>(<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>& vector) <span class="keyword">const</span>;00334 00349 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="classVector3.html">Vector3</a> <a class="code" href="classVector3.html#a20">Normal</a>(<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>& point1,<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>& point2) <span class="keyword">const</span>;00350 00362 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="group__fix.html#ga2">fixangle</a> <a class="code" href="classVector3.html#a21">Angle</a>(<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>& point1,<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>& point2) <span class="keyword">const</span>;00363 00372 <a class="code" href="common_8h.html#a1">IMPORT</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classVector3.html#e0">Translate</a>(<a class="code" href="classVector3.html">Vector3</a>* outVectors,uint vectorCount,<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>* inVectors,<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>& offset);00373 00382 <a class="code" href="common_8h.html#a1">IMPORT</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classVector3.html#e1">Scale</a>(<a class="code" href="classVector3.html">Vector3</a>* outVectors,uint vectorCount,<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>* inVectors,fix scale);00383 00384 <span class="keyword">private</span>:00385 00392 <span class="keywordtype">void</span> <a class="code" href="classVector3.html#d0">NormaliseComponents</a>(uint bits);00393 00394 <span class="keyword">public</span>:<a name="l00395"></a><a class="code" href="classVector3.html#o0">00395</a> <a class="code" href="group__fix.html#ga0">fix</a> <a class="code" href="classVector3.html#o0">X</a>; <a name="l00396"></a><a class="code" href="classVector3.html#o1">00396</a> <a class="code" href="group__fix.html#ga0">fix</a> <a class="code" href="classVector3.html#o1">Y</a>; <a name="l00397"></a><a class="code" href="classVector3.html#o2">00397</a> <a class="code" href="group__fix.html#ga0">fix</a> <a class="code" href="classVector3.html#o2">Z</a>; 00398 };00399 00400 <a name="l00404"></a><a class="code" href="group__vector3.html#ga0">00404</a> <span class="keyword">typedef</span> <a class="code" href="classVector3.html">Vector3</a> <a class="code" href="classVector3.html">Point3</a>;00405 00406 00407 <a name="l00411"></a><a class="code" href="classMatrix3.html">00411</a> <span class="keyword">class </span><a class="code" href="classMatrix3.html">Matrix3</a>00412 {00413 <span class="keyword">public</span>:<a name="l00417"></a><a class="code" href="classMatrix3.html#a0">00417</a> <span class="keyword">inline</span> <a class="code" href="classMatrix3.html#a0">Matrix3</a>()00418 {}00419 <a name="l00427"></a><a class="code" href="classMatrix3.html#a1">00427</a> <span class="keyword">inline</span> <a class="code" href="classMatrix3.html#a0">Matrix3</a>(<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a> row1,<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a> row2,<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a> row3)00428 : <a class="code" href="classMatrix3.html#o0">Row1</a>(row1), <a class="code" href="classMatrix3.html#o1">Row2</a>(row2), <a class="code" href="classMatrix3.html#o2">Row3</a>(row3) {}00429 00437 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="classVector3.html">Vector3</a> <a class="code" href="classMatrix3.html#a2">operator * </a>(<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>& vector) <span class="keyword">const</span>;00438 00444 <a class="code" href="common_8h.html#a1">IMPORT</a> <a class="code" href="classMatrix3.html">Matrix3</a> <a class="code" href="classMatrix3.html#a3">Transposition</a>() <span class="keyword">const</span>;00445 00454 <a class="code" href="common_8h.html#a1">IMPORT</a> <span class="keywordtype">void</span> <a class="code" href="classMatrix3.html#a4">Transform</a>(<a class="code" href="classVector3.html">Vector3</a>* outVectors,uint vectorCount,<span class="keyword">const</span> <a class="code" href="classVector3.html">Vector3</a>* inVectors);00455 <span class="keyword">public</span>:<a name="l00456"></a><a class="code" href="classMatrix3.html#o0">00456</a> <a class="code" href="classVector3.html">Vector3</a> <a class="code" href="classMatrix3.html#o0">Row1</a>; <a name="l00457"></a><a class="code" href="classMatrix3.html#o1">00457</a> <a class="code" href="classVector3.html">Vector3</a> <a class="code" href="classMatrix3.html#o1">Row2</a>; <a name="l00458"></a><a class="code" href="classMatrix3.html#o2">00458</a> <a class="code" href="classVector3.html">Vector3</a> <a class="code" href="classMatrix3.html#o2">Row3</a>; 00459 };00460 00461 <span class="comment">// End of group</span>00463 00464 <span class="preprocessor">#endif</span></pre></div><HR><ADDRESS STYLE="align: right;"><SMALL>Generated by <A HREF="http://www.doxygen.org/index.html"><IMG SRC="doxygen.png" ALT="doxygen" ALIGN="middle" BORDER="0"></A> 1.4.1</SMALL></ADDRESS></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -