<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>PlotMM: PlotMM::DoubleIntMap Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.4.4 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="pages.html">Related Pages</a></div> <div class="nav"> <b>PlotMM</b>::<a class="el" href="class_plot_m_m_1_1_double_int_map.html">DoubleIntMap</a></div> <h1>PlotMM::DoubleIntMap Class Reference</h1><!-- doxytag: class="PlotMM::DoubleIntMap" --><a href="class_plot_m_m_1_1_double_int_map-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> Map a double interval into an integer interval. <p> The <a class="el" href="class_plot_m_m_1_1_double_int_map.html">DoubleIntMap</a> class maps an interval of type double into an interval of type int. It consists of two intervals D = [d1, d2] (double) and I = [i1, i2] (int), which are specified with the <a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa6">DoubleIntMap::set_dbl_range</a> and <a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa5">DoubleIntMap::set_int_range</a> members. The point d1 is mapped to the point i1, and d2 is mapped to i2. Any point inside or outside D can be mapped to a point inside or outside I using <a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa7">DoubleIntMap::transform</a> or <a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa9">DoubleIntMap::lim_transform</a> or vice versa using Plot::inv_transform. D can be scaled linearly or logarithmically, as specified with <a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa6">DoubleIntMap::set_dbl_range</a>.<p> <b>Usage</b> <div class="fragment"><pre class="fragment"> * #include <plotmm/doubleintmap.h> * * DoubleIntMap map; * int ival; * double dval; * * // Assign an interval of type double with linear mapping * map.set_dbl_range(0.0, 3.1415); * * // Assign an integer interval * map.set_int_range(0,100); * * // obtain integer value corresponding to 1.0 * ival = map.transform(1.0); * * // obtain double value corresponding to 77 * dval = map.inv_transform(77); * </pre></div> <p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></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_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa0">DoubleIntMap</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa1">DoubleIntMap</a> (int i1, int i2, double d1, double d2, bool lg=false)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa2">~DoubleIntMap</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa3">contains</a> (double x) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa4">contains</a> (int x) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa5">set_int_range</a> (int i1, int i2)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa6">set_dbl_range</a> (double d1, double d2, bool lg=false)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa7">transform</a> (double x) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa8">inv_transform</a> (int i) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa9">lim_transform</a> (double x) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa10">x_transform</a> (double x) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa11">d1</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa12">d2</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa13">i1</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa14">i2</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa15">logarithmic</a> () const </td></tr> <tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="_plot_m_m_1_1_double_int_maps0"></a><!-- doxytag: member="PlotMM::DoubleIntMap::LogMin" ref="_plot_m_m_1_1_double_int_maps0" args="" --> static const double </td><td class="memItemRight" valign="bottom"><b>LogMin</b> = 1.0e-150</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="_plot_m_m_1_1_double_int_maps1"></a><!-- doxytag: member="PlotMM::DoubleIntMap::LogMax" ref="_plot_m_m_1_1_double_int_maps1" args="" --> static const double </td><td class="memItemRight" valign="bottom"><b>LogMax</b> = 1.0e150</td></tr> </table> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="_plot_m_m_1_1_double_int_mapa0"></a><!-- doxytag: member="PlotMM::DoubleIntMap::DoubleIntMap" ref="_plot_m_m_1_1_double_int_mapa0" args="()" --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">DoubleIntMap::DoubleIntMap </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Constructor. <p> The double and integer intervals are both set to [0,1]. </td> </tr> </table> <a class="anchor" name="_plot_m_m_1_1_double_int_mapa1"></a><!-- doxytag: member="PlotMM::DoubleIntMap::DoubleIntMap" ref="_plot_m_m_1_1_double_int_mapa1" args="(int i1, int i2, double d1, double d2, bool lg=false)" --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">DoubleIntMap::DoubleIntMap </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">int </td> <td class="mdname" nowrap> <em>i1</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>i2</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>double </td> <td class="mdname" nowrap> <em>d1</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>double </td> <td class="mdname" nowrap> <em>d2</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>bool </td> <td class="mdname" nowrap> <em>logarithmic</em> = <code>false</code></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Constructor. <p> Constructs a <a class="el" href="class_plot_m_m_1_1_double_int_map.html">DoubleIntMap</a> instance with initial integer and double 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>i1</em> </td><td>first border of integer interval </td></tr> <tr><td valign="top"></td><td valign="top"><em>i2</em> </td><td>second border of integer interval </td></tr> <tr><td valign="top"></td><td valign="top"><em>d1</em> </td><td>first border of double interval </td></tr> <tr><td valign="top"></td><td valign="top"><em>d2</em> </td><td>second border of double interval </td></tr> <tr><td valign="top"></td><td valign="top"><em>logarithmic</em> </td><td>logarithmic mapping, true or false.</td></tr> </table> </dl> </td> </tr> </table> <a class="anchor" name="_plot_m_m_1_1_double_int_mapa2"></a><!-- doxytag: member="PlotMM::DoubleIntMap::~DoubleIntMap" ref="_plot_m_m_1_1_double_int_mapa2" args="()" --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">DoubleIntMap::~DoubleIntMap </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Destructor. <p> </td> </tr> </table> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="_plot_m_m_1_1_double_int_mapa4"></a><!-- doxytag: member="PlotMM::DoubleIntMap::contains" ref="_plot_m_m_1_1_double_int_mapa4" args="(int x) const " --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">bool DoubleIntMap::contains </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">int </td> <td class="mdname1" valign="top" nowrap> <em>x</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> <dl compact><dt><b>Returns:</b></dt><dd>true if a value x lies inside or at the border of the map's integer range </dd></dl> <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</td></tr> </table> </dl> </td> </tr> </table> <a class="anchor" name="_plot_m_m_1_1_double_int_mapa3"></a><!-- doxytag: member="PlotMM::DoubleIntMap::contains" ref="_plot_m_m_1_1_double_int_mapa3" args="(double x) const " --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">bool DoubleIntMap::contains </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">double </td> <td class="mdname1" valign="top" nowrap> <em>x</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> <dl compact><dt><b>Returns:</b></dt><dd>true if a value x lies inside or at the border of the map's double range. </dd></dl> <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</td></tr> </table> </dl> </td> </tr> </table> <a class="anchor" name="_plot_m_m_1_1_double_int_mapa11"></a><!-- doxytag: member="PlotMM::DoubleIntMap::d1" ref="_plot_m_m_1_1_double_int_mapa11" args="() const " --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">double PlotMM::DoubleIntMap::d1 </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> <dl compact><dt><b>Returns:</b></dt><dd>the first border of the double interval</dd></dl> </td> </tr> </table> <a class="anchor" name="_plot_m_m_1_1_double_int_mapa12"></a><!-- doxytag: member="PlotMM::DoubleIntMap::d2" ref="_plot_m_m_1_1_double_int_mapa12" args="() const " --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">double PlotMM::DoubleIntMap::d2 </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> <dl compact><dt><b>Returns:</b></dt><dd>the second border of the double interval</dd></dl> </td> </tr> </table> <a class="anchor" name="_plot_m_m_1_1_double_int_mapa13"></a><!-- doxytag: member="PlotMM::DoubleIntMap::i1" ref="_plot_m_m_1_1_double_int_mapa13" args="() const " --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">int PlotMM::DoubleIntMap::i1 </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> <dl compact><dt><b>Returns:</b></dt><dd>the second border of the integer interval</dd></dl> </td> </tr> </table> <a class="anchor" name="_plot_m_m_1_1_double_int_mapa14"></a><!-- doxytag: member="PlotMM::DoubleIntMap::i2" ref="_plot_m_m_1_1_double_int_mapa14" args="() const " --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">int PlotMM::DoubleIntMap::i2 </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> <dl compact><dt><b>Returns:</b></dt><dd>the second border of the integer interval</dd></dl> </td> </tr> </table> <a class="anchor" name="_plot_m_m_1_1_double_int_mapa8"></a><!-- doxytag: member="PlotMM::DoubleIntMap::inv_transform" ref="_plot_m_m_1_1_double_int_mapa8" args="(int i) const " --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">double DoubleIntMap::inv_transform </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">int </td> <td class="mdname1" valign="top" nowrap> <em>y</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Transform an integer value into a double value. <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>y</em> </td><td>integer value to be transformed </td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd><dl> <dt>linear mapping:</dt> <dd>d1 + (d2 - d1) / (i2 - i1) * (y - i1) </dd> <dt>logarithmic mapping:</dt> <dd>d1 + (d2 - d1) / log(i2 / i1) * log(y / i1) </dd> </dl> </dd></dl> </td> </tr> </table> <a class="anchor" name="_plot_m_m_1_1_double_int_mapa9"></a><!-- doxytag: member="PlotMM::DoubleIntMap::lim_transform" ref="_plot_m_m_1_1_double_int_mapa9" args="(double x) const " --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">int DoubleIntMap::lim_transform </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">double </td> <td class="mdname1" valign="top" nowrap> <em>x</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Transform and limit. <p> The function is similar to <a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa7">DoubleIntMap::transform</a>, but limits the input value to the nearest border of the map's double interval if it lies outside that 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 to be transformed </td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd>transformed value</dd></dl> </td> </tr> </table> <a class="anchor" name="_plot_m_m_1_1_double_int_mapa15"></a><!-- doxytag: member="PlotMM::DoubleIntMap::logarithmic" ref="_plot_m_m_1_1_double_int_mapa15" args="() const " --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">bool PlotMM::DoubleIntMap::logarithmic </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> <dl compact><dt><b>Returns:</b></dt><dd>TRUE if the double interval is scaled logarithmically</dd></dl> </td> </tr> </table> <a class="anchor" name="_plot_m_m_1_1_double_int_mapa6"></a><!-- doxytag: member="PlotMM::DoubleIntMap::set_dbl_range" ref="_plot_m_m_1_1_double_int_mapa6" args="(double d1, double d2, bool lg=false)" --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">void DoubleIntMap::set_dbl_range </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">double </td> <td class="mdname" nowrap> <em>d1</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>double </td> <td class="mdname" nowrap> <em>d2</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>bool </td> <td class="mdname" nowrap> <em>lg</em> = <code>false</code></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Specify the borders of the double 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>d1</em> </td><td>first border </td></tr> <tr><td valign="top"></td><td valign="top"><em>d2</em> </td><td>second border </td></tr> <tr><td valign="top"></td><td valign="top"><em>lg</em> </td><td>logarithmic (true) or linear (false) scaling</td></tr> </table> </dl> </td> </tr> </table> <a class="anchor" name="_plot_m_m_1_1_double_int_mapa5"></a><!-- doxytag: member="PlotMM::DoubleIntMap::set_int_range" ref="_plot_m_m_1_1_double_int_mapa5" args="(int i1, int i2)" --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">void DoubleIntMap::set_int_range </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">int </td> <td class="mdname" nowrap> <em>i1</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>i2</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Specify the borders of the integer 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>i1</em> </td><td>first border </td></tr> <tr><td valign="top"></td><td valign="top"><em>i2</em> </td><td>second border</td></tr> </table> </dl> </td> </tr> </table> <a class="anchor" name="_plot_m_m_1_1_double_int_mapa7"></a><!-- doxytag: member="PlotMM::DoubleIntMap::transform" ref="_plot_m_m_1_1_double_int_mapa7" args="(double x) const " --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">int PlotMM::DoubleIntMap::transform </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">double </td> <td class="mdname1" valign="top" nowrap> <em>x</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Transform a point in double interval into an point in the integer 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 </td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd><dl> <dt>linear mapping: </dt> <dd>rint(i1 + (i2 - i1) / (d2 - d1) * (x - d1)) </dd> <dt>logarithmic mapping: </dt> <dd>rint(i1 + (i2 - i1) / log(d2 / d1) * log(x / d1)) </dd> </dl> </dd></dl> <dl compact><dt><b>Warning:</b></dt><dd>The specified point is allowed to lie outside the intervals. If you want to limit the returned value, use <a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa9">DoubleIntMap::lim_transform</a>.</dd></dl> </td> </tr> </table> <a class="anchor" name="_plot_m_m_1_1_double_int_mapa10"></a><!-- doxytag: member="PlotMM::DoubleIntMap::x_transform" ref="_plot_m_m_1_1_double_int_mapa10" args="(double x) const " --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">double DoubleIntMap::x_transform </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">double </td> <td class="mdname1" valign="top" nowrap> <em>x</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Exact transformation. <p> This function is similar to <a class="el" href="class_plot_m_m_1_1_double_int_map.html#_plot_m_m_1_1_double_int_mapa7">DoubleIntMap::transform</a>, but makes the integer interval appear to be double. <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 to be transformed </td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd><dl> <dt>linear mapping:</dt> <dd>i1 + (i2 - i1) / (d2 - d1) * (x - d1) </dd> <dt>logarithmic mapping:</dt> <dd>i1 + (i2 - i1) / log(d2 / d1) * log(x / d1) </dd> </dl> </dd></dl> </td> </tr> </table> <hr size="1"><address style="align: right;"><small>Generated on Thu Nov 10 15:26:22 2005 for PlotMM by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4 </small></address> </body> </html>