mirror of
https://github.com/g-truc/glm.git
synced 2024-11-10 04:31:47 +00:00
189 lines
20 KiB
HTML
189 lines
20 KiB
HTML
<!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"/>
|
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
|
<title>0.9.9 API documenation: dual_quaternion.hpp File Reference</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<script type="text/javascript">
|
|
$(document).ready(function() { init_search(); });
|
|
</script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">0.9.9 API documenation
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.10 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
</script>
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
|
<li>
|
|
<div id="MSearchBox" class="MSearchBoxInactive">
|
|
<span class="left">
|
|
<img id="MSearchSelect" src="search/mag_sel.png"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
alt=""/>
|
|
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
|
onfocus="searchBox.OnSearchFieldFocus(true)"
|
|
onblur="searchBox.OnSearchFieldFocus(false)"
|
|
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
|
</span><span class="right">
|
|
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
|
</span>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="navrow2" class="tabs2">
|
|
<ul class="tablist">
|
|
<li><a href="files.html"><span>File List</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#typedef-members">Typedefs</a> |
|
|
<a href="#func-members">Functions</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">dual_quaternion.hpp File Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p><a class="el" href="a00189.html">GLM_GTX_dual_quaternion</a>
|
|
<a href="#details">More...</a></p>
|
|
|
|
<p><a href="a00020_source.html">Go to the source code of this file.</a></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
|
|
Typedefs</h2></td></tr>
|
|
<tr class="memitem:ga3d71f98d84ba59dfe4e369fde4714cd6"><td class="memItemLeft" align="right" valign="top">typedef highp_ddualquat </td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#ga3d71f98d84ba59dfe4e369fde4714cd6">ddualquat</a></td></tr>
|
|
<tr class="memdesc:ga3d71f98d84ba59dfe4e369fde4714cd6"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of default double-precision floating-point numbers. <a href="a00189.html#ga3d71f98d84ba59dfe4e369fde4714cd6">More...</a><br /></td></tr>
|
|
<tr class="separator:ga3d71f98d84ba59dfe4e369fde4714cd6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gae93abee0c979902fbec6a7bee0f6fae1"><td class="memItemLeft" align="right" valign="top">typedef highp_fdualquat </td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#gae93abee0c979902fbec6a7bee0f6fae1">dualquat</a></td></tr>
|
|
<tr class="memdesc:gae93abee0c979902fbec6a7bee0f6fae1"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of floating-point numbers. <a href="a00189.html#gae93abee0c979902fbec6a7bee0f6fae1">More...</a><br /></td></tr>
|
|
<tr class="separator:gae93abee0c979902fbec6a7bee0f6fae1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga237c2b9b42c9a930e49de5840ae0f930"><td class="memItemLeft" align="right" valign="top">typedef highp_fdualquat </td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#ga237c2b9b42c9a930e49de5840ae0f930">fdualquat</a></td></tr>
|
|
<tr class="memdesc:ga237c2b9b42c9a930e49de5840ae0f930"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of single-precision floating-point numbers. <a href="a00189.html#ga237c2b9b42c9a930e49de5840ae0f930">More...</a><br /></td></tr>
|
|
<tr class="separator:ga237c2b9b42c9a930e49de5840ae0f930"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga8f67eafa7197d7a668dad5105a463d2a"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#ga8f67eafa7197d7a668dad5105a463d2a">highp_ddualquat</a></td></tr>
|
|
<tr class="memdesc:ga8f67eafa7197d7a668dad5105a463d2a"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of high double-precision floating-point numbers. <a href="a00189.html#ga8f67eafa7197d7a668dad5105a463d2a">More...</a><br /></td></tr>
|
|
<tr class="separator:ga8f67eafa7197d7a668dad5105a463d2a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga9ef5bf1da52a9d4932335a517086ceaf"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#ga9ef5bf1da52a9d4932335a517086ceaf">highp_dualquat</a></td></tr>
|
|
<tr class="memdesc:ga9ef5bf1da52a9d4932335a517086ceaf"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of high single-precision floating-point numbers. <a href="a00189.html#ga9ef5bf1da52a9d4932335a517086ceaf">More...</a><br /></td></tr>
|
|
<tr class="separator:ga9ef5bf1da52a9d4932335a517086ceaf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga4c4e55e9c99dc57b299ed590968da564"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#ga4c4e55e9c99dc57b299ed590968da564">highp_fdualquat</a></td></tr>
|
|
<tr class="memdesc:ga4c4e55e9c99dc57b299ed590968da564"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of high single-precision floating-point numbers. <a href="a00189.html#ga4c4e55e9c99dc57b299ed590968da564">More...</a><br /></td></tr>
|
|
<tr class="separator:ga4c4e55e9c99dc57b299ed590968da564"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gab4c5103338af3dac7e0fbc86895a3f1a"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< double, lowp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#gab4c5103338af3dac7e0fbc86895a3f1a">lowp_ddualquat</a></td></tr>
|
|
<tr class="memdesc:gab4c5103338af3dac7e0fbc86895a3f1a"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of low double-precision floating-point numbers. <a href="a00189.html#gab4c5103338af3dac7e0fbc86895a3f1a">More...</a><br /></td></tr>
|
|
<tr class="separator:gab4c5103338af3dac7e0fbc86895a3f1a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gade05d29ebd4deea0f883d0e1bb4169aa"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< float, lowp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#gade05d29ebd4deea0f883d0e1bb4169aa">lowp_dualquat</a></td></tr>
|
|
<tr class="memdesc:gade05d29ebd4deea0f883d0e1bb4169aa"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of low single-precision floating-point numbers. <a href="a00189.html#gade05d29ebd4deea0f883d0e1bb4169aa">More...</a><br /></td></tr>
|
|
<tr class="separator:gade05d29ebd4deea0f883d0e1bb4169aa"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaa38f671be25a7f3b136a452a8bb42860"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< float, lowp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#gaa38f671be25a7f3b136a452a8bb42860">lowp_fdualquat</a></td></tr>
|
|
<tr class="memdesc:gaa38f671be25a7f3b136a452a8bb42860"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of low single-precision floating-point numbers. <a href="a00189.html#gaa38f671be25a7f3b136a452a8bb42860">More...</a><br /></td></tr>
|
|
<tr class="separator:gaa38f671be25a7f3b136a452a8bb42860"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga0fb11e48e2d16348ccb06a25213641b4"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< double, mediump > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#ga0fb11e48e2d16348ccb06a25213641b4">mediump_ddualquat</a></td></tr>
|
|
<tr class="memdesc:ga0fb11e48e2d16348ccb06a25213641b4"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of medium double-precision floating-point numbers. <a href="a00189.html#ga0fb11e48e2d16348ccb06a25213641b4">More...</a><br /></td></tr>
|
|
<tr class="separator:ga0fb11e48e2d16348ccb06a25213641b4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaa7aeb54c167712b38f2178a1be2360ad"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< float, mediump > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#gaa7aeb54c167712b38f2178a1be2360ad">mediump_dualquat</a></td></tr>
|
|
<tr class="memdesc:gaa7aeb54c167712b38f2178a1be2360ad"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of medium single-precision floating-point numbers. <a href="a00189.html#gaa7aeb54c167712b38f2178a1be2360ad">More...</a><br /></td></tr>
|
|
<tr class="separator:gaa7aeb54c167712b38f2178a1be2360ad"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga4a6b594ff7e81150d8143001367a9431"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< float, mediump > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#ga4a6b594ff7e81150d8143001367a9431">mediump_fdualquat</a></td></tr>
|
|
<tr class="memdesc:ga4a6b594ff7e81150d8143001367a9431"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of medium single-precision floating-point numbers. <a href="a00189.html#ga4a6b594ff7e81150d8143001367a9431">More...</a><br /></td></tr>
|
|
<tr class="separator:ga4a6b594ff7e81150d8143001367a9431"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
|
Functions</h2></td></tr>
|
|
<tr class="memitem:gada9799afe2b62394dc498534beb5bc78"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr>
|
|
<tr class="memitem:gada9799afe2b62394dc498534beb5bc78"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00189.html#gada9799afe2b62394dc498534beb5bc78">dualquat_cast</a> (tmat2x4< T, P > const &x)</td></tr>
|
|
<tr class="memdesc:gada9799afe2b62394dc498534beb5bc78"><td class="mdescLeft"> </td><td class="mdescRight">Converts a 2 * 4 matrix (matrix which holds real and dual parts) to a quaternion. <a href="a00189.html#gada9799afe2b62394dc498534beb5bc78">More...</a><br /></td></tr>
|
|
<tr class="separator:gada9799afe2b62394dc498534beb5bc78"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga20eb5758beb73cc6dbc2d9104f03ec20"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr>
|
|
<tr class="memitem:ga20eb5758beb73cc6dbc2d9104f03ec20"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00189.html#ga20eb5758beb73cc6dbc2d9104f03ec20">dualquat_cast</a> (tmat3x4< T, P > const &x)</td></tr>
|
|
<tr class="memdesc:ga20eb5758beb73cc6dbc2d9104f03ec20"><td class="mdescLeft"> </td><td class="mdescRight">Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion. <a href="a00189.html#ga20eb5758beb73cc6dbc2d9104f03ec20">More...</a><br /></td></tr>
|
|
<tr class="separator:ga20eb5758beb73cc6dbc2d9104f03ec20"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga2149d3cb8af04d9530de0cd16aa1aab2"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr>
|
|
<tr class="memitem:ga2149d3cb8af04d9530de0cd16aa1aab2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00189.html#ga2149d3cb8af04d9530de0cd16aa1aab2">inverse</a> (tdualquat< T, P > const &q)</td></tr>
|
|
<tr class="memdesc:ga2149d3cb8af04d9530de0cd16aa1aab2"><td class="mdescLeft"> </td><td class="mdescRight">Returns the q inverse. <a href="a00189.html#ga2149d3cb8af04d9530de0cd16aa1aab2">More...</a><br /></td></tr>
|
|
<tr class="separator:ga2149d3cb8af04d9530de0cd16aa1aab2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga8039b88397ca09275be924a26a806a59"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr>
|
|
<tr class="memitem:ga8039b88397ca09275be924a26a806a59"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00189.html#ga8039b88397ca09275be924a26a806a59">lerp</a> (tdualquat< T, P > const &x, tdualquat< T, P > const &y, T const &a)</td></tr>
|
|
<tr class="memdesc:ga8039b88397ca09275be924a26a806a59"><td class="mdescLeft"> </td><td class="mdescRight">Returns the linear interpolation of two dual quaternion. <a href="a00189.html#ga8039b88397ca09275be924a26a806a59">More...</a><br /></td></tr>
|
|
<tr class="separator:ga8039b88397ca09275be924a26a806a59"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga2d124748183e12db8288eeaca350298e"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr>
|
|
<tr class="memitem:ga2d124748183e12db8288eeaca350298e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat2x4< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00189.html#ga2d124748183e12db8288eeaca350298e">mat2x4_cast</a> (tdualquat< T, P > const &x)</td></tr>
|
|
<tr class="memdesc:ga2d124748183e12db8288eeaca350298e"><td class="mdescLeft"> </td><td class="mdescRight">Converts a quaternion to a 2 * 4 matrix. <a href="a00189.html#ga2d124748183e12db8288eeaca350298e">More...</a><br /></td></tr>
|
|
<tr class="separator:ga2d124748183e12db8288eeaca350298e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga576745d979e3c079a64152490c816954"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr>
|
|
<tr class="memitem:ga576745d979e3c079a64152490c816954"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat3x4< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00189.html#ga576745d979e3c079a64152490c816954">mat3x4_cast</a> (tdualquat< T, P > const &x)</td></tr>
|
|
<tr class="memdesc:ga576745d979e3c079a64152490c816954"><td class="mdescLeft"> </td><td class="mdescRight">Converts a quaternion to a 3 * 4 matrix. <a href="a00189.html#ga576745d979e3c079a64152490c816954">More...</a><br /></td></tr>
|
|
<tr class="separator:ga576745d979e3c079a64152490c816954"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga495818aa48c23e9e730f87a3c337d1d5"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr>
|
|
<tr class="memitem:ga495818aa48c23e9e730f87a3c337d1d5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00189.html#ga495818aa48c23e9e730f87a3c337d1d5">normalize</a> (tdualquat< T, P > const &q)</td></tr>
|
|
<tr class="memdesc:ga495818aa48c23e9e730f87a3c337d1d5"><td class="mdescLeft"> </td><td class="mdescRight">Returns the normalized quaternion. <a href="a00189.html#ga495818aa48c23e9e730f87a3c337d1d5">More...</a><br /></td></tr>
|
|
<tr class="separator:ga495818aa48c23e9e730f87a3c337d1d5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p><a class="el" href="a00189.html">GLM_GTX_dual_quaternion</a> </p>
|
|
<dl class="section author"><dt>Author</dt><dd>Maksim Vorobiev (<a href="#" onclick="location.href='mai'+'lto:'+'mso'+'me'+'one'+'@g'+'mai'+'l.'+'com'; return false;">msome<span style="display: none;">.nosp@m.</span>one@<span style="display: none;">.nosp@m.</span>gmail<span style="display: none;">.nosp@m.</span>.com</a>)</dd></dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00155.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
|
|
<dd>
|
|
<a class="el" href="a00162.html" title="Provide a list of constants and precomputed useful values. ">GLM_GTC_constants</a> (dependence) </dd>
|
|
<dd>
|
|
<a class="el" href="a00172.html" title="Defines a templated quaternion type and several quaternion operations. ">GLM_GTC_quaternion</a> (dependence) </dd></dl>
|
|
|
|
<p>Definition in file <a class="el" href="a00020_source.html">dual_quaternion.hpp</a>.</p>
|
|
</div></div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<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.10
|
|
</small></address>
|
|
</body>
|
|
</html>
|