1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>transform2.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.8.0 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">transform2.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00091.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00006"></a>00006
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00031"></a>00031
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="preprocessor">#ifndef GLM_GTX_transform2</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define GLM_GTX_transform2 GLM_VERSION</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span>
<a name="l00042"></a>00042 <span class="comment">// Dependency:</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include "../glm.hpp"</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include "../gtx/transform.hpp"</span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#if(defined(GLM_MESSAGES) && !defined(glm_ext))</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor"># pragma message("GLM: GLM_GTX_transform2 extension included")</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>
<a name="l00050"></a>00050 <span class="keyword">namespace </span>glm
<a name="l00051"></a>00051 {
<a name="l00054"></a>00054
<a name="l00057"></a>00057 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
<a name="l00058"></a>00058 detail::tmat3x3<T> <a class="code" href="a00206.html#gadddd52c978f045f5f8dca53495b9ae61" title="Transforms a matrix with a shearing on X axis.">shearX2D</a>(
<a name="l00059"></a>00059 detail::tmat3x3<T> <span class="keyword">const</span> & m,
<a name="l00060"></a>00060 T y);
<a name="l00061"></a>00061
<a name="l00064"></a>00064 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
<a name="l00065"></a>00065 detail::tmat3x3<T> <a class="code" href="a00206.html#gad6911c0aa16802530d2344633074d23c" title="Transforms a matrix with a shearing on Y axis.">shearY2D</a>(
<a name="l00066"></a>00066 detail::tmat3x3<T> <span class="keyword">const</span> & m,
<a name="l00067"></a>00067 T x);
<a name="l00068"></a>00068
<a name="l00071"></a>00071 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
<a name="l00072"></a>00072 detail::tmat4x4<T> <a class="code" href="a00206.html#gada3d1377736da971fd1d33b5749d4dd3" title="Transforms a matrix with a shearing on X axis From GLM_GTX_transform2 extension.">shearX3D</a>(
<a name="l00073"></a>00073 <span class="keyword">const</span> detail::tmat4x4<T> & m,
<a name="l00074"></a>00074 T y,
<a name="l00075"></a>00075 T z);
<a name="l00076"></a>00076
<a name="l00079"></a>00079 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
<a name="l00080"></a>00080 detail::tmat4x4<T> <a class="code" href="a00206.html#ga48f777ba390f40b93c2b0ace7523bbdf" title="Transforms a matrix with a shearing on Y axis.">shearY3D</a>(
<a name="l00081"></a>00081 <span class="keyword">const</span> detail::tmat4x4<T> & m,
<a name="l00082"></a>00082 T x,
<a name="l00083"></a>00083 T z);
<a name="l00084"></a>00084
<a name="l00087"></a>00087 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
<a name="l00088"></a>00088 detail::tmat4x4<T> <a class="code" href="a00206.html#ga9e8ec50d810af7f3da402ef120b37e3f" title="Transforms a matrix with a shearing on Z axis.">shearZ3D</a>(
<a name="l00089"></a>00089 <span class="keyword">const</span> detail::tmat4x4<T> & m,
<a name="l00090"></a>00090 T x,
<a name="l00091"></a>00091 T y);
<a name="l00092"></a>00092
<a name="l00093"></a>00093 <span class="comment">//template <typename T> GLM_FUNC_QUALIFIER detail::tmat4x4<T> shear(const detail::tmat4x4<T> & m, shearPlane, planePoint, angle)</span>
<a name="l00094"></a>00094 <span class="comment">// Identity + tan(angle) * cross(Normal, OnPlaneVector) 0</span>
<a name="l00095"></a>00095 <span class="comment">// - dot(PointOnPlane, normal) * OnPlaneVector 1</span>
<a name="l00096"></a>00096
<a name="l00097"></a>00097 <span class="comment">// Reflect functions seem to don't work</span>
<a name="l00098"></a>00098 <span class="comment">//template <typename T> detail::tmat3x3<T> reflect2D(const detail::tmat3x3<T> & m, const detail::tvec3<T>& normal){return reflect2DGTX(m, normal);} //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension)</span>
<a name="l00099"></a>00099 <span class="comment">//template <typename T> detail::tmat4x4<T> reflect3D(const detail::tmat4x4<T> & m, const detail::tvec3<T>& normal){return reflect3DGTX(m, normal);} //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension)</span>
<a name="l00100"></a>00100
<a name="l00103"></a>00103 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
<a name="l00104"></a>00104 detail::tmat3x3<T> <a class="code" href="a00206.html#ga63ac40786b580f12561cd69df85b62ab" title="Build planar projection matrix along normal axis.">proj2D</a>(
<a name="l00105"></a>00105 <span class="keyword">const</span> detail::tmat3x3<T> & m,
<a name="l00106"></a>00106 <span class="keyword">const</span> detail::tvec3<T>& normal);
<a name="l00107"></a>00107
<a name="l00110"></a>00110 <span class="keyword">template</span> <<span class="keyword">typename</span> T>
<a name="l00111"></a>00111 detail::tmat4x4<T> <a class="code" href="a00206.html#gadd9c5431c89ba697f0fa0332c171a71e" title="Build planar projection matrix along normal axis.">proj3D</a>(
<a name="l00112"></a>00112 <span class="keyword">const</span> detail::tmat4x4<T> & m,
<a name="l00113"></a>00113 <span class="keyword">const</span> detail::tvec3<T>& normal);
<a name="l00114"></a>00114
<a name="l00117"></a>00117 <span class="keyword">template</span> <<span class="keyword">typename</span> valType>
<a name="l00118"></a>00118 detail::tmat4x4<valType> <a class="code" href="a00206.html#ga22a8d41efc320bcdee0ed09bad45f596" title="Build a scale bias matrix.">scaleBias</a>(
<a name="l00119"></a>00119 valType <a class="code" href="a00147.html#ga223e08009f1cab54651200b81e91981c" title="Builds a scale 4 * 4 matrix created from 3 scalars.">scale</a>,
<a name="l00120"></a>00120 valType bias);
<a name="l00121"></a>00121
<a name="l00124"></a>00124 <span class="keyword">template</span> <<span class="keyword">typename</span> valType>
<a name="l00125"></a>00125 detail::tmat4x4<valType> <a class="code" href="a00206.html#ga22a8d41efc320bcdee0ed09bad45f596" title="Build a scale bias matrix.">scaleBias</a>(
<a name="l00126"></a>00126 detail::tmat4x4<valType> <span class="keyword">const</span> & m,
<a name="l00127"></a>00127 valType <a class="code" href="a00147.html#ga223e08009f1cab54651200b81e91981c" title="Builds a scale 4 * 4 matrix created from 3 scalars.">scale</a>,
<a name="l00128"></a>00128 valType bias);
<a name="l00129"></a>00129
<a name="l00131"></a>00131 }<span class="comment">// namespace glm</span>
<a name="l00132"></a>00132
<a name="l00133"></a>00133 <span class="preprocessor">#include "transform2.inl"</span>
<a name="l00134"></a>00134
<a name="l00135"></a>00135 <span class="preprocessor">#endif//GLM_GTX_transform2</span>
</pre></div></div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.0
</small></address>
</body>
</html>
|