Qwt User's Guide  6.1.2
 All Classes Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | Protected Member Functions | List of all members
QwtLogScaleEngine Class Reference

A scale engine for logarithmic scales. More...

#include <qwt_scale_engine.h>

Inheritance diagram for QwtLogScaleEngine:
Inheritance graph
[legend]

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. More...
 
- Public Member Functions inherited from QwtScaleEngine
 QwtScaleEngine (uint base=10)
 
virtual ~QwtScaleEngine ()
 Destructor.
 
void setBase (uint base)
 
uint base () const
 
void setAttribute (Attribute, bool on=true)
 
bool testAttribute (Attribute) const
 
void setAttributes (Attributes)
 
Attributes attributes () const
 
void setReference (double reference)
 Specify a reference point. More...
 
double reference () const
 
void setMargins (double lower, double upper)
 Specify margins at the scale's endpoints. More...
 
double lowerMargin () const
 
double upperMargin () const
 
void setTransformation (QwtTransform *)
 
QwtTransformtransformation () const
 

Protected Member Functions

QwtInterval align (const QwtInterval &, double stepSize) const
 Align an interval to a step size. More...
 
void buildTicks (const QwtInterval &, double stepSize, int maxMinSteps, QList< double > ticks[QwtScaleDiv::NTickTypes]) const
 Calculate ticks for an interval. More...
 
QList< double > buildMajorTicks (const QwtInterval &interval, double stepSize) const
 Calculate major ticks for an interval. More...
 
void buildMinorTicks (const QList< double > &majorTicks, int maxMinorSteps, double stepSize, QList< double > &minorTicks, QList< double > &mediumTicks) const
 Calculate minor/medium ticks for major ticks. More...
 
- Protected Member Functions inherited from QwtScaleEngine
bool contains (const QwtInterval &, double val) const
 
QList< double > strip (const QList< double > &, const QwtInterval &) const
 
double divideInterval (double interval, int numSteps) const
 
QwtInterval buildInterval (double v) const
 Build an interval around a value. More...
 

Additional Inherited Members

- Public Types inherited from QwtScaleEngine
enum  Attribute {
  NoAttribute = 0x00, IncludeReference = 0x01, Symmetric = 0x02, Floating = 0x04,
  Inverted = 0x08
}
 
typedef QFlags< AttributeAttributes
 Layout attributes.
 

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

QwtLogScaleEngine::QwtLogScaleEngine ( uint  base = 10)

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.