Qwt User's Guide 5.2.2
Public Types | Public Member Functions | Protected Member Functions

QwtLinearScaleEngine Class Reference

A scale engine for linear scales. More...

#include <qwt_scale_engine.h>

Inheritance diagram for QwtLinearScaleEngine:
Inheritance graph
[legend]

List of all members.

Public Types

enum  Attribute {
  NoAttribute = 0,
  IncludeReference = 1,
  Symmetric = 2,
  Floating = 4,
  Inverted = 8
}

Public Member Functions

int attributes () const
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
double lowerMargin () const
double reference () const
void setAttribute (Attribute, bool on=true)
void setAttributes (int)
void setMargins (double lower, double upper)
void setReference (double reference)
bool testAttribute (Attribute) const
virtual QwtScaleTransformation * transformation () const
double upperMargin () const

Protected Member Functions

QwtDoubleInterval align (const QwtDoubleInterval &, double stepSize) const
QwtDoubleInterval buildInterval (double v) const
bool contains (const QwtDoubleInterval &, double val) const
double divideInterval (double interval, int numSteps) const
QwtValueList strip (const QwtValueList &, const QwtDoubleInterval &) const

Detailed Description

A scale engine for linear scales.

The step size will fit into the pattern $\left\{ 1,2,5\right\} \cdot 10^{n}$, where n is an integer.


Member Enumeration Documentation

enum QwtScaleEngine::Attribute [inherited]
  • IncludeReference
    Build a scale which includes the reference() value.
  • Symmetric
    Build a scale which is symmetric to the reference() value.
  • Floating
    The endpoints of the scale are supposed to be equal the outmost included values plus the specified margins (see setMargins()). If this attribute is *not* set, the endpoints of the scale will be integer multiples of the step size.
  • Inverted
    Turn the scale upside down.
See also:
setAttribute(), testAttribute(), reference(), lowerMargin(), upperMargin()

Member Function Documentation

QwtDoubleInterval QwtLinearScaleEngine::align ( const QwtDoubleInterval &  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
int QwtScaleEngine::attributes ( ) const [inherited]

Return the scale attributes

See also:
Attribute, setAttributes(), testAttribute()
void QwtLinearScaleEngine::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:
setAttribute()

Implements QwtScaleEngine.

QwtDoubleInterval QwtScaleEngine::buildInterval ( double  v) const [protected, inherited]

Build an interval for a value.

In case of v == 0.0 the interval is [-0.5, 0.5], otherwide it is [0.5 * v, 1.5 * v]

bool QwtScaleEngine::contains ( const QwtDoubleInterval &  interval,
double  value 
) const [protected, inherited]

Check if an interval "contains" a value

Parameters:
intervalInterval
valueValue
See also:
QwtScaleArithmetic::compareEps()
double QwtScaleEngine::divideInterval ( double  intervalSize,
int  numSteps 
) const [protected, inherited]

Calculate a step size for an interval size

Parameters:
intervalSizeInterval size
numStepsNumber of steps
Returns:
Step size
QwtScaleDiv QwtLinearScaleEngine::divideScale ( double  x1,
double  x2,
int  maxMajSteps,
int  maxMinSteps,
double  stepSize = 0.0 
) const [virtual]

Calculate a scale division.

Parameters:
x1First interval limit
x2Second interval limit
maxMajStepsMaximum for the number of major steps
maxMinStepsMaximum number of minor steps
stepSizeStep size. If stepSize == 0, the scaleEngine calculates one.
See also:
QwtScaleEngine::stepSize(), QwtScaleEngine::subDivide()

Implements QwtScaleEngine.

double QwtScaleEngine::lowerMargin ( ) const [inherited]
Returns:
the margin at the lower end of the scale The default margin is 0.
See also:
setMargins()
double QwtScaleEngine::reference ( ) const [inherited]
Returns:
the reference value
See also:
setReference(), setAttribute()
void QwtScaleEngine::setAttribute ( Attribute  attribute,
bool  on = true 
) [inherited]

Change a scale attribute

Parameters:
attributeAttribute to change
onOn/Off
See also:
Attribute, testAttribute()
void QwtScaleEngine::setAttributes ( int  attributes) [inherited]

Change the scale attribute

Parameters:
attributesSet scale attributes
See also:
Attribute, attributes()
void QwtScaleEngine::setMargins ( double  lower,
double  upper 
) [inherited]

Specify margins at the scale's endpoints.

Parameters:
lowerminimum distance between the scale's lower boundary and the smallest enclosed value
upperminimum distance between the scale's upper boundary and the greatest enclosed value

Margins can be used to leave a minimum amount of space between the enclosed intervals and the boundaries of the scale.

Warning:
See also:
upperMargin(), lowerMargin()
void QwtScaleEngine::setReference ( double  r) [inherited]

Specify a reference point.

Parameters:
rnew reference value

The reference point is needed if options IncludeReference or Symmetric are active. Its default value is 0.0.

See also:
Attribute
QwtValueList QwtScaleEngine::strip ( const QwtValueList &  ticks,
const QwtDoubleInterval &  interval 
) const [protected, inherited]

Remove ticks from a list, that are not inside an interval

Parameters:
ticksTick list
intervalInterval
Returns:
Stripped tick list
bool QwtScaleEngine::testAttribute ( Attribute  attribute) const [inherited]

Check if a attribute is set.

Parameters:
attributeAttribute to be tested
See also:
Attribute, setAttribute()
QwtScaleTransformation * QwtLinearScaleEngine::transformation ( ) const [virtual]

Return a transformation, for linear scales

Implements QwtScaleEngine.

double QwtScaleEngine::upperMargin ( ) const [inherited]
Returns:
the margin at the upper end of the scale The default margin is 0.
See also:
setMargins()