<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;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.5.8 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <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 class="tabs"> <ul> <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="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>QwtScaleTransformation Class Reference</h1><!-- doxytag: class="QwtScaleTransformation" -->Operations for linear or logarithmic (base 10) transformations. <a href="#_details">More...</a> <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><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><b>Type</b> { <br> <b>Linear</b>, <br> <b>Log10</b>, <br> <b>Other</b> <br> }</td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_scale_transformation.html#b1e8473584fe5146322fd4a745727a5f">QwtScaleTransformation</a> (Type type)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_scale_transformation.html#2eccd8e538af9a3105f61f9f20a0ad8b">~QwtScaleTransformation</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_scale_transformation.html#54768a41cd5d7867e74c0d0032e45ec2">xForm</a> (double x, double s1, double s2, double p1, double p2) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_scale_transformation.html#7e2ba833b068f941d79d443bee769b42">invXForm</a> (double x, double s1, double s2, double p1, double p2) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">Type </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_scale_transformation.html#8b8936e303f55241599ccbf358ab9215">type</a> () const </td></tr> <tr><td class="memItemLeft" nowrap 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#ce4c90eefe778f87a11e0be1f27df0a6">copy</a> () const </td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Operations for linear or logarithmic (base 10) transformations. <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="b1e8473584fe5146322fd4a745727a5f"></a><!-- doxytag: member="QwtScaleTransformation::QwtScaleTransformation" ref="b1e8473584fe5146322fd4a745727a5f" args="(Type type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">QwtScaleTransformation::QwtScaleTransformation </td> <td>(</td> <td class="paramtype">Type </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><p> <a class="anchor" name="2eccd8e538af9a3105f61f9f20a0ad8b"></a><!-- doxytag: member="QwtScaleTransformation::~QwtScaleTransformation" ref="2eccd8e538af9a3105f61f9f20a0ad8b" 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><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="ce4c90eefe778f87a11e0be1f27df0a6"></a><!-- doxytag: member="QwtScaleTransformation::copy" ref="ce4c90eefe778f87a11e0be1f27df0a6" 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><p> <a class="anchor" name="7e2ba833b068f941d79d443bee769b42"></a><!-- doxytag: member="QwtScaleTransformation::invXForm" ref="7e2ba833b068f941d79d443bee769b42" 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::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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Transform a value from a linear to a logarithmic interval. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>value related to the linear interval [p1, p2] </td></tr> <tr><td valign="top"></td><td valign="top"><em>p1</em> </td><td>first border of linear interval </td></tr> <tr><td valign="top"></td><td valign="top"><em>p2</em> </td><td>first border of linear interval </td></tr> <tr><td valign="top"></td><td valign="top"><em>s1</em> </td><td>first border of logarithmic interval </td></tr> <tr><td valign="top"></td><td valign="top"><em>s2</em> </td><td>first border of logarithmic interval </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><dl> <dt>exp((x - p1) / (p2 - p1) * log(s2 / s1)) * s1; </dt> <dd></dd> </dl> </dd></dl> </div> </div><p> <a class="anchor" name="8b8936e303f55241599ccbf358ab9215"></a><!-- doxytag: member="QwtScaleTransformation::type" ref="8b8936e303f55241599ccbf358ab9215" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Type QwtScaleTransformation::type </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Transformation type </dd></dl> </div> </div><p> <a class="anchor" name="54768a41cd5d7867e74c0d0032e45ec2"></a><!-- doxytag: member="QwtScaleTransformation::xForm" ref="54768a41cd5d7867e74c0d0032e45ec2" 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><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Transform a value between 2 linear intervals. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>value related to the interval [x1, x2] </td></tr> <tr><td valign="top"></td><td valign="top"><em>x1</em> </td><td>first border of source interval </td></tr> <tr><td valign="top"></td><td valign="top"><em>x2</em> </td><td>first border of source interval </td></tr> <tr><td valign="top"></td><td valign="top"><em>y1</em> </td><td>first border of target interval </td></tr> <tr><td valign="top"></td><td valign="top"><em>y2</em> </td><td>first border of target interval </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><dl> <dt>linear mapping:</dt> <dd>y1 + (y2 - y1) / (x2 - x1) * (x - x1) </dd> </dl> <dl> <dt>log10 mapping: </dt> <dd>p1 + (p2 - p1) / log(s2 / s1) * log(x / s1) </dd> </dl> </dd></dl> </div> </div><p> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Sun Mar 22 16:41:27 2009 for Qwt User's Guide by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address> </body> </html>