PageRenderTime 63ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 1ms

/FightOrFlight/depends/irrlicht-1.7.2/doc/html/matrix4_8h_source.html

http://ulsgd.googlecode.com/
HTML | 1990 lines | 1989 code | 0 blank | 1 comment | 0 complexity | f6adda732460f903c40679eae4f05287 MD5 | raw file
Possible License(s): LGPL-3.0, GPL-2.0, BSD-3-Clause, LGPL-2.1

Large files files are truncated, but you can click here to view the full file

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  3. <title>Irrlicht Engine: matrix4.h Source File</title>
  4. <link href="doxygen.css" rel="stylesheet" type="text/css">
  5. </head><body>
  6. <table class="irrlicht" >
  7. <tr valign="middle">
  8. <td><font size="2"><a class="qindex" href="index.html"><font color="#FFFFFF">Home</font></a>
  9. | <a class="qindex" href="namespaces.html"><font color="#FFFFFF">Namespaces</font></a>
  10. | <a class="qindex" href="hierarchy.html"><font color="#FFFFFF">Hierarchy</font></a>
  11. | <a class="qindex" href="classes.html"><font color="#FFFFFF">Alphabetical
  12. List</font></a> | <a class="qindex" href="annotated.html"><font color="#FFFFFF">
  13. Class list</font></a> | <a class="qindex" href="files.html"><font color="#FFFFFF">Files</font></a>
  14. | <a class="qindex" href="namespacemembers.html"><font color="#FFFFFF">
  15. Namespace&nbsp;Members</font></a> | <a class="qindex" href="functions.html"><font color="#FFFFFF">Class
  16. members</font></a> | <a class="qindex" href="globals.html"><font color="#FFFFFF">File
  17. members</font></a> | <a class="qindex" href="pages.html"><font color="#FFFFFF">Tutorials</font></a></font> </td>
  18. </tr>
  19. </table>
  20. <!-- Generated by Doxygen 1.6.2 -->
  21. <h1>matrix4.h</h1><a href="matrix4_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Copyright (C) 2002-2010 Nikolaus Gebhardt</span>
  22. <a name="l00002"></a>00002 <span class="comment">// This file is part of the &quot;Irrlicht Engine&quot;.</span>
  23. <a name="l00003"></a>00003 <span class="comment">// For conditions of distribution and use, see copyright notice in irrlicht.h</span>
  24. <a name="l00004"></a>00004
  25. <a name="l00005"></a>00005 <span class="preprocessor">#ifndef __IRR_MATRIX_H_INCLUDED__</span>
  26. <a name="l00006"></a>00006 <span class="preprocessor"></span><span class="preprocessor">#define __IRR_MATRIX_H_INCLUDED__</span>
  27. <a name="l00007"></a>00007 <span class="preprocessor"></span>
  28. <a name="l00008"></a>00008 <span class="preprocessor">#include &quot;<a class="code" href="irr_math_8h.html">irrMath.h</a>&quot;</span>
  29. <a name="l00009"></a>00009 <span class="preprocessor">#include &quot;<a class="code" href="vector3d_8h.html">vector3d.h</a>&quot;</span>
  30. <a name="l00010"></a>00010 <span class="preprocessor">#include &quot;<a class="code" href="vector2d_8h.html">vector2d.h</a>&quot;</span>
  31. <a name="l00011"></a>00011 <span class="preprocessor">#include &quot;<a class="code" href="plane3d_8h.html">plane3d.h</a>&quot;</span>
  32. <a name="l00012"></a>00012 <span class="preprocessor">#include &quot;<a class="code" href="aabbox3d_8h.html">aabbox3d.h</a>&quot;</span>
  33. <a name="l00013"></a>00013 <span class="preprocessor">#include &quot;<a class="code" href="rect_8h.html">rect.h</a>&quot;</span>
  34. <a name="l00014"></a>00014 <span class="preprocessor">#include &quot;<a class="code" href="irr_string_8h.html">irrString.h</a>&quot;</span>
  35. <a name="l00015"></a>00015
  36. <a name="l00016"></a>00016 <span class="comment">// enable this to keep track of changes to the matrix</span>
  37. <a name="l00017"></a>00017 <span class="comment">// and make simpler identity check for seldomly changing matrices</span>
  38. <a name="l00018"></a>00018 <span class="comment">// otherwise identity check will always compare the elements</span>
  39. <a name="l00019"></a>00019 <span class="comment">//#define USE_MATRIX_TEST</span>
  40. <a name="l00020"></a>00020
  41. <a name="l00021"></a>00021 <span class="comment">// this is only for debugging purposes</span>
  42. <a name="l00022"></a>00022 <span class="comment">//#define USE_MATRIX_TEST_DEBUG</span>
  43. <a name="l00023"></a>00023
  44. <a name="l00024"></a>00024 <span class="preprocessor">#if defined( USE_MATRIX_TEST_DEBUG )</span>
  45. <a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;windows.h&gt;</span>
  46. <a name="l00026"></a>00026
  47. <a name="l00027"></a>00027 <span class="keyword">struct </span>MatrixTest
  48. <a name="l00028"></a>00028 {
  49. <a name="l00029"></a>00029 MatrixTest () : ID(0), Calls(0) {}
  50. <a name="l00030"></a>00030 <span class="keywordtype">char</span> buf[256];
  51. <a name="l00031"></a>00031 <span class="keywordtype">int</span> Calls;
  52. <a name="l00032"></a>00032 <span class="keywordtype">int</span> ID;
  53. <a name="l00033"></a>00033 };
  54. <a name="l00034"></a>00034 <span class="keyword">static</span> MatrixTest MTest;
  55. <a name="l00035"></a>00035
  56. <a name="l00036"></a>00036 <span class="preprocessor">#endif</span>
  57. <a name="l00037"></a>00037 <span class="preprocessor"></span>
  58. <a name="l00038"></a>00038 <span class="keyword">namespace </span>irr
  59. <a name="l00039"></a>00039 {
  60. <a name="l00040"></a>00040 <span class="keyword">namespace </span>core
  61. <a name="l00041"></a>00041 {
  62. <a name="l00042"></a>00042
  63. <a name="l00044"></a>00044
  64. <a name="l00045"></a>00045 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
  65. <a name="l00046"></a><a class="code" href="classirr_1_1core_1_1_c_matrix4.html">00046</a> <span class="keyword">class </span><a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4</a>
  66. <a name="l00047"></a>00047 {
  67. <a name="l00048"></a>00048 <span class="keyword">public</span>:
  68. <a name="l00049"></a>00049
  69. <a name="l00051"></a><a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fe">00051</a> <span class="keyword">enum</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fe" title="Constructor Flags.">eConstructor</a>
  70. <a name="l00052"></a>00052 {
  71. <a name="l00053"></a><a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fea3566901f796f109f56c30a682ec132b3">00053</a> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fea3566901f796f109f56c30a682ec132b3">EM4CONST_NOTHING</a> = 0,
  72. <a name="l00054"></a><a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4feab61ca9be4d8fcd46a77ea3a3f6112c28">00054</a> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4feab61ca9be4d8fcd46a77ea3a3f6112c28">EM4CONST_COPY</a>,
  73. <a name="l00055"></a><a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4feabe4fda38ad4e2e186bd0b12e776ad71f">00055</a> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4feabe4fda38ad4e2e186bd0b12e776ad71f">EM4CONST_IDENTITY</a>,
  74. <a name="l00056"></a><a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fea6d05daa023ea476dea59533ce3d07d23">00056</a> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fea6d05daa023ea476dea59533ce3d07d23">EM4CONST_TRANSPOSED</a>,
  75. <a name="l00057"></a><a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fea4d69cdac3d8daf867fcaa1ec889f2c09">00057</a> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fea4d69cdac3d8daf867fcaa1ec889f2c09">EM4CONST_INVERSE</a>,
  76. <a name="l00058"></a><a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4feadff480a8b2060068f8c0971dcb8c9e6b">00058</a> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4feadff480a8b2060068f8c0971dcb8c9e6b">EM4CONST_INVERSE_TRANSPOSED</a>
  77. <a name="l00059"></a>00059 };
  78. <a name="l00060"></a>00060
  79. <a name="l00062"></a>00062
  80. <a name="l00063"></a>00063 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#af771bfde63cdaa3baa4d9f6121e56411" title="Default constructor.">CMatrix4</a>( <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fe" title="Constructor Flags.">eConstructor</a> constructor = <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4feabe4fda38ad4e2e186bd0b12e776ad71f">EM4CONST_IDENTITY</a> );
  81. <a name="l00065"></a>00065
  82. <a name="l00067"></a>00067 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#af771bfde63cdaa3baa4d9f6121e56411" title="Default constructor.">CMatrix4</a>( <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; other,<a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4fe" title="Constructor Flags.">eConstructor</a> constructor = <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a7bb79712227617f706ed57a34f3eb4feab61ca9be4d8fcd46a77ea3a3f6112c28">EM4CONST_COPY</a>);
  83. <a name="l00068"></a>00068
  84. <a name="l00070"></a><a class="code" href="classirr_1_1core_1_1_c_matrix4.html#aaede6824ed3ee05b928815d52e1834d1">00070</a> T&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#aaede6824ed3ee05b928815d52e1834d1" title="Simple operator for directly accessing every element of the matrix.">operator()</a>(<span class="keyword">const</span> <a class="code" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6" title="32 bit signed variable.">s32</a> row, <span class="keyword">const</span> <a class="code" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6" title="32 bit signed variable.">s32</a> col)
  85. <a name="l00071"></a>00071 {
  86. <a name="l00072"></a>00072 <span class="preprocessor">#if defined ( USE_MATRIX_TEST )</span>
  87. <a name="l00073"></a>00073 <span class="preprocessor"></span> definitelyIdentityMatrix=<span class="keyword">false</span>;
  88. <a name="l00074"></a>00074 <span class="preprocessor">#endif</span>
  89. <a name="l00075"></a>00075 <span class="preprocessor"></span> <span class="keywordflow">return</span> M[ row * 4 + col ];
  90. <a name="l00076"></a>00076 }
  91. <a name="l00077"></a>00077
  92. <a name="l00079"></a><a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a370e3a1ed88e95011125d09943b50e3b">00079</a> <span class="keyword">const</span> T&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a370e3a1ed88e95011125d09943b50e3b" title="Simple operator for directly accessing every element of the matrix.">operator()</a>(<span class="keyword">const</span> <a class="code" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6" title="32 bit signed variable.">s32</a> row, <span class="keyword">const</span> <a class="code" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6" title="32 bit signed variable.">s32</a> col)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> M[row * 4 + col]; }
  93. <a name="l00080"></a>00080
  94. <a name="l00082"></a><a class="code" href="classirr_1_1core_1_1_c_matrix4.html#aead4909f8bb2ab40875af175caf0085f">00082</a> T&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#aead4909f8bb2ab40875af175caf0085f" title="Simple operator for linearly accessing every element of the matrix.">operator[]</a>(<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> index)
  95. <a name="l00083"></a>00083 {
  96. <a name="l00084"></a>00084 <span class="preprocessor">#if defined ( USE_MATRIX_TEST )</span>
  97. <a name="l00085"></a>00085 <span class="preprocessor"></span> definitelyIdentityMatrix=<span class="keyword">false</span>;
  98. <a name="l00086"></a>00086 <span class="preprocessor">#endif</span>
  99. <a name="l00087"></a>00087 <span class="preprocessor"></span> <span class="keywordflow">return</span> M[index];
  100. <a name="l00088"></a>00088 }
  101. <a name="l00089"></a>00089
  102. <a name="l00091"></a><a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a1c7a81521e81280c31b8ae3397d1fffe">00091</a> <span class="keyword">const</span> T&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a1c7a81521e81280c31b8ae3397d1fffe" title="Simple operator for linearly accessing every element of the matrix.">operator[]</a>(<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> index)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> M[index]; }
  103. <a name="l00092"></a>00092
  104. <a name="l00094"></a>00094 <span class="keyword">inline</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a47571eb3acae9a6aa330a03edcea7896" title="Sets this matrix equal to the other matrix.">operator=</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a> &amp;other);
  105. <a name="l00095"></a>00095
  106. <a name="l00097"></a>00097 <span class="keyword">inline</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a47571eb3acae9a6aa330a03edcea7896" title="Sets this matrix equal to the other matrix.">operator=</a>(<span class="keyword">const</span> T&amp; scalar);
  107. <a name="l00098"></a>00098
  108. <a name="l00100"></a><a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a11a3ffa3eb0987030e7a8758dee8965a">00100</a> <span class="keyword">const</span> T* <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a11a3ffa3eb0987030e7a8758dee8965a" title="Returns pointer to internal array.">pointer</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> M; }
  109. <a name="l00101"></a><a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a2d9b231425d1b8abddb9e1e997fbf2ea">00101</a> T* <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a11a3ffa3eb0987030e7a8758dee8965a" title="Returns pointer to internal array.">pointer</a>()
  110. <a name="l00102"></a>00102 {
  111. <a name="l00103"></a>00103 <span class="preprocessor">#if defined ( USE_MATRIX_TEST )</span>
  112. <a name="l00104"></a>00104 <span class="preprocessor"></span> definitelyIdentityMatrix=<span class="keyword">false</span>;
  113. <a name="l00105"></a>00105 <span class="preprocessor">#endif</span>
  114. <a name="l00106"></a>00106 <span class="preprocessor"></span> <span class="keywordflow">return</span> M;
  115. <a name="l00107"></a>00107 }
  116. <a name="l00108"></a>00108
  117. <a name="l00110"></a>00110 <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a81029252a2a83ef4647f5d8a02cf62b5" title="Returns true if other matrix is equal to this matrix.">operator==</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a> &amp;other) <span class="keyword">const</span>;
  118. <a name="l00111"></a>00111
  119. <a name="l00113"></a>00113 <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a99b4c127f31033b5f7314b98164b99ed" title="Returns true if other matrix is not equal to this matrix.">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a> &amp;other) <span class="keyword">const</span>;
  120. <a name="l00114"></a>00114
  121. <a name="l00116"></a>00116 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#ac2192a7d9dd89dcd23fe2f9ded3252bf" title="Add another matrix.">operator+</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; other) <span class="keyword">const</span>;
  122. <a name="l00117"></a>00117
  123. <a name="l00119"></a>00119 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#af91c5be0562ce4be3f8feedd3d017ba1" title="Add another matrix.">operator+=</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; other);
  124. <a name="l00120"></a>00120
  125. <a name="l00122"></a>00122 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#aee45563e7f9fdf3d4ef7f5a9d63d87c0" title="Subtract another matrix.">operator-</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; other) <span class="keyword">const</span>;
  126. <a name="l00123"></a>00123
  127. <a name="l00125"></a>00125 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a24eb7faa1418765ba87d3f02f27d643f" title="Subtract another matrix.">operator-=</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; other);
  128. <a name="l00126"></a>00126
  129. <a name="l00128"></a>00128 <span class="keyword">inline</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a8503c58913ba9407ba00b173d8a3e25c" title="set this matrix to the product of two matrices">setbyproduct</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; other_a,<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; other_b );
  130. <a name="l00129"></a>00129
  131. <a name="l00131"></a>00131
  132. <a name="l00133"></a>00133 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a526a2a11dcd8b18c9e77deb84094778d" title="Set this matrix to the product of two matrices.">setbyproduct_nocheck</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; other_a,<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; other_b );
  133. <a name="l00134"></a>00134
  134. <a name="l00136"></a>00136 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a4173ab9beecf99940ba2eb01081f1613" title="Multiply by another matrix.">operator*</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; other) <span class="keyword">const</span>;
  135. <a name="l00137"></a>00137
  136. <a name="l00139"></a>00139 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#ac3d29f86c91d9d095ab155ecb8870f87" title="Multiply by another matrix.">operator*=</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; other);
  137. <a name="l00140"></a>00140
  138. <a name="l00142"></a>00142 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a4173ab9beecf99940ba2eb01081f1613" title="Multiply by another matrix.">operator*</a>(<span class="keyword">const</span> T&amp; scalar) <span class="keyword">const</span>;
  139. <a name="l00143"></a>00143
  140. <a name="l00145"></a>00145 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#ac3d29f86c91d9d095ab155ecb8870f87" title="Multiply by another matrix.">operator*=</a>(<span class="keyword">const</span> T&amp; scalar);
  141. <a name="l00146"></a>00146
  142. <a name="l00148"></a>00148 <span class="keyword">inline</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a45f876ed1aed2c3c98b87fee6d938604" title="Set matrix to identity.">makeIdentity</a>();
  143. <a name="l00149"></a>00149
  144. <a name="l00151"></a>00151 <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a24e7bc5d302f6c0cb11bad0771a40826" title="Returns true if the matrix is the identity matrix.">isIdentity</a>() <span class="keyword">const</span>;
  145. <a name="l00152"></a>00152
  146. <a name="l00154"></a>00154 <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#afc4fe0bdfb771b15eff91264c0ed37f9" title="Returns true if the matrix is orthogonal.">isOrthogonal</a>() <span class="keyword">const</span>;
  147. <a name="l00155"></a>00155
  148. <a name="l00157"></a>00157 <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#ab4b515a697bb3749a8e1dd9fc31342bd" title="Returns true if the matrix is the identity matrix.">isIdentity_integer_base</a> () <span class="keyword">const</span>;
  149. <a name="l00158"></a>00158
  150. <a name="l00160"></a>00160 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#ac04a3b341cbfbb7986be682691655622" title="Set the translation of the current matrix. Will erase any previous values.">setTranslation</a>( <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html" title="3d vector template class with lots of operators and methods.">vector3d&lt;T&gt;</a>&amp; translation );
  151. <a name="l00161"></a>00161
  152. <a name="l00163"></a>00163 <a class="code" href="classirr_1_1core_1_1vector3d.html" title="3d vector template class with lots of operators and methods.">vector3d&lt;T&gt;</a> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#aec84b278e87611352b75298238e54006" title="Gets the current translation.">getTranslation</a>() <span class="keyword">const</span>;
  153. <a name="l00164"></a>00164
  154. <a name="l00166"></a>00166 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a258e103fcb6ce1564978624280ecb7fe" title="Set the inverse translation of the current matrix. Will erase any previous values...">setInverseTranslation</a>( <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html" title="3d vector template class with lots of operators and methods.">vector3d&lt;T&gt;</a>&amp; translation );
  155. <a name="l00167"></a>00167
  156. <a name="l00169"></a>00169 <span class="keyword">inline</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a05aac7bd2e7651369fc813a51258afbe" title="Make a rotation matrix from Euler angles. The 4th row and column are unmodified.">setRotationRadians</a>( <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html" title="3d vector template class with lots of operators and methods.">vector3d&lt;T&gt;</a>&amp; rotation );
  157. <a name="l00170"></a>00170
  158. <a name="l00172"></a>00172 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a8ee5ef8619d4b0f56d72ac84495ed644" title="Make a rotation matrix from Euler angles. The 4th row and column are unmodified.">setRotationDegrees</a>( <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html" title="3d vector template class with lots of operators and methods.">vector3d&lt;T&gt;</a>&amp; rotation );
  159. <a name="l00173"></a>00173
  160. <a name="l00175"></a>00175
  161. <a name="l00176"></a>00176 <a class="code" href="classirr_1_1core_1_1vector3d.html" title="3d vector template class with lots of operators and methods.">core::vector3d&lt;T&gt;</a> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#aa348817a724b49816da5c181ba672e1d" title="Returns the rotation, as set by setRotation().">getRotationDegrees</a>() <span class="keyword">const</span>;
  162. <a name="l00177"></a>00177
  163. <a name="l00179"></a>00179
  164. <a name="l00180"></a>00180 <span class="keyword">inline</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a1a15d7b55769678512144f0fb7e15a92" title="Make an inverted rotation matrix from Euler angles.">setInverseRotationRadians</a>( <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html" title="3d vector template class with lots of operators and methods.">vector3d&lt;T&gt;</a>&amp; rotation );
  165. <a name="l00181"></a>00181
  166. <a name="l00183"></a>00183
  167. <a name="l00184"></a>00184 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#afd84b9c93b4c8e9dc2abefa4a28057f9" title="Make an inverted rotation matrix from Euler angles.">setInverseRotationDegrees</a>( <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html" title="3d vector template class with lots of operators and methods.">vector3d&lt;T&gt;</a>&amp; rotation );
  168. <a name="l00185"></a>00185
  169. <a name="l00187"></a>00187 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a47117d44419af87e70084c01ab852049" title="Set Scale.">setScale</a>( <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html" title="3d vector template class with lots of operators and methods.">vector3d&lt;T&gt;</a>&amp; scale );
  170. <a name="l00188"></a>00188
  171. <a name="l00190"></a><a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a18af980e2bc3575f60576b6d4b4cc0f3">00190</a> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a18af980e2bc3575f60576b6d4b4cc0f3" title="Set Scale.">setScale</a>( <span class="keyword">const</span> T scale ) { <span class="keywordflow">return</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a18af980e2bc3575f60576b6d4b4cc0f3" title="Set Scale.">setScale</a>(<a class="code" href="classirr_1_1core_1_1vector3d.html" title="3d vector template class with lots of operators and methods.">core::vector3d&lt;T&gt;</a>(scale,scale,scale)); }
  172. <a name="l00191"></a>00191
  173. <a name="l00193"></a>00193 <a class="code" href="classirr_1_1core_1_1vector3d.html" title="3d vector template class with lots of operators and methods.">core::vector3d&lt;T&gt;</a> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#aa29f46680cea92b6d38886d1e9759cdd" title="Get Scale.">getScale</a>() <span class="keyword">const</span>;
  174. <a name="l00194"></a>00194
  175. <a name="l00196"></a>00196 <span class="keywordtype">void</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a83bf069639e0538f047041ae51042907" title="Translate a vector by the inverse of the translation part of this matrix.">inverseTranslateVect</a>( <a class="code" href="classirr_1_1core_1_1vector3d.html">vector3df</a>&amp; vect ) <span class="keyword">const</span>;
  176. <a name="l00197"></a>00197
  177. <a name="l00199"></a>00199 <span class="keywordtype">void</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a7996bee0d3056d6647dc9cc840ed0ad8" title="Rotate a vector by the inverse of the rotation part of this matrix.">inverseRotateVect</a>( <a class="code" href="classirr_1_1core_1_1vector3d.html">vector3df</a>&amp; vect ) <span class="keyword">const</span>;
  178. <a name="l00200"></a>00200
  179. <a name="l00202"></a>00202 <span class="keywordtype">void</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a8abcfbf972b19946c3022db380c6d153" title="Rotate a vector by the rotation part of this matrix.">rotateVect</a>( <a class="code" href="classirr_1_1core_1_1vector3d.html">vector3df</a>&amp; vect ) <span class="keyword">const</span>;
  180. <a name="l00203"></a>00203
  181. <a name="l00205"></a>00205 <span class="keywordtype">void</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a8abcfbf972b19946c3022db380c6d153" title="Rotate a vector by the rotation part of this matrix.">rotateVect</a>(<a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>&amp; out, <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>&amp; in) <span class="keyword">const</span>;
  182. <a name="l00206"></a>00206
  183. <a name="l00208"></a>00208 <span class="keywordtype">void</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a8abcfbf972b19946c3022db380c6d153" title="Rotate a vector by the rotation part of this matrix.">rotateVect</a>(T *out,<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;in) <span class="keyword">const</span>;
  184. <a name="l00209"></a>00209
  185. <a name="l00211"></a>00211 <span class="keywordtype">void</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#aa6bb8b39114749d70e51bd1b90bce0a1" title="Transforms the vector by this matrix.">transformVect</a>( <a class="code" href="classirr_1_1core_1_1vector3d.html">vector3df</a>&amp; vect) <span class="keyword">const</span>;
  186. <a name="l00212"></a>00212
  187. <a name="l00214"></a>00214 <span class="keywordtype">void</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#aa6bb8b39114749d70e51bd1b90bce0a1" title="Transforms the vector by this matrix.">transformVect</a>( <a class="code" href="classirr_1_1core_1_1vector3d.html">vector3df</a>&amp; out, <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">vector3df</a>&amp; in ) <span class="keyword">const</span>;
  188. <a name="l00215"></a>00215
  189. <a name="l00217"></a>00217 <span class="keywordtype">void</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#aa6bb8b39114749d70e51bd1b90bce0a1" title="Transforms the vector by this matrix.">transformVect</a>(T *out,<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;in) <span class="keyword">const</span>;
  190. <a name="l00218"></a>00218
  191. <a name="l00220"></a>00220 <span class="keywordtype">void</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a587cb77fd7de7a13771c96a90c4f3de0" title="Translate a vector by the translation part of this matrix.">translateVect</a>( <a class="code" href="classirr_1_1core_1_1vector3d.html">vector3df</a>&amp; vect ) <span class="keyword">const</span>;
  192. <a name="l00221"></a>00221
  193. <a name="l00223"></a>00223 <span class="keywordtype">void</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#ac4f0d4156d573d8b73eb51dce76e094e" title="Transforms a plane by this matrix.">transformPlane</a>( <a class="code" href="classirr_1_1core_1_1plane3d.html">core::plane3d&lt;f32&gt;</a> &amp;plane) <span class="keyword">const</span>;
  194. <a name="l00224"></a>00224
  195. <a name="l00226"></a>00226 <span class="keywordtype">void</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#ac4f0d4156d573d8b73eb51dce76e094e" title="Transforms a plane by this matrix.">transformPlane</a>( <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1plane3d.html">core::plane3d&lt;f32&gt;</a> &amp;in, <a class="code" href="classirr_1_1core_1_1plane3d.html">core::plane3d&lt;f32&gt;</a> &amp;out) <span class="keyword">const</span>;
  196. <a name="l00227"></a>00227
  197. <a name="l00229"></a>00229
  198. <a name="l00231"></a>00231 <span class="keywordtype">void</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#ac12468d698fbf6cd545e8b3fbf2a0042" title="Transforms a axis aligned bounding box.">transformBox</a>(<a class="code" href="classirr_1_1core_1_1aabbox3d.html">core::aabbox3d&lt;f32&gt;</a>&amp; box) <span class="keyword">const</span>;
  199. <a name="l00232"></a>00232
  200. <a name="l00234"></a>00234
  201. <a name="l00236"></a>00236 <span class="keywordtype">void</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a87451aea9c07b71d1a8b6091b8cefa63" title="Transforms a axis aligned bounding box.">transformBoxEx</a>(<a class="code" href="classirr_1_1core_1_1aabbox3d.html">core::aabbox3d&lt;f32&gt;</a>&amp; box) <span class="keyword">const</span>;
  202. <a name="l00237"></a>00237
  203. <a name="l00239"></a>00239 <span class="keywordtype">void</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a1e1f04cdf57dc76be2875427498a0d62" title="Multiplies this matrix by a 1x4 matrix.">multiplyWith1x4Matrix</a>(T* matrix) <span class="keyword">const</span>;
  204. <a name="l00240"></a>00240
  205. <a name="l00242"></a>00242
  206. <a name="l00243"></a>00243 <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a3fbface2cb6b959af64f82a5bb17540e" title="Calculates inverse of matrix. Slow.">makeInverse</a>();
  207. <a name="l00244"></a>00244
  208. <a name="l00245"></a>00245
  209. <a name="l00247"></a>00247
  210. <a name="l00248"></a>00248 <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#af8c024c494998296fc7ed63603d7cb62" title="Inverts a primitive matrix which only contains a translation and a rotation.">getInversePrimitive</a> ( <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; out ) <span class="keyword">const</span>;
  211. <a name="l00249"></a>00249
  212. <a name="l00251"></a>00251
  213. <a name="l00253"></a>00253 <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a33c110cd75fdddb840a990ab52f10900" title="Gets the inversed matrix of this one.">getInverse</a>(<a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; out) <span class="keyword">const</span>;
  214. <a name="l00254"></a>00254
  215. <a name="l00256"></a>00256 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a5bea6c6f5479720841cea61651e35879" title="Builds a right-handed perspective projection matrix based on a field of view.">buildProjectionMatrixPerspectiveFovRH</a>(<a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> fieldOfViewRadians, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> aspectRatio, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> zNear, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> zFar);
  216. <a name="l00257"></a>00257
  217. <a name="l00259"></a>00259 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a1895b967a8f8c9d7ad90fe5434f2499f" title="Builds a left-handed perspective projection matrix based on a field of view.">buildProjectionMatrixPerspectiveFovLH</a>(<a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> fieldOfViewRadians, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> aspectRatio, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> zNear, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> zFar);
  218. <a name="l00260"></a>00260
  219. <a name="l00262"></a>00262 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a649a29922f622503399bcb16c97b78b4" title="Builds a right-handed perspective projection matrix.">buildProjectionMatrixPerspectiveRH</a>(<a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> widthOfViewVolume, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> heightOfViewVolume, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> zNear, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> zFar);
  220. <a name="l00263"></a>00263
  221. <a name="l00265"></a>00265 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a8306f02451b06f8e6710f23631654086" title="Builds a left-handed perspective projection matrix.">buildProjectionMatrixPerspectiveLH</a>(<a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> widthOfViewVolume, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> heightOfViewVolume, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> zNear, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> zFar);
  222. <a name="l00266"></a>00266
  223. <a name="l00268"></a>00268 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#ae4a0618e2da724a26a5d8a201a63d8a5" title="Builds a left-handed orthogonal projection matrix.">buildProjectionMatrixOrthoLH</a>(<a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> widthOfViewVolume, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> heightOfViewVolume, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> zNear, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> zFar);
  224. <a name="l00269"></a>00269
  225. <a name="l00271"></a>00271 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#ae7a837a3b2d86bfc830d25c6144b7a46" title="Builds a right-handed orthogonal projection matrix.">buildProjectionMatrixOrthoRH</a>(<a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> widthOfViewVolume, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> heightOfViewVolume, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> zNear, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> zFar);
  226. <a name="l00272"></a>00272
  227. <a name="l00274"></a>00274 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a78e15297c806006898df58498755ecd4" title="Builds a left-handed look-at matrix.">buildCameraLookAtMatrixLH</a>(
  228. <a name="l00275"></a>00275 <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">vector3df</a>&amp; position,
  229. <a name="l00276"></a>00276 <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">vector3df</a>&amp; target,
  230. <a name="l00277"></a>00277 <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">vector3df</a>&amp; upVector);
  231. <a name="l00278"></a>00278
  232. <a name="l00280"></a>00280 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a62ebd6002a5018c1096ac368f6be271a" title="Builds a right-handed look-at matrix.">buildCameraLookAtMatrixRH</a>(
  233. <a name="l00281"></a>00281 <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">vector3df</a>&amp; position,
  234. <a name="l00282"></a>00282 <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">vector3df</a>&amp; target,
  235. <a name="l00283"></a>00283 <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">vector3df</a>&amp; upVector);
  236. <a name="l00284"></a>00284
  237. <a name="l00286"></a>00286
  238. <a name="l00290"></a>00290 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a583d0ece1d80f69101660e1cbe441768" title="Builds a matrix that flattens geometry into a plane.">buildShadowMatrix</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>&amp; light, <a class="code" href="classirr_1_1core_1_1plane3d.html">core::plane3df</a> plane, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> point=1.0f);
  239. <a name="l00291"></a>00291
  240. <a name="l00293"></a>00293
  241. <a name="l00294"></a>00294 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a88a7d2f56d4ce637823379de308f673a" title="Builds a matrix which transforms a normalized Device Coordinate to Device Coordinates...">buildNDCToDCMatrix</a>( <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1rect.html">core::rect&lt;s32&gt;</a>&amp; area, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> zScale);
  242. <a name="l00295"></a>00295
  243. <a name="l00297"></a>00297
  244. <a name="l00299"></a>00299 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a0c9ed4a87ab8a1340e075490cd9de309" title="Creates a new matrix as interpolated matrix from two other ones.">interpolate</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">core::CMatrix4&lt;T&gt;</a>&amp; b, <a class="code" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07" title="32 bit floating point variable.">f32</a> time) <span class="keyword">const</span>;
  245. <a name="l00300"></a>00300
  246. <a name="l00302"></a>00302 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a83e8a629180ab12262d2e2cf52c7991b" title="Gets transposed matrix.">getTransposed</a>() <span class="keyword">const</span>;
  247. <a name="l00303"></a>00303
  248. <a name="l00305"></a>00305 <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a83e8a629180ab12262d2e2cf52c7991b" title="Gets transposed matrix.">getTransposed</a>( <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; dest ) <span class="keyword">const</span>;
  249. <a name="l00306"></a>00306
  250. <a name="l00308"></a>00308
  251. <a name="l00311"></a>00311 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">CMatrix4&lt;T&gt;</a>&amp; <a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a4802c6a89ad813e2919f68f512fb320f" title="Buil…

Large files files are truncated, but you can click here to view the full file