Qwt User's Guide
QwtLogScaleEngine Class Reference

A scale engine for logarithmic scales. More...

#include <qwt_scale_engine.h>

Inheritance diagram for QwtLogScaleEngine:

Public Member Functions

 QwtLogScaleEngine (uint base=10)
virtual ~QwtLogScaleEngine ()
 Destructor.
virtual void autoScale (int maxSteps, double &x1, double &x2, double &stepSize) const
virtual QwtScaleDiv divideScale (double x1, double x2, int numMajorSteps, int numMinorSteps, double stepSize=0.0) const
 Calculate a scale division for an interval.

Protected Member Functions

QwtInterval align (const QwtInterval &, double stepSize) const
 Align an interval to a step size.
void buildTicks (const QwtInterval &, double stepSize, int maxMinSteps, QList< double > ticks[QwtScaleDiv::NTickTypes]) const
 Calculate ticks for an interval.
QList< double > buildMajorTicks (const QwtInterval &interval, double stepSize) const
 Calculate major ticks for an interval.
void buildMinorTicks (const QList< double > &majorTicks, int maxMinorSteps, double stepSize, QList< double > &minorTicks, QList< double > &mediumTicks) const
 Calculate minor/medium ticks for major ticks.

Detailed Description

A scale engine for logarithmic scales.

The step size is measured in *decades* and the major step size will be adjusted to fit the pattern $\left\{ 1,2,3,5\right\} \cdot 10^{n}$, where n is a natural number including zero.

Warning:
the step size as well as the margins are measured in *decades*.

Constructor & Destructor Documentation

Constructor

Parameters:
baseBase of the scale engine
See also:
setBase()

Member Function Documentation

QwtInterval QwtLogScaleEngine::align ( const QwtInterval interval,
double  stepSize 
) const [protected]

Align an interval to a step size.

The limits of an interval are aligned that both are integer multiples of the step size.

Parameters:
intervalInterval
stepSizeStep size
Returns:
Aligned interval
void QwtLogScaleEngine::autoScale ( int  maxNumSteps,
double &  x1,
double &  x2,
double &  stepSize 
) const [virtual]

Align and divide an interval

Parameters:
maxNumStepsMax. number of steps
x1First limit of the interval (In/Out)
x2Second limit of the interval (In/Out)
stepSizeStep size (Out)
See also:
QwtScaleEngine::setAttribute()

Implements QwtScaleEngine.

QList< double > QwtLogScaleEngine::buildMajorTicks ( const QwtInterval interval,
double  stepSize 
) const [protected]

Calculate major ticks for an interval.

Parameters:
intervalInterval
stepSizeStep size
Returns:
Calculated ticks
void QwtLogScaleEngine::buildMinorTicks ( const QList< double > &  majorTicks,
int  maxMinorSteps,
double  stepSize,
QList< double > &  minorTicks,
QList< double > &  mediumTicks 
) const [protected]

Calculate minor/medium ticks for major ticks.

Parameters:
majorTicksMajor ticks
maxMinorStepsMaximum number of minor steps
stepSizeStep size
minorTicksArray to be filled with the calculated minor ticks
mediumTicksArray to be filled with the calculated medium ticks
void QwtLogScaleEngine::buildTicks ( const QwtInterval interval,
double  stepSize,
int  maxMinorSteps,
QList< double >  ticks[QwtScaleDiv::NTickTypes] 
) const [protected]

Calculate ticks for an interval.

Parameters:
intervalInterval
maxMinorStepsMaximum number of minor steps
stepSizeStep size
ticksArrays to be filled with the calculated ticks
See also:
buildMajorTicks(), buildMinorTicks
QwtScaleDiv QwtLogScaleEngine::divideScale ( double  x1,
double  x2,
int  maxMajorSteps,
int  maxMinorSteps,
double  stepSize = 0.0 
) const [virtual]

Calculate a scale division for an interval.

Parameters:
x1First interval limit
x2Second interval limit
maxMajorStepsMaximum for the number of major steps
maxMinorStepsMaximum number of minor steps
stepSizeStep size. If stepSize == 0, the engine calculates one.
Returns:
Calculated scale division

Implements QwtScaleEngine.

List of all members.

 All Classes Functions Variables Typedefs Enumerations Enumerator