<!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>Wt: Wt::WTransform Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css" /> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="search/search.js"></script> <script type="text/javascript"> $(document).ready(function() { searchBox.OnSelectItem(0); }); </script> </head> <body> <div id="top"><!-- do not remove this div! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Wt  <span id="projectnumber">3.2.3</span> </div> </td> </tr> </tbody> </table> </div> <!-- Generated by Doxygen 1.7.5.1 --> <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="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><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="annotated.html"><span>Class List</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespaceWt.html">Wt</a> </li> <li class="navelem"><a class="el" href="classWt_1_1WTransform.html">WTransform</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-static-methods">Static Public Member Functions</a> | <a href="#pub-static-attribs">Static Public Attributes</a> </div> <div class="headertitle"> <div class="title">Wt::WTransform Class Reference<div class="ingroups"><a class="el" href="group__painting.html">Painting system</a></div></div> </div> </div> <div class="contents"> <!-- doxytag: class="Wt::WTransform" --> <p>A value class that defines a 2D affine transformation matrix. <a href="classWt_1_1WTransform.html#details">More...</a></p> <p><code>#include <Wt/WTransform></code></p> <p><a href="classWt_1_1WTransform-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="nested-classes"></a> Classes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structWt_1_1WTransform_1_1TRSRDecomposition.html">TRSRDecomposition</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Result of a TRSR decomposition. <a href="structWt_1_1WTransform_1_1TRSRDecomposition.html#details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structWt_1_1WTransform_1_1TRSSDecomposition.html">TRSSDecomposition</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Result of a TRSS decomposition. <a href="structWt_1_1WTransform_1_1TRSSDecomposition.html#details">More...</a><br/></td></tr> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#aa83f5dc582b77c4ac706cfb6b097a6e3">WTransform</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <a href="#aa83f5dc582b77c4ac706cfb6b097a6e3"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a7af529e947eefac16dbce9d4ecdf374b">WTransform</a> (double m11, double m12, double m21, double m22, double dx, double dy)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct a custom matrix by specifying the parameters. <a href="#a7af529e947eefac16dbce9d4ecdf374b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1WTransform.html">WTransform</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a5b316f9ab4b128fac20ddc193e9a531f">operator=</a> (const <a class="el" href="classWt_1_1WTransform.html">WTransform</a> &rhs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment operator. <a href="#a5b316f9ab4b128fac20ddc193e9a531f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a8d67ff2dd96e1b7a046a81dba72b8358">operator==</a> (const <a class="el" href="classWt_1_1WTransform.html">WTransform</a> &rhs) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Comparison operator. <a href="#a8d67ff2dd96e1b7a046a81dba72b8358"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#ab8279e66b2fced0710869593f1b7f89d">operator!=</a> (const <a class="el" href="classWt_1_1WTransform.html">WTransform</a> &rhs) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Comparison operator. <a href="#ab8279e66b2fced0710869593f1b7f89d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a2886f3ac1a3e60f90aae2505db3a6631">isIdentity</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Identity check. <a href="#a2886f3ac1a3e60f90aae2505db3a6631"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1887ee83c3b274284c323ef836529ab5"></a><!-- doxytag: member="Wt::WTransform::m11" ref="a1887ee83c3b274284c323ef836529ab5" args="() const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a1887ee83c3b274284c323ef836529ab5">m11</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the horizontal scaling factor. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa5818883ee9a0d4f2ccede54fe4aae75"></a><!-- doxytag: member="Wt::WTransform::m12" ref="aa5818883ee9a0d4f2ccede54fe4aae75" args="() const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#aa5818883ee9a0d4f2ccede54fe4aae75">m12</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the vertical shearing factor. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54c72247dc6c537b2af6c051acdf6364"></a><!-- doxytag: member="Wt::WTransform::m13" ref="a54c72247dc6c537b2af6c051acdf6364" args="() const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a54c72247dc6c537b2af6c051acdf6364">m13</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns m13 = 0. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50b1309a9ba5a28fda585ff2645955e5"></a><!-- doxytag: member="Wt::WTransform::m21" ref="a50b1309a9ba5a28fda585ff2645955e5" args="() const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a50b1309a9ba5a28fda585ff2645955e5">m21</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the horizontal shearing factor. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace965ba306019e1eb77e2e19004fe26b"></a><!-- doxytag: member="Wt::WTransform::m22" ref="ace965ba306019e1eb77e2e19004fe26b" args="() const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#ace965ba306019e1eb77e2e19004fe26b">m22</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the vertical scaling factor. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac4e9f7cbdf20f929e566cb1f94f3073a"></a><!-- doxytag: member="Wt::WTransform::m23" ref="ac4e9f7cbdf20f929e566cb1f94f3073a" args="() const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#ac4e9f7cbdf20f929e566cb1f94f3073a">m23</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns m23 = 0. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a8b0d30f356852c84482864009c959f83">m31</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the horizontal translation factor. <a href="#a8b0d30f356852c84482864009c959f83"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a4c3829751f5f1e48b9cc9cd43c22edb8">m32</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the vertical translation factor. <a href="#a4c3829751f5f1e48b9cc9cd43c22edb8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc52fe2393cb3183c5e76ada10fa1013"></a><!-- doxytag: member="Wt::WTransform::m33" ref="adc52fe2393cb3183c5e76ada10fa1013" args="() const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#adc52fe2393cb3183c5e76ada10fa1013">m33</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns m33 = 1. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#afd36c0961fe1cc7ff476824f3dfc9cea">dx</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the horizontal translation factor. <a href="#afd36c0961fe1cc7ff476824f3dfc9cea"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a6828e36286b2fe38ec56446b007b1d41">dy</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the vertical translation factor. <a href="#a6828e36286b2fe38ec56446b007b1d41"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1WPointF.html">WPointF</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a201cba0a65a466383c48eb6d73b2f281">map</a> (const <a class="el" href="classWt_1_1WPointF.html">WPointF</a> &p) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Applys the transformation to a point. <a href="#a201cba0a65a466383c48eb6d73b2f281"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#affc1cb0071a86302318255fd867d08a1">map</a> (double x, double y, double *tx, double *ty) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Applys the transformation to a point. <a href="#affc1cb0071a86302318255fd867d08a1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a36e8423634a12878a6a7262bd749fe6b">reset</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Resets the transformation to the identity. <a href="#a36e8423634a12878a6a7262bd749fe6b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1WTransform.html">WTransform</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a4f494c6f886c1b8b15c635e2dc81cc0e">rotate</a> (double angle)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Rotates the transformation. <a href="#a4f494c6f886c1b8b15c635e2dc81cc0e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1WTransform.html">WTransform</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a72f394181e722cd890c06bb37e36e7db">rotateRadians</a> (double angle)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Rotates the transformation. <a href="#a72f394181e722cd890c06bb37e36e7db"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1WTransform.html">WTransform</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#ac9cf750c7ce44b4ecfcae59d4dd964ac">scale</a> (double sx, double sy)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Scales the transformation. <a href="#ac9cf750c7ce44b4ecfcae59d4dd964ac"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1WTransform.html">WTransform</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a94e146a18a35ec1a9f70cf09c2df8349">shear</a> (double sh, double sv)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Shears the transformation. <a href="#a94e146a18a35ec1a9f70cf09c2df8349"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1WTransform.html">WTransform</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#ad4cd675b5072c25b0545167ba41586d8">translate</a> (double dx, double dy)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Translates the transformation. <a href="#ad4cd675b5072c25b0545167ba41586d8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8363fe6e026aa50b876f0adf195b422b"></a><!-- doxytag: member="Wt::WTransform::operator*=" ref="a8363fe6e026aa50b876f0adf195b422b" args="(const WTransform &rhs)" --> <a class="el" href="classWt_1_1WTransform.html">WTransform</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a8363fe6e026aa50b876f0adf195b422b">operator*=</a> (const <a class="el" href="classWt_1_1WTransform.html">WTransform</a> &rhs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a transform that is conceptually applied after this transform. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c87fbc872245469f325737360ada659"></a><!-- doxytag: member="Wt::WTransform::operator*" ref="a3c87fbc872245469f325737360ada659" args="(const WTransform &rhs) const " --> <a class="el" href="classWt_1_1WTransform.html">WTransform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a3c87fbc872245469f325737360ada659">operator*</a> (const <a class="el" href="classWt_1_1WTransform.html">WTransform</a> &rhs) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Multiply 2 transform objects. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1f5205bf60740327910dc93b057b2a08"></a><!-- doxytag: member="Wt::WTransform::determinant" ref="a1f5205bf60740327910dc93b057b2a08" args="() const " --> double </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a1f5205bf60740327910dc93b057b2a08">determinant</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the determinant. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8fabda162bf70c144f58524708ade180"></a><!-- doxytag: member="Wt::WTransform::adjoint" ref="a8fabda162bf70c144f58524708ade180" args="() const " --> <a class="el" href="classWt_1_1WTransform.html">WTransform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a8fabda162bf70c144f58524708ade180">adjoint</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the adjoint. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1WTransform.html">WTransform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a9747188f5900f5785ac15ffa3838533b">inverted</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the inverted transformation. <a href="#a9747188f5900f5785ac15ffa3838533b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a1ff5716f31b5c2f2031e93bfcdc834cb">decomposeTranslateRotateScaleSkew</a> (<a class="el" href="structWt_1_1WTransform_1_1TRSSDecomposition.html">TRSSDecomposition</a> &result) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Decomposes the transformation. <a href="#a1ff5716f31b5c2f2031e93bfcdc834cb"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#af5d4d93e4efed30f10aef73e44fff719">decomposeTranslateRotateScaleRotate</a> (<a class="el" href="structWt_1_1WTransform_1_1TRSRDecomposition.html">TRSRDecomposition</a> &result) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Decomposes the transformation. <a href="#af5d4d93e4efed30f10aef73e44fff719"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a425668a0cfd60a40f344f47d1a4cec92"></a><!-- doxytag: member="Wt::WTransform::degreesToRadians" ref="a425668a0cfd60a40f344f47d1a4cec92" args="(double angle)" --> static double </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a425668a0cfd60a40f344f47d1a4cec92">degreesToRadians</a> (double angle)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Utility method to convert degrees to radians. <br/></td></tr> <tr><td colspan="2"><h2><a name="pub-static-attribs"></a> Static Public Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classWt_1_1WTransform.html">WTransform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WTransform.html#a32281880ff4f50a1aa6b07477f779da0">Identity</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A constant that represents the identity transform. <a href="#a32281880ff4f50a1aa6b07477f779da0"></a><br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>A value class that defines a 2D affine transformation matrix. </p> <p>The matrix is encoded using 6 parameters: </p> <div class="fragment"><pre class="fragment"> <a class="code" href="classWt_1_1WTransform.html#a1887ee83c3b274284c323ef836529ab5" title="Returns the horizontal scaling factor.">m11</a> <a class="code" href="classWt_1_1WTransform.html#aa5818883ee9a0d4f2ccede54fe4aae75" title="Returns the vertical shearing factor.">m12</a> 0 <a class="code" href="classWt_1_1WTransform.html#a50b1309a9ba5a28fda585ff2645955e5" title="Returns the horizontal shearing factor.">m21</a> <a class="code" href="classWt_1_1WTransform.html#ace965ba306019e1eb77e2e19004fe26b" title="Returns the vertical scaling factor.">m22</a> 0 <a class="code" href="classWt_1_1WTransform.html#afd36c0961fe1cc7ff476824f3dfc9cea" title="Returns the horizontal translation factor.">dx</a> <a class="code" href="classWt_1_1WTransform.html#a6828e36286b2fe38ec56446b007b1d41" title="Returns the vertical translation factor.">dy</a> 1 </pre></div><p>In this representation, <a class="el" href="classWt_1_1WTransform.html#afd36c0961fe1cc7ff476824f3dfc9cea" title="Returns the horizontal translation factor.">dx()</a> (= <a class="el" href="classWt_1_1WTransform.html#a8b0d30f356852c84482864009c959f83" title="Returns the horizontal translation factor.">m31()</a>) and <a class="el" href="classWt_1_1WTransform.html#a6828e36286b2fe38ec56446b007b1d41" title="Returns the vertical translation factor.">dy()</a> (= <a class="el" href="classWt_1_1WTransform.html#a4c3829751f5f1e48b9cc9cd43c22edb8" title="Returns the vertical translation factor.">m32()</a>) represent the translation components, and m<em>xy</em> represent a 2D matrix that contains the scale, rotation (and skew) components.</p> <p>The transformation is used to represent a tansformed coordinate system, and provides methods to <a class="el" href="classWt_1_1WTransform.html#a4f494c6f886c1b8b15c635e2dc81cc0e" title="Rotates the transformation.">rotate()</a>, <a class="el" href="classWt_1_1WTransform.html#ac9cf750c7ce44b4ecfcae59d4dd964ac" title="Scales the transformation.">scale()</a>, <a class="el" href="classWt_1_1WTransform.html#a94e146a18a35ec1a9f70cf09c2df8349" title="Shears the transformation.">shear()</a> or <a class="el" href="classWt_1_1WTransform.html#ad4cd675b5072c25b0545167ba41586d8" title="Translates the transformation.">translate()</a> this coordinate system.</p> <p>There are also 2 methods to decompose an arbitrary matrix into elementary operations:</p> <ul> <li><a class="el" href="classWt_1_1WTransform.html#a1ff5716f31b5c2f2031e93bfcdc834cb" title="Decomposes the transformation.">decomposeTranslateRotateScaleSkew()</a> decomposes into a <i>T</i> ∘ <i>R</i> ∘ <i>Sxx</i> ∘ <i>Sxy</i></li> <li><a class="el" href="classWt_1_1WTransform.html#af5d4d93e4efed30f10aef73e44fff719" title="Decomposes the transformation.">decomposeTranslateRotateScaleRotate()</a> decomposes into a <i>T</i> ∘ <i>R1</i> ∘ <i>Sxx</i> ∘ <i>R2</i></li> </ul> <p>with <em>T</em> a translation, <em>R</em> a rotation, <em>Sxx</em> a scale, and <em>Sxy</em> a skew component. </p> </div><hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="aa83f5dc582b77c4ac706cfb6b097a6e3"></a><!-- doxytag: member="Wt::WTransform::WTransform" ref="aa83f5dc582b77c4ac706cfb6b097a6e3" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Wt::WTransform::WTransform </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Default constructor. </p> <p>Creates the identity transformation matrix. </p> </div> </div> <a class="anchor" id="a7af529e947eefac16dbce9d4ecdf374b"></a><!-- doxytag: member="Wt::WTransform::WTransform" ref="a7af529e947eefac16dbce9d4ecdf374b" args="(double m11, double m12, double m21, double m22, double dx, double dy)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Wt::WTransform::WTransform </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>m11</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>m12</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>m21</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>m22</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>dx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>dy</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Construct a custom matrix by specifying the parameters. </p> <p>Creates a matrix from the specified parameters. </p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="af5d4d93e4efed30f10aef73e44fff719"></a><!-- doxytag: member="Wt::WTransform::decomposeTranslateRotateScaleRotate" ref="af5d4d93e4efed30f10aef73e44fff719" args="(TRSRDecomposition &result) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Wt::WTransform::decomposeTranslateRotateScaleRotate </td> <td>(</td> <td class="paramtype"><a class="el" href="structWt_1_1WTransform_1_1TRSRDecomposition.html">TRSRDecomposition</a> & </td> <td class="paramname"><em>result</em></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Decomposes the transformation. </p> <p>Decomposes the transformation into elementary operations: translation (<em>dx</em>, <code>dy</code>), followed by rotation (<em>alpha2</em>), followed by scale (<em>sx</em>, <code>sy</code>) and again a rotation (<code>alpha2</code>). The angles are expressed in radians.</p> <p>This performs a <a href="http://en.wikipedia.org/wiki/Singular_value_decomposition">Singular Value Decomposition (SVD)</a>. </p> </div> </div> <a class="anchor" id="a1ff5716f31b5c2f2031e93bfcdc834cb"></a><!-- doxytag: member="Wt::WTransform::decomposeTranslateRotateScaleSkew" ref="a1ff5716f31b5c2f2031e93bfcdc834cb" args="(TRSSDecomposition &result) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Wt::WTransform::decomposeTranslateRotateScaleSkew </td> <td>(</td> <td class="paramtype"><a class="el" href="structWt_1_1WTransform_1_1TRSSDecomposition.html">TRSSDecomposition</a> & </td> <td class="paramname"><em>result</em></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Decomposes the transformation. </p> <p>Decomposes the transformation into elementary operations: translation (<em>dx</em>, <code>dy</code>), followed by rotation (<em>alpha</em>), followed by scale (<em>sx</em>, <code>sy</code>) and vertical shearing factor (<code>sh</code>). The angle is expressed in radians.</p> <p>This performs a <a href="http://en.wikipedia.org/wiki/Gram_schmidt">Gram-Schmidt orthonormalization</a>. </p> </div> </div> <a class="anchor" id="afd36c0961fe1cc7ff476824f3dfc9cea"></a><!-- doxytag: member="Wt::WTransform::dx" ref="afd36c0961fe1cc7ff476824f3dfc9cea" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double Wt::WTransform::dx </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the horizontal translation factor. </p> <p>Is equivalent to <a class="el" href="classWt_1_1WTransform.html#a8b0d30f356852c84482864009c959f83" title="Returns the horizontal translation factor.">m31()</a> </p> </div> </div> <a class="anchor" id="a6828e36286b2fe38ec56446b007b1d41"></a><!-- doxytag: member="Wt::WTransform::dy" ref="a6828e36286b2fe38ec56446b007b1d41" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double Wt::WTransform::dy </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the vertical translation factor. </p> <p>Is equivalent to <a class="el" href="classWt_1_1WTransform.html#a4c3829751f5f1e48b9cc9cd43c22edb8" title="Returns the vertical translation factor.">m32()</a> </p> </div> </div> <a class="anchor" id="a9747188f5900f5785ac15ffa3838533b"></a><!-- doxytag: member="Wt::WTransform::inverted" ref="a9747188f5900f5785ac15ffa3838533b" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classWt_1_1WTransform.html">WTransform</a> Wt::WTransform::inverted </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the inverted transformation. </p> <p>Returns <code>this</code> if the transformation could not be inverted (<a class="el" href="classWt_1_1WTransform.html#a1f5205bf60740327910dc93b057b2a08" title="Returns the determinant.">determinant()</a> == 0), and logs an error instead. </p> </div> </div> <a class="anchor" id="a2886f3ac1a3e60f90aae2505db3a6631"></a><!-- doxytag: member="Wt::WTransform::isIdentity" ref="a2886f3ac1a3e60f90aae2505db3a6631" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool Wt::WTransform::isIdentity </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Identity check. </p> <p>Returns true if the transform represents an identity transformation. </p> </div> </div> <a class="anchor" id="a8b0d30f356852c84482864009c959f83"></a><!-- doxytag: member="Wt::WTransform::m31" ref="a8b0d30f356852c84482864009c959f83" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double Wt::WTransform::m31 </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the horizontal translation factor. </p> <p>Is equivalent to <a class="el" href="classWt_1_1WTransform.html#afd36c0961fe1cc7ff476824f3dfc9cea" title="Returns the horizontal translation factor.">dx()</a> </p> </div> </div> <a class="anchor" id="a4c3829751f5f1e48b9cc9cd43c22edb8"></a><!-- doxytag: member="Wt::WTransform::m32" ref="a4c3829751f5f1e48b9cc9cd43c22edb8" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double Wt::WTransform::m32 </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the vertical translation factor. </p> <p>Is equivalent to <a class="el" href="classWt_1_1WTransform.html#a6828e36286b2fe38ec56446b007b1d41" title="Returns the vertical translation factor.">dy()</a> </p> </div> </div> <a class="anchor" id="a201cba0a65a466383c48eb6d73b2f281"></a><!-- doxytag: member="Wt::WTransform::map" ref="a201cba0a65a466383c48eb6d73b2f281" args="(const WPointF &p) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classWt_1_1WPointF.html">WPointF</a> Wt::WTransform::map </td> <td>(</td> <td class="paramtype">const <a class="el" href="classWt_1_1WPointF.html">WPointF</a> & </td> <td class="paramname"><em>p</em></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Applys the transformation to a point. </p> <p>Returns the transformed point.</p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WTransform.html#affc1cb0071a86302318255fd867d08a1" title="Applys the transformation to a point.">map(double x, double y, double *tx, double *ty) const</a> </dd></dl> </div> </div> <a class="anchor" id="affc1cb0071a86302318255fd867d08a1"></a><!-- doxytag: member="Wt::WTransform::map" ref="affc1cb0071a86302318255fd867d08a1" args="(double x, double y, double *tx, double *ty) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Wt::WTransform::map </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>y</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double * </td> <td class="paramname"><em>tx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double * </td> <td class="paramname"><em>ty</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Applys the transformation to a point. </p> <p>Sets the point (<em>tx</em>, <code>ty</code>) to the transformation of the point (<em>x</em>, <code>y</code>).</p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WTransform.html#a201cba0a65a466383c48eb6d73b2f281" title="Applys the transformation to a point.">map(const WPointF&) const</a> </dd></dl> </div> </div> <a class="anchor" id="ab8279e66b2fced0710869593f1b7f89d"></a><!-- doxytag: member="Wt::WTransform::operator!=" ref="ab8279e66b2fced0710869593f1b7f89d" args="(const WTransform &rhs) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool Wt::WTransform::operator!= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classWt_1_1WTransform.html">WTransform</a> & </td> <td class="paramname"><em>rhs</em></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Comparison operator. </p> <p>Returns <code>true</code> if the transforms are different. </p> </div> </div> <a class="anchor" id="a5b316f9ab4b128fac20ddc193e9a531f"></a><!-- doxytag: member="Wt::WTransform::operator=" ref="a5b316f9ab4b128fac20ddc193e9a531f" args="(const WTransform &rhs)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classWt_1_1WTransform.html">WTransform</a> & Wt::WTransform::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classWt_1_1WTransform.html">WTransform</a> & </td> <td class="paramname"><em>rhs</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Assignment operator. </p> <p>Copies the transformation from the <code>rhs</code>. </p> </div> </div> <a class="anchor" id="a8d67ff2dd96e1b7a046a81dba72b8358"></a><!-- doxytag: member="Wt::WTransform::operator==" ref="a8d67ff2dd96e1b7a046a81dba72b8358" args="(const WTransform &rhs) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool Wt::WTransform::operator== </td> <td>(</td> <td class="paramtype">const <a class="el" href="classWt_1_1WTransform.html">WTransform</a> & </td> <td class="paramname"><em>rhs</em></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Comparison operator. </p> <p>Returns <code>true</code> if the transforms are exactly the same. </p> </div> </div> <a class="anchor" id="a36e8423634a12878a6a7262bd749fe6b"></a><!-- doxytag: member="Wt::WTransform::reset" ref="a36e8423634a12878a6a7262bd749fe6b" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Wt::WTransform::reset </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Resets the transformation to the identity. </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WTransform.html#a2886f3ac1a3e60f90aae2505db3a6631" title="Identity check.">isIdentity()</a>, <a class="el" href="classWt_1_1WTransform.html#aa83f5dc582b77c4ac706cfb6b097a6e3" title="Default constructor.">WTransform()</a> </dd></dl> </div> </div> <a class="anchor" id="a4f494c6f886c1b8b15c635e2dc81cc0e"></a><!-- doxytag: member="Wt::WTransform::rotate" ref="a4f494c6f886c1b8b15c635e2dc81cc0e" args="(double angle)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classWt_1_1WTransform.html">WTransform</a> & Wt::WTransform::rotate </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>angle</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Rotates the transformation. </p> <p>Applies a clock-wise rotation to the current transformation matrix, over <code>angle</code> degrees.</p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WTransform.html#a72f394181e722cd890c06bb37e36e7db" title="Rotates the transformation.">rotateRadians()</a> </dd></dl> </div> </div> <a class="anchor" id="a72f394181e722cd890c06bb37e36e7db"></a><!-- doxytag: member="Wt::WTransform::rotateRadians" ref="a72f394181e722cd890c06bb37e36e7db" args="(double angle)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classWt_1_1WTransform.html">WTransform</a> & Wt::WTransform::rotateRadians </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>angle</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Rotates the transformation. </p> <p>Applies a clock-wise rotation to the current transformation matrix, over <code>angle</code> radians.</p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WTransform.html#a4f494c6f886c1b8b15c635e2dc81cc0e" title="Rotates the transformation.">rotate()</a> </dd></dl> </div> </div> <a class="anchor" id="ac9cf750c7ce44b4ecfcae59d4dd964ac"></a><!-- doxytag: member="Wt::WTransform::scale" ref="ac9cf750c7ce44b4ecfcae59d4dd964ac" args="(double sx, double sy)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classWt_1_1WTransform.html">WTransform</a> & Wt::WTransform::scale </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>sx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>sy</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Scales the transformation. </p> <p>Applies a clock-wise rotation to the current transformation matrix, over <code>angle</code> radians.</p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WTransform.html#a94e146a18a35ec1a9f70cf09c2df8349" title="Shears the transformation.">shear()</a> </dd></dl> </div> </div> <a class="anchor" id="a94e146a18a35ec1a9f70cf09c2df8349"></a><!-- doxytag: member="Wt::WTransform::shear" ref="a94e146a18a35ec1a9f70cf09c2df8349" args="(double sh, double sv)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classWt_1_1WTransform.html">WTransform</a> & Wt::WTransform::shear </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>sh</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>sv</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Shears the transformation. </p> <p>Shears the current transformation.</p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WTransform.html#ac9cf750c7ce44b4ecfcae59d4dd964ac" title="Scales the transformation.">scale()</a>, <a class="el" href="classWt_1_1WTransform.html#a4f494c6f886c1b8b15c635e2dc81cc0e" title="Rotates the transformation.">rotate()</a> </dd></dl> </div> </div> <a class="anchor" id="ad4cd675b5072c25b0545167ba41586d8"></a><!-- doxytag: member="Wt::WTransform::translate" ref="ad4cd675b5072c25b0545167ba41586d8" args="(double dx, double dy)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classWt_1_1WTransform.html">WTransform</a> & Wt::WTransform::translate </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>dx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>dy</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Translates the transformation. </p> <p>Translates the current transformation. </p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a32281880ff4f50a1aa6b07477f779da0"></a><!-- doxytag: member="Wt::WTransform::Identity" ref="a32281880ff4f50a1aa6b07477f779da0" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classWt_1_1WTransform.html">WTransform</a> <a class="el" href="classWt_1_1WTransform.html#a32281880ff4f50a1aa6b07477f779da0">Wt::WTransform::Identity</a><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>A constant that represents the identity transform. </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WTransform.html#a2886f3ac1a3e60f90aae2505db3a6631" title="Identity check.">isIdentity()</a> </dd></dl> </div> </div> </div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a></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> <hr size="1"><address style="text-align: right; margin: 3px"><small> Generated on Thu Nov 1 2012 for <a href="http://www.webtoolkit.eu/wt">the C++ Web Toolkit (Wt)</a> by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" border="0" style="vertical-align: middle; display: inline-block; height: 2em"></a> 1.7.5.1</small></address> </body> </html>