glm/doc/api-0.9.2/a00258.html

477 lines
21 KiB
HTML
Raw Normal View History

2011-10-24 14:24:48 +00:00
<!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"/>
<title>GLM_GTX_euler_angles: Matrix from euler angles</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<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>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">GLM_GTX_euler_angles: Matrix from euler angles</div> </div>
<div class="ingroups"><a class="el" href="a00248.html">GTX Extensions (Experimental)</a></div></div>
<div class="contents">
<p>Build matrices from Euler angles.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename valType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; valType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00258.html#ga383b615b7c516d129d8a569caeb02e60">eulerAngleX</a> (valType const &amp;angleX)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename valType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; valType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00258.html#gab31953fcb1febf66c095f80928c11880">eulerAngleXY</a> (valType const &amp;angleX, valType const &amp;angleY)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename valType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; valType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00258.html#gaacdf1305fa3190de23ebff5f717d5b1a">eulerAngleXZ</a> (valType const &amp;angleX, valType const &amp;angleZ)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename valType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; valType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00258.html#ga19efbeee8e1e51be3424fad187aada03">eulerAngleY</a> (valType const &amp;angleY)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename valType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; valType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00258.html#gac7eb231dc5b6519dcd1e28f8662d0db6">eulerAngleYX</a> (valType const &amp;angleY, valType const &amp;angleX)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename valType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; valType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00258.html#ga9a1c23259481176631e5910b8a294c0c">eulerAngleYXZ</a> (valType const &amp;yaw, valType const &amp;pitch, valType const &amp;roll)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename valType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; valType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00258.html#gac528b349b40a8c1d1b34c4a17221bb48">eulerAngleYZ</a> (valType const &amp;angleY, valType const &amp;angleZ)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename valType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; valType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00258.html#ga950aebf621ca275949b90845a1e76d79">eulerAngleZ</a> (valType const &amp;angleZ)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename valType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; valType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00258.html#ga5afd9174575eab4105c9e3c07a9f68f7">eulerAngleZX</a> (valType const &amp;angleZ, valType const &amp;angleX)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename valType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; valType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00258.html#gade7193b3d889285671cdfafd62339a87">eulerAngleZY</a> (valType const &amp;angleZ, valType const &amp;angleY)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat2x2&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00258.html#ga6b666a8d6dede8301520d023d0e96470">orientate2</a> (T const &amp;angle)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat3x3&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00258.html#ga765fa54166b360a715735a67cbea28c0">orientate3</a> (detail::tvec3&lt; T &gt; const &amp;angles)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat3x3&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00258.html#gaabc9340ff9d773e8117f2bed0b1bcacd">orientate3</a> (T const &amp;angle)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00258.html#gac9b9ee10382d273e6f2497f0c34ba125">orientate4</a> (detail::tvec3&lt; T &gt; const &amp;angles)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename valType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::tmat4x4&lt; valType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00258.html#gab21847188e03d21037f895642252dcc7">yawPitchRoll</a> (valType const &amp;yaw, valType const &amp;pitch, valType const &amp;roll)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Build matrices from Euler angles. </p>
<p>&lt;<a class="el" href="a00036_source.html">glm/gtx/euler_angles.hpp</a>&gt; need to be included to use these functionalities. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga383b615b7c516d129d8a569caeb02e60"></a><!-- doxytag: member="glm::gtx::euler_angles::eulerAngleX" ref="ga383b615b7c516d129d8a569caeb02e60" args="(valType const &amp;angleX)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;valType&gt; glm::gtx::euler_angles::eulerAngleX </td>
<td>(</td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>angleX</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X. </p>
<p>From GLM_GTX_euler_angles extension. </p>
</div>
</div>
<a class="anchor" id="gab31953fcb1febf66c095f80928c11880"></a><!-- doxytag: member="glm::gtx::euler_angles::eulerAngleXY" ref="gab31953fcb1febf66c095f80928c11880" args="(valType const &amp;angleX, valType const &amp;angleY)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;valType&gt; glm::gtx::euler_angles::eulerAngleXY </td>
<td>(</td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>angleX</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>angleY</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y). </p>
<p>From GLM_GTX_euler_angles extension. </p>
</div>
</div>
<a class="anchor" id="gaacdf1305fa3190de23ebff5f717d5b1a"></a><!-- doxytag: member="glm::gtx::euler_angles::eulerAngleXZ" ref="gaacdf1305fa3190de23ebff5f717d5b1a" args="(valType const &amp;angleX, valType const &amp;angleZ)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;valType&gt; glm::gtx::euler_angles::eulerAngleXZ </td>
<td>(</td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>angleX</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>angleZ</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z). </p>
<p>From GLM_GTX_euler_angles extension. </p>
</div>
</div>
<a class="anchor" id="ga19efbeee8e1e51be3424fad187aada03"></a><!-- doxytag: member="glm::gtx::euler_angles::eulerAngleY" ref="ga19efbeee8e1e51be3424fad187aada03" args="(valType const &amp;angleY)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;valType&gt; glm::gtx::euler_angles::eulerAngleY </td>
<td>(</td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>angleY</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y. </p>
<p>From GLM_GTX_euler_angles extension. </p>
</div>
</div>
<a class="anchor" id="gac7eb231dc5b6519dcd1e28f8662d0db6"></a><!-- doxytag: member="glm::gtx::euler_angles::eulerAngleYX" ref="gac7eb231dc5b6519dcd1e28f8662d0db6" args="(valType const &amp;angleY, valType const &amp;angleX)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;valType&gt; glm::gtx::euler_angles::eulerAngleYX </td>
<td>(</td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>angleY</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>angleX</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X). </p>
<p>From GLM_GTX_euler_angles extension. </p>
</div>
</div>
<a class="anchor" id="ga9a1c23259481176631e5910b8a294c0c"></a><!-- doxytag: member="glm::gtx::euler_angles::eulerAngleYXZ" ref="ga9a1c23259481176631e5910b8a294c0c" args="(valType const &amp;yaw, valType const &amp;pitch, valType const &amp;roll)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;valType&gt; glm::gtx::euler_angles::eulerAngleYXZ </td>
<td>(</td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>yaw</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>pitch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>roll</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). </p>
<p>From GLM_GTX_euler_angles extension. </p>
</div>
</div>
<a class="anchor" id="gac528b349b40a8c1d1b34c4a17221bb48"></a><!-- doxytag: member="glm::gtx::euler_angles::eulerAngleYZ" ref="gac528b349b40a8c1d1b34c4a17221bb48" args="(valType const &amp;angleY, valType const &amp;angleZ)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;valType&gt; glm::gtx::euler_angles::eulerAngleYZ </td>
<td>(</td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>angleY</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>angleZ</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z). </p>
<p>From GLM_GTX_euler_angles extension. </p>
</div>
</div>
<a class="anchor" id="ga950aebf621ca275949b90845a1e76d79"></a><!-- doxytag: member="glm::gtx::euler_angles::eulerAngleZ" ref="ga950aebf621ca275949b90845a1e76d79" args="(valType const &amp;angleZ)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;valType&gt; glm::gtx::euler_angles::eulerAngleZ </td>
<td>(</td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>angleZ</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z. </p>
<p>From GLM_GTX_euler_angles extension. </p>
</div>
</div>
<a class="anchor" id="ga5afd9174575eab4105c9e3c07a9f68f7"></a><!-- doxytag: member="glm::gtx::euler_angles::eulerAngleZX" ref="ga5afd9174575eab4105c9e3c07a9f68f7" args="(valType const &amp;angleZ, valType const &amp;angleX)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;valType&gt; glm::gtx::euler_angles::eulerAngleZX </td>
<td>(</td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>angleZ</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>angleX</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X). </p>
<p>From GLM_GTX_euler_angles extension. </p>
</div>
</div>
<a class="anchor" id="gade7193b3d889285671cdfafd62339a87"></a><!-- doxytag: member="glm::gtx::euler_angles::eulerAngleZY" ref="gade7193b3d889285671cdfafd62339a87" args="(valType const &amp;angleZ, valType const &amp;angleY)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;valType&gt; glm::gtx::euler_angles::eulerAngleZY </td>
<td>(</td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>angleZ</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>angleY</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y). </p>
<p>From GLM_GTX_euler_angles extension. </p>
</div>
</div>
<a class="anchor" id="ga6b666a8d6dede8301520d023d0e96470"></a><!-- doxytag: member="glm::gtx::euler_angles::orientate2" ref="ga6b666a8d6dede8301520d023d0e96470" args="(T const &amp;angle)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat2x2&lt;T&gt; glm::gtx::euler_angles::orientate2 </td>
<td>(</td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>angle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a 2D 2 * 2 rotation matrix from an euler angle. </p>
<p>From GLM_GTX_euler_angles extension. </p>
</div>
</div>
<a class="anchor" id="ga765fa54166b360a715735a67cbea28c0"></a><!-- doxytag: member="glm::gtx::euler_angles::orientate3" ref="ga765fa54166b360a715735a67cbea28c0" args="(detail::tvec3&lt; T &gt; const &amp;angles)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat3x3&lt;T&gt; glm::gtx::euler_angles::orientate3 </td>
<td>(</td>
<td class="paramtype">detail::tvec3&lt; T &gt; const &amp;&#160;</td>
<td class="paramname"><em>angles</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z). </p>
<p>From GLM_GTX_euler_angles extension. </p>
</div>
</div>
<a class="anchor" id="gaabc9340ff9d773e8117f2bed0b1bcacd"></a><!-- doxytag: member="glm::gtx::euler_angles::orientate3" ref="gaabc9340ff9d773e8117f2bed0b1bcacd" args="(T const &amp;angle)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat3x3&lt;T&gt; glm::gtx::euler_angles::orientate3 </td>
<td>(</td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>angle</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle. </p>
<p>From GLM_GTX_euler_angles extension. </p>
</div>
</div>
<a class="anchor" id="gac9b9ee10382d273e6f2497f0c34ba125"></a><!-- doxytag: member="glm::gtx::euler_angles::orientate4" ref="gac9b9ee10382d273e6f2497f0c34ba125" args="(detail::tvec3&lt; T &gt; const &amp;angles)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;T&gt; glm::gtx::euler_angles::orientate4 </td>
<td>(</td>
<td class="paramtype">detail::tvec3&lt; T &gt; const &amp;&#160;</td>
<td class="paramname"><em>angles</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). </p>
<p>From GLM_GTX_euler_angles extension. </p>
</div>
</div>
<a class="anchor" id="gab21847188e03d21037f895642252dcc7"></a><!-- doxytag: member="glm::gtx::euler_angles::yawPitchRoll" ref="gab21847188e03d21037f895642252dcc7" args="(valType const &amp;yaw, valType const &amp;pitch, valType const &amp;roll)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::tmat4x4&lt;valType&gt; glm::gtx::euler_angles::yawPitchRoll </td>
<td>(</td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>yaw</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>pitch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">valType const &amp;&#160;</td>
<td class="paramname"><em>roll</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). </p>
<p>From GLM_GTX_euler_angles extension. </p>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>