<!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>Qwt User's Guide: QwtScaleTransformation Class Reference</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.3 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Qwt User's Guide <span id="projectnumber">6.0.1</span></div> </td> </tr> </tbody> </table> </div> <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 class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></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="classes.html"><span>Class Index</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> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> </div> <div class="headertitle"> <h1>QwtScaleTransformation Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="QwtScaleTransformation" --> <p>A transformation between coordinate systems. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="qwt__scale__map_8h_source.html">qwt_scale_map.h</a>></code></p> <p><a href="class_qwt_scale_transformation-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-types"></a> Public Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_scale_transformation.html#a5b4e85a0640906586b3180872aaeb786">Type</a> { <br/>   <a class="el" href="class_qwt_scale_transformation.html#a5b4e85a0640906586b3180872aaeb786a77fdca4fe1efe2e60f6f0d6d730c6075">Linear</a>, <br/>   <a class="el" href="class_qwt_scale_transformation.html#a5b4e85a0640906586b3180872aaeb786afd481a493e9324d472f2dd064f35f634">Log10</a>, <br/>   <a class="el" href="class_qwt_scale_transformation.html#a5b4e85a0640906586b3180872aaeb786a0bff96a69468f488f8096a3e12c9316c">Other</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">virtual <a class="el" href="class_qwt_scale_transformation.html">QwtScaleTransformation</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_scale_transformation.html#ace4c90eefe778f87a11e0be1f27df0a6">copy</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_scale_transformation.html#a366820cc9adb6678b2b613b8a7bc5fc7">invXForm</a> (double x, double p1, double p2, double s1, double s2) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_scale_transformation.html#ab1e8473584fe5146322fd4a745727a5f">QwtScaleTransformation</a> (<a class="el" href="class_qwt_scale_transformation.html#a5b4e85a0640906586b3180872aaeb786">Type</a> type)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_qwt_scale_transformation.html#a5b4e85a0640906586b3180872aaeb786">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_scale_transformation.html#acc7714bb6b6dbdb588f8170aee700621">type</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_scale_transformation.html#a54768a41cd5d7867e74c0d0032e45ec2">xForm</a> (double x, double s1, double s2, double p1, double p2) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_scale_transformation.html#a2eccd8e538af9a3105f61f9f20a0ad8b">~QwtScaleTransformation</a> ()</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"><p>A transformation between coordinate systems. </p> <p><a class="el" href="class_qwt_scale_transformation.html" title="A transformation between coordinate systems.">QwtScaleTransformation</a> offers transformations from the coordinate system of a scale into the linear coordinate system of a paint device and vice versa. </p> </div><hr/><h2>Member Enumeration Documentation</h2> <a class="anchor" id="a5b4e85a0640906586b3180872aaeb786"></a><!-- doxytag: member="QwtScaleTransformation::Type" ref="a5b4e85a0640906586b3180872aaeb786" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="class_qwt_scale_transformation.html#a5b4e85a0640906586b3180872aaeb786">QwtScaleTransformation::Type</a></td> </tr> </table> </div> <div class="memdoc"> <p>Transformation type. </p> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="a5b4e85a0640906586b3180872aaeb786a77fdca4fe1efe2e60f6f0d6d730c6075"></a><!-- doxytag: member="Linear" ref="a5b4e85a0640906586b3180872aaeb786a77fdca4fe1efe2e60f6f0d6d730c6075" args="" -->Linear</em> </td><td> <p>Transformation between 2 linear scales. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a5b4e85a0640906586b3180872aaeb786afd481a493e9324d472f2dd064f35f634"></a><!-- doxytag: member="Log10" ref="a5b4e85a0640906586b3180872aaeb786afd481a493e9324d472f2dd064f35f634" args="" -->Log10</em> </td><td> <p>Transformation between a linear and a logarithmic ( base 10 ) scale. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a5b4e85a0640906586b3180872aaeb786a0bff96a69468f488f8096a3e12c9316c"></a><!-- doxytag: member="Other" ref="a5b4e85a0640906586b3180872aaeb786a0bff96a69468f488f8096a3e12c9316c" args="" -->Other</em> </td><td> <p>Any other type of transformation. </p> </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="ab1e8473584fe5146322fd4a745727a5f"></a><!-- doxytag: member="QwtScaleTransformation::QwtScaleTransformation" ref="ab1e8473584fe5146322fd4a745727a5f" args="(Type type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">QwtScaleTransformation::QwtScaleTransformation </td> <td>(</td> <td class="paramtype"><a class="el" href="class_qwt_scale_transformation.html#a5b4e85a0640906586b3180872aaeb786">Type</a> </td> <td class="paramname"><em>type</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor for a linear transformation. </p> </div> </div> <a class="anchor" id="a2eccd8e538af9a3105f61f9f20a0ad8b"></a><!-- doxytag: member="QwtScaleTransformation::~QwtScaleTransformation" ref="a2eccd8e538af9a3105f61f9f20a0ad8b" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">QwtScaleTransformation::~QwtScaleTransformation </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Destructor. </p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="ace4c90eefe778f87a11e0be1f27df0a6"></a><!-- doxytag: member="QwtScaleTransformation::copy" ref="ace4c90eefe778f87a11e0be1f27df0a6" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_qwt_scale_transformation.html">QwtScaleTransformation</a> * QwtScaleTransformation::copy </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Create a clone of the transformation. </p> </div> </div> <a class="anchor" id="a366820cc9adb6678b2b613b8a7bc5fc7"></a><!-- doxytag: member="QwtScaleTransformation::invXForm" ref="a366820cc9adb6678b2b613b8a7bc5fc7" args="(double x, double p1, double p2, double s1, double s2) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double QwtScaleTransformation::invXForm </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>p1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>p2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>s1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>s2</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Transform a value from the coordinate system of the paint device into the coordinate system of a scale. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">p</td><td>Value related to the coordinate system of the paint device </td></tr> <tr><td class="paramname">p1</td><td>First border of the coordinate system of the paint device </td></tr> <tr><td class="paramname">p2</td><td>Second border of the coordinate system of the paint device </td></tr> <tr><td class="paramname">s1</td><td>First border of the coordinate system of the scale </td></tr> <tr><td class="paramname">s2</td><td>Second border of the coordinate system of the scale </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd><dl> <dt>linear mapping:</dt> <dd>s1 + ( s2 - s1 ) / ( p2 - p1 ) * ( p - p1 ); </dd> </dl> <dl> <dt>log10 mapping:</dt> <dd>exp((p - p1) / (p2 - p1) * log(s2 / s1)) * s1; </dd> </dl> </dd></dl> </div> </div> <a class="anchor" id="acc7714bb6b6dbdb588f8170aee700621"></a><!-- doxytag: member="QwtScaleTransformation::type" ref="acc7714bb6b6dbdb588f8170aee700621" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="class_qwt_scale_transformation.html#a5b4e85a0640906586b3180872aaeb786">QwtScaleTransformation::Type</a> QwtScaleTransformation::type </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <dl class="return"><dt><b>Returns:</b></dt><dd>Transformation type </dd></dl> </div> </div> <a class="anchor" id="a54768a41cd5d7867e74c0d0032e45ec2"></a><!-- doxytag: member="QwtScaleTransformation::xForm" ref="a54768a41cd5d7867e74c0d0032e45ec2" args="(double x, double s1, double s2, double p1, double p2) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double QwtScaleTransformation::xForm </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"><em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>s1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>s2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>p1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>p2</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Transform a value from the coordinate system of a scale into the coordinate system of the paint device. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">s</td><td>Value related to the coordinate system of the scale </td></tr> <tr><td class="paramname">s1</td><td>First border of the coordinate system of the scale </td></tr> <tr><td class="paramname">s2</td><td>Second border of the coordinate system of the scale </td></tr> <tr><td class="paramname">p1</td><td>First border of the coordinate system of the paint device </td></tr> <tr><td class="paramname">p2</td><td>Second border of the coordinate system of the paint device </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd><dl> <dt>linear mapping:</dt> <dd>p1 + (p2 - p1) / (s2 - s1) * (s - s1); </dd> </dl> <dl> <dt>log10 mapping: </dt> <dd>p1 + (p2 - p1) / log(s2 / s1) * log(s / s1); </dd> </dl> </dd></dl> </div> </div> </div> <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.7.3 </small></address> </body> </html>