Eneboo - Documentación para desarrolladores
|
A class which draws curves. Más...
#include <qwt_plot_curve.h>
Clases | |
class | PrivateData |
Tipos públicos | |
enum | CurveType { Yfx, Xfy } |
enum | CurveStyle { NoCurve, Lines, Sticks, Steps, Dots, UserCurve = 100 } |
enum | CurveAttribute { Inverted = 1, Fitted = 2 } |
enum | PaintAttribute { PaintFiltered = 1, ClipPolygons = 2 } |
Métodos públicos | |
QwtPlotCurve () | |
Constructor. | |
QwtPlotCurve (const QwtText &title) | |
QwtPlotCurve (const QString &title) | |
virtual | ~QwtPlotCurve () |
Destructor. | |
virtual int | rtti () const |
void | setCurveType (CurveType) |
CurveType | curveType () const |
void | setPaintAttribute (PaintAttribute, bool on=true) |
Specify an attribute how to draw the curve. | |
bool | testPaintAttribute (PaintAttribute) const |
Return the current paint attributes. | |
void | setRawData (const double *x, const double *y, int size) |
Initialize the data by pointing to memory blocks which are not managed by QwtPlotCurve. | |
void | setData (const double *xData, const double *yData, int size) |
void | setData (const QwtArray< double > &xData, const QwtArray< double > &yData) |
Initialize data with x- and y-arrays (explicitly shared) | |
void | setData (const QwtArray< QwtDoublePoint > &data) |
void | setData (const QwtData &data) |
int | closestPoint (const QPoint &pos, double *dist=NULL) const |
QwtData & | data () |
const QwtData & | data () const |
int | dataSize () const |
double | x (int i) const |
double | y (int i) const |
virtual QwtDoubleRect | boundingRect () const |
double | minXValue () const |
boundingRect().left() | |
double | maxXValue () const |
boundingRect().right() | |
double | minYValue () const |
boundingRect().top() | |
double | maxYValue () const |
boundingRect().bottom() | |
void | setCurveAttribute (CurveAttribute, bool on=true) |
Specify an attribute for drawing the curve. | |
bool | testCurveAttribute (CurveAttribute) const |
void | setPen (const QPen &) |
Assign a pen. | |
const QPen & | pen () const |
Return the pen used to draw the lines. | |
void | setBrush (const QBrush &) |
Assign a brush. In case of brush.style() != QBrush::NoBrush and style() != QwtPlotCurve::Sticks the area between the curve and the baseline will be filled. In case !brush.color().isValid() the area will be filled by pen.color(). The fill algorithm simply connects the first and the last curve point to the baseline. So the curve data has to be sorted (ascending or descending). | |
const QBrush & | brush () const |
Return the brush used to fill the area between lines and the baseline. | |
void | setBaseline (double ref) |
Set the value of the baseline. | |
double | baseline () const |
void | setStyle (CurveStyle style) |
Set the curve's drawing style. | |
CurveStyle | style () const |
Return the current style. | |
void | setSymbol (const QwtSymbol &s) |
Assign a symbol. | |
const QwtSymbol & | symbol () const |
Return the current symbol. | |
void | setCurveFitter (QwtCurveFitter *) |
QwtCurveFitter * | curveFitter () const |
virtual void | draw (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRect &) const |
Draw the complete curve. | |
virtual void | draw (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, int from, int to) const |
Draw an interval of the curve. | |
void | draw (int from, int to) const |
Draw a set of points of a curve. | |
virtual void | updateLegend (QwtLegend *) const |
Update the widget that represents the curve on the legend. | |
Métodos protegidos | |
void | init () |
Initialize data members. | |
virtual void | drawCurve (QPainter *p, int style, const QwtScaleMap &xMap, const QwtScaleMap &yMap, int from, int to) const |
Draw the line part (without symbols) of a curve interval. | |
virtual void | drawSymbols (QPainter *p, const QwtSymbol &, const QwtScaleMap &xMap, const QwtScaleMap &yMap, int from, int to) const |
Draw symbols. | |
void | drawLines (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, int from, int to) const |
Draw lines. | |
void | drawSticks (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, int from, int to) const |
void | drawDots (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, int from, int to) const |
void | drawSteps (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, int from, int to) const |
void | fillCurve (QPainter *, const QwtScaleMap &, const QwtScaleMap &, QwtPolygon &) const |
void | closePolyline (const QwtScaleMap &, const QwtScaleMap &, QwtPolygon &) const |
Complete a polygon to be a closed polygon including the area between the original polygon and the baseline. |
A class which draws curves.
This class can be used to display data as a curve in the x-y plane. It supports different display styles, spline interpolation and symbols.
Curve attributes.
Curve styles.
Paint attributes
QwtPlotCurve::QwtPlotCurve | ( | ) | [explicit] |
Constructor.
QwtPlotCurve::QwtPlotCurve | ( | const QwtText & | title | ) | [explicit] |
Constructor
title | title of the curve |
QwtPlotCurve::QwtPlotCurve | ( | const QString & | title | ) | [explicit] |
Constructor
title | title of the curve |
QwtPlotCurve::~QwtPlotCurve | ( | ) | [virtual] |
Destructor.
double QwtPlotCurve::baseline | ( | ) | const |
Return the value of the baseline
QwtDoubleRect QwtPlotCurve::boundingRect | ( | ) | const [virtual] |
Returns the bounding rectangle of the curve data. If there is no bounding rect, like for empty data the rectangle is invalid.
Reimplementado de QwtPlotItem.
const QBrush & QwtPlotCurve::brush | ( | ) | const |
Return the brush used to fill the area between lines and the baseline.
void QwtPlotCurve::closePolyline | ( | const QwtScaleMap & | xMap, |
const QwtScaleMap & | yMap, | ||
QwtPolygon & | pa | ||
) | const [protected] |
Complete a polygon to be a closed polygon including the area between the original polygon and the baseline.
xMap | X map |
yMap | Y map |
pa | Polygon to be completed |
QwtCurveFitter * QwtPlotCurve::curveFitter | ( | ) | const |
QwtPlotCurve::CurveType QwtPlotCurve::curveType | ( | ) | const |
Return the curve type
QwtData & QwtPlotCurve::data | ( | ) | [inline] |
const QwtData & QwtPlotCurve::data | ( | ) | const [inline] |
void QwtPlotCurve::draw | ( | QPainter * | painter, |
const QwtScaleMap & | xMap, | ||
const QwtScaleMap & | yMap, | ||
const QRect & | |||
) | const [virtual] |
Draw the complete curve.
painter | Painter |
xMap | Maps x-values into pixel coordinates. |
yMap | Maps y-values into pixel coordinates. |
Implementa QwtPlotItem.
void QwtPlotCurve::draw | ( | QPainter * | painter, |
const QwtScaleMap & | xMap, | ||
const QwtScaleMap & | yMap, | ||
int | from, | ||
int | to | ||
) | const [virtual] |
Draw an interval of the curve.
painter | Painter |
xMap | maps x-values into pixel coordinates. |
yMap | maps y-values into pixel coordinates. |
from | index of the first point to be painted |
to | index of the last point to be painted. If to < 0 the curve will be painted to its last point. |
Draw a set of points of a curve.
When observing an measurement while it is running, new points have to be added to an existing curve. drawCurve can be used to display them avoiding a complete redraw of the canvas.
Setting plot()->canvas()->setAttribute(Qt::WA_PaintOutsidePaintEvent, true); will result in faster painting, if the paint engine of the canvas widget supports this feature.
from | Index of the first point to be painted |
to | Index of the last point to be painted. If to < 0 the curve will be painted to its last point. |
void QwtPlotCurve::drawCurve | ( | QPainter * | painter, |
int | style, | ||
const QwtScaleMap & | xMap, | ||
const QwtScaleMap & | yMap, | ||
int | from, | ||
int | to | ||
) | const [protected, virtual] |
Draw the line part (without symbols) of a curve interval.
painter | Painter |
style | curve style, see QwtPlotCurve::CurveStyle |
xMap | x map |
yMap | y map |
from | index of the first point to be painted |
to | index of the last point to be painted |
void QwtPlotCurve::drawDots | ( | QPainter * | painter, |
const QwtScaleMap & | xMap, | ||
const QwtScaleMap & | yMap, | ||
int | from, | ||
int | to | ||
) | const [protected] |
Draw dots
painter | Painter |
xMap | x map |
yMap | y map |
from | index of the first point to be painted |
to | index of the last point to be painted |
void QwtPlotCurve::drawLines | ( | QPainter * | painter, |
const QwtScaleMap & | xMap, | ||
const QwtScaleMap & | yMap, | ||
int | from, | ||
int | to | ||
) | const [protected] |
Draw lines.
If the CurveAttribute Fitted is enabled a QwtCurveFitter tries to interpolate/smooth the curve, before it is painted.
painter | Painter |
xMap | x map |
yMap | y map |
from | index of the first point to be painted |
to | index of the last point to be painted |
void QwtPlotCurve::drawSteps | ( | QPainter * | painter, |
const QwtScaleMap & | xMap, | ||
const QwtScaleMap & | yMap, | ||
int | from, | ||
int | to | ||
) | const [protected] |
Draw step function
The direction of the steps depends on Inverted attribute.
painter | Painter |
xMap | x map |
yMap | y map |
from | index of the first point to be painted |
to | index of the last point to be painted |
void QwtPlotCurve::drawSticks | ( | QPainter * | painter, |
const QwtScaleMap & | xMap, | ||
const QwtScaleMap & | yMap, | ||
int | from, | ||
int | to | ||
) | const [protected] |
Draw sticks
painter | Painter |
xMap | x map |
yMap | y map |
from | index of the first point to be painted |
to | index of the last point to be painted |
void QwtPlotCurve::drawSymbols | ( | QPainter * | painter, |
const QwtSymbol & | symbol, | ||
const QwtScaleMap & | xMap, | ||
const QwtScaleMap & | yMap, | ||
int | from, | ||
int | to | ||
) | const [protected, virtual] |
Draw symbols.
painter | Painter |
symbol | Curve symbol |
xMap | x map |
yMap | y map |
from | index of the first point to be painted |
to | index of the last point to be painted |
void QwtPlotCurve::fillCurve | ( | QPainter * | painter, |
const QwtScaleMap & | xMap, | ||
const QwtScaleMap & | yMap, | ||
QwtPolygon & | pa | ||
) | const [protected] |
Fill the area between the curve and the baseline with the curve brush
painter | Painter |
xMap | x map |
yMap | y map |
pa | Polygon |
void QwtPlotCurve::init | ( | ) | [protected] |
Initialize data members.
double QwtPlotCurve::maxXValue | ( | ) | const [inline] |
boundingRect().right()
double QwtPlotCurve::maxYValue | ( | ) | const [inline] |
boundingRect().bottom()
double QwtPlotCurve::minXValue | ( | ) | const [inline] |
boundingRect().left()
double QwtPlotCurve::minYValue | ( | ) | const [inline] |
boundingRect().top()
const QPen & QwtPlotCurve::pen | ( | ) | const |
int QwtPlotCurve::rtti | ( | ) | const [virtual] |
Reimplementado de QwtPlotItem.
void QwtPlotCurve::setBaseline | ( | double | reference | ) |
Set the value of the baseline.
The baseline is needed for filling the curve with a brush or the Sticks drawing style. The default value is 0.0. The interpretation of the baseline depends on the CurveType. With QwtPlotCurve::Yfx, the baseline is interpreted as a horizontal line at y = baseline(), with QwtPlotCurve::Yfy, it is interpreted as a vertical line at x = baseline().
reference | baseline |
void QwtPlotCurve::setBrush | ( | const QBrush & | brush | ) |
Assign a brush. In case of brush.style() != QBrush::NoBrush and style() != QwtPlotCurve::Sticks the area between the curve and the baseline will be filled. In case !brush.color().isValid() the area will be filled by pen.color(). The fill algorithm simply connects the first and the last curve point to the baseline. So the curve data has to be sorted (ascending or descending).
brush | New brush |
void QwtPlotCurve::setCurveAttribute | ( | CurveAttribute | attribute, |
bool | on = true |
||
) |
Specify an attribute for drawing the curve.
The attributes can be used to modify the drawing style. The following attributes are defined:
attribute | Curve attribute |
on | On/Off |
void QwtPlotCurve::setCurveFitter | ( | QwtCurveFitter * | curveFitter | ) |
void QwtPlotCurve::setCurveType | ( | CurveType | curveType | ) |
Assign the curve type
QwtPlotCurve::Yfx Draws y as a function of x (the default). The baseline is interpreted as a horizontal line with y = baseline().
QwtPlotCurve::Xfy Draws x as a function of y. The baseline is interpreted as a vertical line with x = baseline().
The baseline is used for aligning the sticks, or filling the curve with a brush.
void QwtPlotCurve::setData | ( | const QwtArray< QwtDoublePoint > & | data | ) |
Initialize data with an array of points (explicitly shared).
data | Data |
void QwtPlotCurve::setData | ( | const QwtArray< double > & | xData, |
const QwtArray< double > & | yData | ||
) |
Initialize data with x- and y-arrays (explicitly shared)
xData | x data |
yData | y data |
void QwtPlotCurve::setData | ( | const QwtData & | data | ) |
void QwtPlotCurve::setData | ( | const double * | xData, |
const double * | yData, | ||
int | size | ||
) |
Set data by copying x- and y-values from specified memory blocks. Contrary to setCurveRawData(), this function makes a 'deep copy' of the data.
xData | pointer to x values |
yData | pointer to y values |
size | size of xData and yData |
void QwtPlotCurve::setPaintAttribute | ( | PaintAttribute | attribute, |
bool | on = true |
||
) |
Specify an attribute how to draw the curve.
The attributes can be used to modify the drawing algorithm.
The following attributes are defined:
The default is, that no paint attributes are enabled.
attribute | Paint attribute |
on | On/Off /sa testPaintAttribute() |
void QwtPlotCurve::setPen | ( | const QPen & | pen | ) |
void QwtPlotCurve::setRawData | ( | const double * | xData, |
const double * | yData, | ||
int | size | ||
) |
Initialize the data by pointing to memory blocks which are not managed by QwtPlotCurve.
setRawData is provided for efficiency. It is important to keep the pointers during the lifetime of the underlying QwtCPointerData class.
xData | pointer to x data |
yData | pointer to y data |
size | size of x and y |
void QwtPlotCurve::setStyle | ( | CurveStyle | style | ) |
Set the curve's drawing style.
Valid styles are:
void QwtPlotCurve::setSymbol | ( | const QwtSymbol & | symbol | ) |
QwtPlotCurve::CurveStyle QwtPlotCurve::style | ( | ) | const |
Return the current style.
const QwtSymbol & QwtPlotCurve::symbol | ( | ) | const |
Return the current symbol.
bool QwtPlotCurve::testCurveAttribute | ( | CurveAttribute | attribute | ) | const |
bool QwtPlotCurve::testPaintAttribute | ( | PaintAttribute | attribute | ) | const |
Return the current paint attributes.
void QwtPlotCurve::updateLegend | ( | QwtLegend * | legend | ) | const [virtual] |
Update the widget that represents the curve on the legend.
Reimplementado de QwtPlotItem.
double QwtPlotCurve::x | ( | int | i | ) | const [inline] |
i | index |
double QwtPlotCurve::y | ( | int | i | ) | const [inline] |
i | index |