Qwt User's Guide  6.2.0
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 maxNumSteps, double &x1, double &x2, double &stepSize) const override
 
virtual QwtScaleDiv divideScale (double x1, double x2, int maxMajorSteps, int maxMinorSteps, double stepSize=0.0) const override
 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)
 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 maxMinorSteps, 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 value) const
 
QList< double > strip (const QList< double > &, const QwtInterval &) const
 
double divideInterval (double intervalSize, int numSteps) const
 
QwtInterval buildInterval (double value) 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
 

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.

Definition at line 191 of file qwt_scale_engine.h.

Constructor & Destructor Documentation

◆ QwtLogScaleEngine()

QwtLogScaleEngine::QwtLogScaleEngine ( uint  base = 10)
explicit

Constructor

Parameters
baseBase of the scale engine
See also
setBase()

Definition at line 776 of file qwt_scale_engine.cpp.

Member Function Documentation

◆ align()

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

Definition at line 1106 of file qwt_scale_engine.cpp.

◆ autoScale()

void QwtLogScaleEngine::autoScale ( int  maxNumSteps,
double &  x1,
double &  x2,
double &  stepSize 
) const
overridevirtual

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.

Definition at line 797 of file qwt_scale_engine.cpp.

◆ buildMajorTicks()

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

Calculate major ticks for an interval.

Parameters
intervalInterval
stepSizeStep size
Returns
Calculated ticks

Definition at line 967 of file qwt_scale_engine.cpp.

◆ buildMinorTicks()

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

Definition at line 1002 of file qwt_scale_engine.cpp.

◆ buildTicks()

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

Definition at line 940 of file qwt_scale_engine.cpp.

◆ divideScale()

QwtScaleDiv QwtLogScaleEngine::divideScale ( double  x1,
double  x2,
int  maxMajorSteps,
int  maxMinorSteps,
double  stepSize = 0.0 
) const
overridevirtual

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.

Definition at line 879 of file qwt_scale_engine.cpp.