Man Linux: Main Page and Category List

NAME

       QwtScaleDiv -

SYNOPSIS

Detailed Description

       A class for building scale divisions.

       The QwtScaleDiv class can build linear and logarithmic scale divisions
       for specified intervals. It uses an adjustable algorithm to generate
       the major and minor step widths automatically. A scale division has a
       minimum value, a maximum value, a vector of major marks, and a vector
       of minor marks.

       Warning:
           QwtScaleDiv uses implicit sharing for the mark vectors.

       Example.RS 4 To build a logarithmic scale division from 0.01 to 1000
       and print out the major and minor marks.

       #include "../include/qwt_scldiv.h>
       #include <iostream.h>

       main()
       {
         int i,k;
         QwtScaleDiv sd;

         sd.rebuild(0.01, 100, 10, 10, TRUE, 0.0);

         k=0;
         for (i=0;i<sd.majCnt();i++)
         {
           while(k < sd.minCnt())
           {
             if (sd.minMark(k) < sd.majMark(i))
             {
               cout << " - " << sd.minMark(i) << "0;
           k++;
             }
             else
               break;
           }
           cout << "-- " << sd.majMark(i) << "0;
         }
         while(k < sd.minCnt())
         {
           cout << " - " << sd.minMark(i) << "0;
           k++;
         }
       }

       Definition at line 69 of file qwt_scldiv.h.

   Public Member Functions
       QwtScaleDiv ()
       int operator== (const QwtScaleDiv &s) const
       int operator!= (const QwtScaleDiv &s) const
       double lBound () const
       double hBound () const
       uint minCnt () const
       uint majCnt () const
       bool logScale () const
       double majMark (int i) const
       double minMark (int i) const
       double majStep () const
       void reset ()
       bool rebuild (double lBound, double hBound, int maxMaj, int maxMin,
           bool log, double step=0.0, bool ascend=TRUE)

Constructor & Destructor Documentation

   QwtScaleDiv::QwtScaleDiv ()
       Construct a QwtScaleDiv instance.

       Definition at line 42 of file qwt_scldiv.cpp.

