Man Linux: Main Page and Category List

NAME

       QwtDiMap -

SYNOPSIS

       Inherited by QwtScaleDraw.

Detailed Description

       Map a double interval into an integer interval.

       The QwtDiMap 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 QwtDiMap::setDblRange and
       QwtDiMap::setIntRange 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 QwtDiMap::transform or
       QwtDiMap::limTransform or vice versa using QwtPlot::invTransform. D can
       be scaled linearly or logarithmically, as specified with
       QwtDiMap::setDblRange.

       Usage

       #include <qwt_dimap.h>

       QwtDiMap map;
       int ival;
       double dval;

       map.setDblRange(0.0, 3.1415);   // Assign an interval of type double with
                       // linear mapping
       map.setIntRange(0,100);         // Assign an integer interval

       ival = map.transform(1.0);      // obtain integer value corresponding to 1.0
       dval = map.invTransform(77);    // obtain double value corresponding to 77

       Definition at line 46 of file qwt_dimap.h.

   Public Member Functions
       QwtDiMap ()
       QwtDiMap (int i1, int i2, double d1, double d2, bool lg=FALSE)
       ~QwtDiMap ()
       bool contains (double x) const
       bool contains (int x) const
       void setIntRange (int i1, int i2)
       void setDblRange (double d1, double d2, bool lg=FALSE)
       int transform (double x) const
       double invTransform (int i) const
       int limTransform (double x) const
       double xTransform (double x) const
       double d1 () const
       double d2 () const
       int i1 () const
       int i2 () const
       bool logarithmic () const

   Public Attributes
       QT_STATIC_CONST double LogMin = 1.0e-150
       QT_STATIC_CONST double LogMax = 1.0e150

Constructor & Destructor Documentation

   QwtDiMap::QwtDiMap ()
       Constructor.

       The double and integer intervals are both set to [0,1]. Definition at
       line 20 of file qwt_dimap.cpp.

   QwtDiMap::QwtDiMap (int i1, int i2, double d1, double d2, bool logarithmic
       = FALSE)
       Constructor.

       Constructs a QwtDiMap instance with initial integer and double
       intervals

       Parameters:
           i1 first border of integer interval
           i2 second border of integer interval
           d1 first border of double interval
           d2 second border of double interval
           logarithmic logarithmic mapping, TRUE or FALSE.

       Definition at line 43 of file qwt_dimap.cpp.

       References setDblRange().

   QwtDiMap::~QwtDiMap ()
       Destructor.

       Definition at line 54 of file qwt_dimap.cpp.

