|
QWT 7.0.1
|
Base class for scale engines./刻度引擎的基类 More...
#include <qwt_scale_engine.h>
Classes | |
| class | PrivateData |
Public Types | |
| enum | Attribute { NoAttribute = 0x00 , IncludeReference = 0x01 , Symmetric = 0x02 , Floating = 0x04 , Inverted = 0x08 } |
| Layout attributes/布局属性 More... | |
Public Member Functions | |
| 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 |
| virtual void | autoScale (int maxNumSteps, double &x1, double &x2, double &stepSize) const =0 |
| Align and divide an interval. | |
| virtual QwtScaleDiv | divideScale (double x1, double x2, int maxMajorSteps, int maxMinorSteps, double stepSize=0.0) const =0 |
| Calculate a scale division. | |
| void | setTransformation (QwtTransform *) |
| Assign a transformation. | |
| QwtTransform * | transformation () const |
| Create and return a clone of the transformation of the engine. | |
Protected Member Functions | |
| 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. | |
Base class for scale engines./刻度引擎的基类
A scale engine tries to find "reasonable" ranges and step sizes for scales.
刻度引擎用于为坐标轴寻找“合理”的数值范围和步长。
The layout of the scale can be varied with setAttribute().
可通过 setAttribute() 方法调整刻度的布局样式。
Qwt offers implementations for logarithmic and linear scales.
Qwt 库提供了对数刻度和线性刻度的具体实现。
Layout attributes/布局属性
| Enumerator | |
|---|---|
| NoAttribute | No attributes/无属性 |
| IncludeReference | Build a scale which includes the reference() value./构建包含 reference() 参考值的刻度 |
| Symmetric | Build a scale which is symmetric to the reference() value./构建相对于 reference() 参考值对称的刻度 |
| 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. 刻度的端点值 = 最外侧包含值 + 指定边距(详见 setMargins() 方法)。 若未设置此属性,刻度的端点值将为步长的整数倍。 |
| Inverted | Turn the scale upside down./将刻度上下翻转(逆序显示) |
|
explicit |
| QwtScaleEngine::Attributes QwtScaleEngine::attributes | ( | ) | const |
|
pure virtual |
Align and divide an interval.
| maxNumSteps | Max. number of steps |
| x1 | First limit of the interval (In/Out) |
| x2 | Second limit of the interval (In/Out) |
| stepSize | Step size (Return value) |
Implemented in QwtDateScaleEngine, QwtLinearScaleEngine, and QwtLogScaleEngine.
| uint QwtScaleEngine::base | ( | ) | const |
|
protected |
Build an interval around a value.
In case of v == 0.0 the interval is [-0.5, 0.5], otherwise it is [0.5 * v, 1.5 * v]
| value | Initial value |
|
protected |
Check if an interval "contains" a value.
| interval | Interval |
| value | Value |
|
protected |
Calculate a step size for an interval size.
| intervalSize | Interval size |
| numSteps | Number of steps |
|
pure virtual |
Calculate a scale division.
| x1 | First interval limit |
| x2 | Second interval limit |
| maxMajorSteps | Maximum for the number of major steps |
| maxMinorSteps | Maximum number of minor steps |
| stepSize | Step size. If stepSize == 0.0, the scaleEngine calculates one. |
Implemented in QwtDateScaleEngine, QwtLinearScaleEngine, and QwtLogScaleEngine.
| double QwtScaleEngine::lowerMargin | ( | ) | const |
| double QwtScaleEngine::reference | ( | ) | const |
| void QwtScaleEngine::setAttribute | ( | Attribute | attribute, |
| bool | on = true |
||
| ) |
Change a scale attribute.
| attribute | Attribute to change |
| on | On/Off |
| void QwtScaleEngine::setAttributes | ( | Attributes | attributes | ) |
Change the scale attribute.
| attributes | Set scale attributes |
| void QwtScaleEngine::setBase | ( | uint | base | ) |
Set the base of the scale engine.
While a base of 10 is what 99.9% of all applications need certain scales might need a different base: f.e 2
The default setting is 10
| base | Base of the engine |
| void QwtScaleEngine::setMargins | ( | double | lower, |
| double | upper | ||
| ) |
Specify margins at the scale's endpoints.
| lower | minimum distance between the scale's lower boundary and the smallest enclosed value |
| upper | minimum 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.
| void QwtScaleEngine::setReference | ( | double | reference | ) |
Specify a reference point.
| reference | New reference value |
The reference point is needed if options IncludeReference or Symmetric are active. Its default value is 0.0.
| void QwtScaleEngine::setTransformation | ( | QwtTransform * | transform | ) |
Assign a transformation.
| transform | Transformation |
The transformation object is used as factory for clones that are returned by transformation()
The scale engine takes ownership of the transformation.
|
protected |
Remove ticks from a list, that are not inside an interval.
| ticks | Tick list |
| interval | Interval |
| bool QwtScaleEngine::testAttribute | ( | Attribute | attribute | ) | const |
| attribute | Attribute to be tested |
| QwtTransform * QwtScaleEngine::transformation | ( | ) | const |
Create and return a clone of the transformation of the engine.
When the engine has no special transformation NULL is returned, indicating no transformation.
| double QwtScaleEngine::upperMargin | ( | ) | const |