Member Function Documentation

   double QwtScaleDiv::hBound () const
       Returns:
           right bound

       See also:
           QwtScaleDiv::rebuild

       Definition at line 86 of file qwt_scldiv.h.

       Referenced by QwtPlot::canvasMap(), QwtPlot::print(),
       QwtPlotPicker::scaleRect(), QwtScaleDraw::setScale(),
       QwtScaleIf::setScaleMaxMajor(), and QwtScaleIf::setScaleMaxMinor().

   double QwtScaleDiv::lBound () const
       Returns:
           left bound

       See also:
           QwtScaleDiv::rebuild

       Definition at line 81 of file qwt_scldiv.h.

       Referenced by QwtPlot::canvasMap(), QwtPlot::print(),
       QwtPlotPicker::scaleRect(), QwtScaleDraw::setScale(),
       QwtScaleIf::setScaleMaxMajor(), and QwtScaleIf::setScaleMaxMinor().

   bool QwtScaleDiv::logScale () const
       Returns:
           TRUE id ths scale div is logarithmic

       See also:
           QwtScaleDiv::rebuild

       Definition at line 102 of file qwt_scldiv.h.

       Referenced by QwtPlot::canvasMap(), QwtScaleDraw::draw(),
       QwtScaleDraw::labelPlacement(), QwtScaleDraw::maxLabelHeight(),
       QwtScaleDraw::maxLabelWidth(), QwtPlot::print(),
       QwtScaleDraw::setScale(), QwtScaleIf::setScaleMaxMajor(), and
       QwtScaleIf::setScaleMaxMinor().

   uint QwtScaleDiv::majCnt () const
       Returns:
           major mark count

       See also:
           QwtScaleDiv::rebuild

       Definition at line 96 of file qwt_scldiv.h.

       Referenced by QwtScaleDraw::draw(), QwtGrid::draw(),
       QwtScaleDraw::maxLabelHeight(), QwtScaleDraw::maxLabelWidth(),
       QwtScaleDraw::minBorderDist(), QwtScaleDraw::minHeight(),
       QwtScaleDraw::minLabelDist(), QwtScaleDraw::minWidth(),
       QwtScaleIf::setScale(), and QwtPlot::sizeHint().

   double QwtScaleDiv::majMark (int i) const
       Return major mark at position i.

       Definition at line 105 of file qwt_scldiv.h.

       Referenced by QwtScaleDraw::draw(), QwtGrid::draw(),
       QwtScaleDraw::maxLabelHeight(), QwtScaleDraw::maxLabelWidth(),
       QwtScaleDraw::minBorderDist(), and QwtScaleDraw::minLabelDist().

   double QwtScaleDiv::majStep () const
       Returns:
           major step size

       See also:
           QwtScaleDiv::rebuild

       Definition at line 113 of file qwt_scldiv.h.

       Referenced by QwtScaleDraw::draw(), QwtScaleDraw::labelPlacement(),
       QwtScaleDraw::maxLabelHeight(), and QwtScaleDraw::maxLabelWidth().

   uint QwtScaleDiv::minCnt () const
       Returns:
           minor mark count

       See also:
           QwtScaleDiv::rebuild

       Definition at line 91 of file qwt_scldiv.h.

       Referenced by QwtScaleDraw::draw(), QwtGrid::draw(),
       QwtScaleDraw::minHeight(), QwtScaleDraw::minWidth(), and
       QwtScaleIf::setScale().

   double QwtScaleDiv::minMark (int i) const
       Return minor mark at position i.

       Definition at line 107 of file qwt_scldiv.h.

       Referenced by QwtScaleDraw::draw(), and QwtGrid::draw().

   int QwtScaleDiv::operator!= (const QwtScaleDiv & s) const
       Inequality.

       Returns:
           TRUE if this instance is not equal to s

       Definition at line 439 of file qwt_scldiv.cpp.

   int QwtScaleDiv::operator== (const QwtScaleDiv & s) const
       Equality operator.

       Returns:
           TRUE if this instance is equal to s

       Definition at line 425 of file qwt_scldiv.cpp.

       References d_hBound, d_lBound, d_log, d_majMarks, d_majStep, and
       d_minMarks.

   bool QwtScaleDiv::rebuild (double x1, double x2, int maxMajSteps, int
       maxMinSteps, bool log, double step = 0.0, bool ascend = TRUE)
       Build a scale width major and minor divisions If no fixed step width is
       specified or if it is set to 0, the major step width will be calculated
       automatically according to the the value of maxMajSteps. The
       maxMajSteps parameter has no effect if a fixed step size is specified.
       The minor step width is always calculated automatically.

       If the step width is to be calculated automatically, the algorithm
       tries to find reasonable values fitting into the scheme {1,2,5}*10^n
       with an integer number n for linear scales.

       For logarithmic scales, there are three different cases .PD 0

       1.  If the major step width is one decade, the minor marks will fit
           into one of the schemes {1,2,...9}, {2,4,6,8}, {2,5} or {5},
           depending on the maxMinSteps parameter.

       2.  If the major step size spans more than one decade, the minor step
           size will be {1,2,5}*10^n decades with a natural number n.

       3.  If the whole range is less than one decade, a linear scale division
           will be built.

       Parameters:
           x1 first boundary value
           x2 second boundary value
           maxMajSteps max. number of major step intervals
           maxMinSteps max. number of minor step intervals
           log logarithmic division (TRUE/FALSE)
           step fixed major step width. Defaults to 0.0.
           ascend if TRUE, sort in ascending order from min(x1, x2) to max(x1,
           x2). If FALSE, sort in the direction from x1 to x2. Defaults to
           TRUE.

       Returns:
           True if the arrays have been allocated successfully.

       Warning:
           For logarithmic scales, the step width is measured in decades.

       Definition at line 86 of file qwt_scldiv.cpp.

       Referenced by QwtAutoScale::build(), QwtAutoScale::buildLinScale(),
       QwtAutoScale::buildLogScale(), and QwtScaleDraw::setScale().

   void QwtScaleDiv::reset ()
       Detach the shared data and set everything to zero.

       Definition at line 445 of file qwt_scldiv.cpp.

       Referenced by QwtAutoScale::reset().

Author

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