Member Function Documentation

   bool QwtDiMap::contains (int x) const
       Returns:
           TRUE if a value x lies inside or at the border of the map’s integer
           range

       Parameters:
           x value

       Definition at line 73 of file qwt_dimap.cpp.

   bool QwtDiMap::contains (double x) const
       Returns:
           TRUE if a value x lies inside or at the border of the map’s double
           range.

       Parameters:
           x value

       Definition at line 63 of file qwt_dimap.cpp.

   double QwtDiMap::d1 () const
       Returns:
           the first border of the double interval

       Definition at line 86 of file qwt_dimap.h.

       Referenced by QwtSlider::getValue(), and QwtSlider::xyPosition().

   double QwtDiMap::d2 () const
       Returns:
           the second border of the double interval

       Definition at line 94 of file qwt_dimap.h.

       Referenced by QwtSlider::getValue(), and QwtSlider::xyPosition().

   int QwtDiMap::i1 () const
       Returns:
           the second border of the integer interval

       Definition at line 102 of file qwt_dimap.h.

       Referenced by QwtScaleDraw::drawBackbone(), QwtSlider::getScrollMode(),
       QwtSlider::getValue(), and QwtSlider::xyPosition().

   int QwtDiMap::i2 () const
       Returns:
           the second border of the integer interval

       Definition at line 110 of file qwt_dimap.h.

       Referenced by QwtScaleDraw::drawBackbone(), QwtSlider::getScrollMode(),
       QwtSlider::getValue(), and QwtSlider::xyPosition().

   double QwtDiMap::invTransform (int y) const
       Transform an integer value into a double value.

       Parameters:
           y integer value to be transformed

       Returns:

           linear mapping:
               d1 + (d2 - d1) / (i2 - i1) * (y - i1)

           logarithmic mapping:
               d1 + (d2 - d1) / log(i2 / i1) * log(y / i1)

       Definition at line 132 of file qwt_dimap.cpp.

       Referenced by QwtSlider::getValue(), QwtPlotPicker::invTransform(), and
       QwtPlot::invTransform().

   int QwtDiMap::limTransform (double x) const
       Transform and limit.

       The function is similar to QwtDiMap::transform, but limits the input
       value to the nearest border of the map’s double interval if it lies
       outside that interval.

       Parameters:
           x value to be transformed

       Returns:
           transformed value

       Definition at line 155 of file qwt_dimap.cpp.

       References transform().

       Referenced by QwtThermo::drawThermo().

   bool QwtDiMap::logarithmic () const
       Returns:
           TRUE if the double interval is scaled logarithmically

       Definition at line 118 of file qwt_dimap.h.

   void QwtDiMap::setDblRange (double d1, double d2, bool lg = FALSE)
       Specify the borders of the double interval.

       Parameters:
           d1 first border
           d2 second border
           lg logarithmic (TRUE) or linear (FALSE) scaling

       Definition at line 84 of file qwt_dimap.cpp.

       Referenced by QwtPlot::canvasMap(), QwtDiMap(), QwtThermo::setRange(),
       and QwtScaleDraw::setScale().

   void QwtDiMap::setIntRange (int i1, int i2)
       Specify the borders of the integer interval.

       Parameters:
           i1 first border
           i2 second border

       Definition at line 116 of file qwt_dimap.cpp.

       Referenced by QwtPlot::canvasMap(), QwtSlider::layoutSlider(),
       QwtThermo::layoutThermo(), QwtScaleDraw::setAngleRange(), and
       QwtScaleDraw::setGeometry().

   int QwtDiMap::transform (double x) const
       Transform a point in double interval into an point in the integer
       interval.

       Parameters:
           x value

       Returns:

           linear mapping:
               rint(i1 + (i2 - i1) / (d2 - d1) * (x - d1))

           logarithmic mapping:
               rint(i1 + (i2 - i1) / log(d2 / d1) * log(x / d1))

       Warning:
           The specified point is allowed to lie outside the intervals. If you
           want to limit the returned value, use QwtDiMap::limTransform.

       Definition at line 136 of file qwt_dimap.h.

       Referenced by QwtCurve::closePolyline(), QwtGrid::draw(),
       QwtCurve::drawDots(), QwtCurve::drawLines(), QwtCurve::drawSteps(),
       QwtCurve::drawSticks(), QwtCurve::drawSymbols(),
       QwtScaleDraw::drawTick(), QwtScaleDraw::labelPlacement(),
       limTransform(), QwtPlotPicker::transform(), QwtPlot::transform(), and
       QwtSlider::xyPosition().

   double QwtDiMap::xTransform (double x) const
       Exact transformation.

       This function is similar to QwtDiMap::transform, but makes the integer
       interval appear to be double.

       Parameters:
           x value to be transformed

       Returns:

           linear mapping:
               i1 + (i2 - i1) / (d2 - d1) * (x - d1)

           logarithmic mapping:
               i1 + (i2 - i1) / log(d2 / d1) * log(x / d1)

       Definition at line 185 of file qwt_dimap.cpp.

       Referenced by QwtPlot::closestCurve(), QwtPlot::closestMarker(), and
       QwtCurve::drawSpline().

Author

       Generated automatically by Doxygen for Qwt User’s Guide from the source
       code.