QWT 7.0.1
Loading...
Searching...
No Matches
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:
QwtScaleEngine

Public Member Functions

 QwtLogScaleEngine (uint base=10)
 Constructor.
 
virtual ~QwtLogScaleEngine ()
 Destructor.
 
virtual void autoScale (int maxNumSteps, double &x1, double &x2, double &stepSize) const QWT_OVERRIDE
 Align and divide an interval.
 
virtual QwtScaleDiv divideScale (double x1, double x2, int maxMajorSteps, int maxMinorSteps, double stepSize=0.0) const QWT_OVERRIDE
 Calculate a scale division for an interval.
 
- Public Member Functions inherited from QwtScaleEngine
 QwtScaleEngine (uint base=10)
 Constructor.
 
virtual ~QwtScaleEngine ()
 Destructor.
 
void setBase (uint base)
 Set the base of the scale engine.
 
uint base () const
 
void setAttribute (Attribute, bool on=true)
 Change a scale attribute.
 
bool testAttribute (Attribute) const
 
void setAttributes (Attributes)
 Change the scale attribute.
 
Attributes attributes () const
 
void setReference (double)
 Specify a reference point.
 
double reference () const
 
void setMargins (double lower, double upper)
 Specify margins at the scale's endpoints.
 
double lowerMargin () const
 
double upperMargin () const
 
void setTransformation (QwtTransform *)
 Assign a transformation.
 
QwtTransformtransformation () const
 Create and return a clone of the transformation of the engine.
 

Protected Member Functions

QwtInterval align (const QwtInterval &, double stepSize) const
 Align an interval to a step size.
 
void buildTicks (const QwtInterval &, double stepSize, int maxMinorSteps, 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.
 
- Protected Member Functions inherited from QwtScaleEngine
bool contains (const QwtInterval &, double value) const
 Check if an interval "contains" a value.
 
QList< double > strip (const QList< double > &, const QwtInterval &) const
 Remove ticks from a list, that are not inside an interval.
 
double divideInterval (double intervalSize, int numSteps) const
 Calculate a step size for an interval size.
 
QwtInterval buildInterval (double value) const
 Build an interval around a value.
 

Additional Inherited Members

- Public Types inherited from QwtScaleEngine
enum  Attribute {
  NoAttribute = 0x00 , IncludeReference = 0x01 , Symmetric = 0x02 , Floating = 0x04 ,
  Inverted = 0x08
}
 Layout attributes/布局属性 More...
 

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::QwtLogScaleEngine ( uint  base = 10)
explicit

Constructor.

Parameters
baseBase of the scale engine
See also
setBase()

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

◆ autoScale()

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.

◆ 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

◆ 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

◆ 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

◆ divideScale()

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.


The documentation for this class was generated from the following files: