Provided by: libqwt5-doc_5.2.3-1_all bug

NAME

       QwtPlotCurve -

SYNOPSIS

       #include <qwt_plot_curve.h>

       Inherits QwtPlotItem.

   Public Types
       enum CurveAttribute { Inverted =  1, Fitted =  2 }
       enum CurveStyle { NoCurve, Lines, Sticks, Steps, Dots, UserCurve =  100 }
       enum CurveType { Yfx, Xfy }
       enum PaintAttribute { PaintFiltered =  1, ClipPolygons =  2 }

   Public Member Functions
       QwtPlotCurve ()
       QwtPlotCurve (const QwtText &title)
       QwtPlotCurve (const QString &title)
       virtual ~QwtPlotCurve ()
       double baseline () const
       virtual QwtDoubleRect boundingRect () const
       const QBrush & brush () const
       int closestPoint (const QPoint &pos, double *dist=NULL) const
       QwtCurveFitter * curveFitter () const
       CurveType curveType () const
       QwtData & data ()
       const QwtData & data () const
       int dataSize () const
       virtual void draw (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const
           QRect &) const
       virtual void draw (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, int
           from, int to) const
       void draw (int from, int to) const
       double maxXValue () const
       double maxYValue () const
       double minXValue () const
       double minYValue () const
       const QPen & pen () const
       virtual int rtti () const
       void setBaseline (double ref)
       void setBrush (const QBrush &)
       void setCurveAttribute (CurveAttribute, bool on=true)
       void setCurveFitter (QwtCurveFitter *)
       void setCurveType (CurveType)
       void setData (const double *xData, const double *yData, int size)
       void setData (const QwtArray< double > &xData, const QwtArray< double > &yData)
       void setData (const QPolygonF &data)
       void setData (const QwtData &data)
       void setPaintAttribute (PaintAttribute, bool on=true)
       void setPen (const QPen &)
       void setRawData (const double *x, const double *y, int size)
       void setStyle (CurveStyle style)
       void setSymbol (const QwtSymbol &s)
       CurveStyle style () const
       const QwtSymbol & symbol () const
       bool testCurveAttribute (CurveAttribute) const
       bool testPaintAttribute (PaintAttribute) const
       virtual void updateLegend (QwtLegend *) const
       double x (int i) const
       double y (int i) const

   Protected Member Functions
       void closePolyline (const QwtScaleMap &, const QwtScaleMap &, QwtPolygon &) const
       virtual void drawCurve (QPainter *p, int style, 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 drawLines (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 drawSticks (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, int from,
           int to) const
       virtual void drawSymbols (QPainter *p, const QwtSymbol &, const QwtScaleMap &xMap, const
           QwtScaleMap &yMap, int from, int to) const
       void fillCurve (QPainter *, const QwtScaleMap &, const QwtScaleMap &, QwtPolygon &) const
       void init ()

Detailed Description

       A plot item, that represents a series of points.

       A curve is the representation of a series of points in the x-y plane. It supports
       different display styles, interpolation ( f.e. spline ) and symbols.

       Usage

           a) Assign curve properties
               When a curve is created, it is configured to draw black solid lines with in Lines
               style and no symbols. You can change this by calling setPen(), setStyle() and
               setSymbol().

           b) Connect/Assign data.
               QwtPlotCurve gets its points using a QwtData object offering a bridge to the real
               storage of the points ( like QAbstractItemModel ). There are several convenience
               classes derived from QwtData, that also store the points inside ( like
               QStandardItemModel ). QwtPlotCurve also offers a couple of variations of
               setData(), that build QwtData objects from arrays internally.

           c) Attach the curve to a plot
               See QwtPlotItem::attach()

       Example:
           see examples/bode

       See also:
           QwtPlot, QwtData, QwtSymbol, QwtScaleMap

Member Enumeration Documentation

   enum QwtPlotCurve::CurveAttribute
       Attribute for drawing the curve

       • Fitted ( in combination with the Lines QwtPlotCurve::CurveStyle only )
          A QwtCurveFitter tries to interpolate/smooth the curve, before it is painted. Note that
         curve fitting requires temorary memory for calculating coefficients and additional
         points. If painting in Fitted mode is slow it might be better to fit the points, before
         they are passed to QwtPlotCurve.

       • Inverted
          For Steps only. Draws a step function from the right to the left.

       See also:
           setCurveAttribute(), testCurveAttribute(), curveFitter()

   enum QwtPlotCurve::CurveStyle
       Curve styles.

       • NoCurve
          Don't draw a curve. Note: This doesn't affect the symbols.

       • Lines
          Connect the points with straight lines. The lines might be interpolated depending on
         the 'Fitted' attribute. Curve fitting can be configured using setCurveFitter().

       • Sticks
          Draw vertical(Yfx) or horizontal(Xfy) sticks from a baseline which is defined by
         setBaseline().

       • Steps
          Connect the points with a step function. The step function is drawn from the left to
         the right or vice versa, depending on the 'Inverted' attribute.

       • Dots
          Draw dots at the locations of the data points. Note: This is different from a dotted
         line (see setPen()), and faster as a curve in NoStyle style and a symbol painting a
         point.

       • UserCurve
          Styles >= UserCurve are reserved for derived classes of QwtPlotCurve that overload
         drawCurve() with additional application specific curve types.

       See also:
           setStyle(), style()

   enum QwtPlotCurve::CurveType
       Curve type.

       • Yfx
          Draws y as a function of x (the default). The baseline is interpreted as a horizontal
         line with y = baseline().

       • 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.

       See also:
           setCurveType(), curveType(), baseline() brush()

   enum QwtPlotCurve::PaintAttribute
       Attributes to modify the drawing algorithm.

       • PaintFiltered
          Tries to reduce the data that has to be painted, by sorting out duplicates, or
         paintings outside the visible area. Might have a notable impact on curves with many
         close points. Only a couple of very basic filtering algos are implemented.

       • ClipPolygons
          Clip polygons before painting them. In situations, where points are far outside the
         visible area (f.e when zooming deep) this might be a substantial improvement for the
         painting performance ( especially on Windows ).

       The default is, that no paint attributes are enabled.

       See also:
           setPaintAttribute(), testPaintAttribute()

Constructor & Destructor Documentation

   QwtPlotCurve::QwtPlotCurve (const QwtText &title) [explicit]
       Constructor

       Parameters:
           title Title of the curve

   QwtPlotCurve::QwtPlotCurve (const QString &title) [explicit]
       Constructor

       Parameters:
           title Title of the curve

Member Function Documentation

   double QwtPlotCurve::baseline () const
       Return the value of the baseline

       See also:
           setBaseline()

   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.

       See also:
           QwtData::boundingRect(), QwtDoubleRect::isValid()

       Reimplemented from QwtPlotItem.

   const QBrush & QwtPlotCurve::brush () const
       Return the brush used to fill the area between lines and the baseline. See also:
           setBrush(), setBaseline(), 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. Parameters:
           xMap X map
           yMap Y map
           pa Polygon to be completed

   int QwtPlotCurve::closestPoint (const QPoint &pos, double *dist = NULL) const
       Find the closest curve point for a specific position

       Parameters:
           pos Position, where to look for the closest curve point
           dist If dist != NULL, closestPoint() returns the distance between the position and the
           clostest curve point

       Returns:
           Index of the closest curve point, or -1 if none can be found ( f.e when the curve has
           no points )

       Note:
           closestPoint() implements a dumb algorithm, that iterates over all points

   QwtCurveFitter * QwtPlotCurve::curveFitter () const
       Get the curve fitter. If curve fitting is disabled NULL is returned.

       Returns:
           Curve fitter

   QwtPlotCurve::CurveType QwtPlotCurve::curveType () const
       Return the curve type

       See also:
           CurveType, setCurveType()

   QwtData & QwtPlotCurve::data () [inline]
       Returns:
           the the curve data

   const QwtData & QwtPlotCurve::data () const [inline]
       Returns:
           the the curve data

   int QwtPlotCurve::dataSize () const
       Return the size of the data arrays

       See also:
           setData()

   void QwtPlotCurve::draw (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap,
       const QRect &canvasRect) const [virtual]
       Draw the complete curve. Parameters:
           painter Painter
           xMap Maps x-values into pixel coordinates.
           yMap Maps y-values into pixel coordinates.

       See also:
           drawCurve(), drawSymbols()

       Implements QwtPlotItem.

   void QwtPlotCurve::draw (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap,
       intfrom, intto) const [virtual]
       Draw an interval of the curve. Parameters:
           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.

       See also:
           drawCurve(), drawSymbols(),

   void QwtPlotCurve::draw (intfrom, intto) const
       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.

       Parameters:
           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.

       See also:
           drawCurve(), drawSymbols()

   void QwtPlotCurve::drawCurve (QPainter *painter, intstyle, const QwtScaleMap &xMap, const
       QwtScaleMap &yMap, intfrom, intto) const [protected],  [virtual]
       Draw the line part (without symbols) of a curve interval. Parameters:
           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

       See also:
           draw(), drawDots(), drawLines(), drawSteps(), drawSticks()

   void QwtPlotCurve::drawDots (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap
       &yMap, intfrom, intto) const [protected]
       Draw dots

       Parameters:
           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

       See also:
           draw(), drawCurve(), drawSticks(), drawLines(), drawSteps()

   void QwtPlotCurve::drawLines (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap
       &yMap, intfrom, intto) const [protected]
       Draw lines. If the CurveAttribute Fitted is enabled a QwtCurveFitter tries to
       interpolate/smooth the curve, before it is painted.

       Parameters:
           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

       See also:
           setCurveAttribute(), setCurveFitter(), draw(), drawLines(), drawDots(), drawSteps(),
           drawSticks()

   void QwtPlotCurve::drawSteps (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap
       &yMap, intfrom, intto) const [protected]
       Draw step function

       The direction of the steps depends on Inverted attribute.

       Parameters:
           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

       See also:
           CurveAttribute, setCurveAttribute(), draw(), drawCurve(), drawDots(), drawLines(),
           drawSticks()

   void QwtPlotCurve::drawSticks (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap
       &yMap, intfrom, intto) const [protected]
       Draw sticks

       Parameters:
           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

       See also:
           draw(), drawCurve(), drawDots(), drawLines(), drawSteps()

   void QwtPlotCurve::drawSymbols (QPainter *painter, const QwtSymbol &symbol, const QwtScaleMap
       &xMap, const QwtScaleMap &yMap, intfrom, intto) const [protected],  [virtual]
       Draw symbols. Parameters:
           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

       See also:
           setSymbol(), draw(), drawCurve()

   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

       Parameters:
           painter Painter
           xMap x map
           yMap y map
           pa Polygon

       See also:
           setBrush(), setBaseline(), setCurveType()

   const QPen & QwtPlotCurve::pen () const
       Return the pen used to draw the lines. See also:
           setPen(), brush()

   int QwtPlotCurve::rtti () const [virtual]
       Returns:
           QwtPlotItem::Rtti_PlotCurve

       Reimplemented from QwtPlotItem.

   void QwtPlotCurve::setBaseline (doublereference)
       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().

       Parameters:
           reference baseline

       See also:
           baseline(), setBrush(), setStyle(), setCurveType()

   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).

       Parameters:
           brush New brush

       See also:
           brush(), setBaseline(), baseline()

   void QwtPlotCurve::setCurveAttribute (CurveAttributeattribute, boolon = true)
       Specify an attribute for drawing the curve

       Parameters:
           attribute Curve attribute
           on On/Off

       /sa CurveAttribute, testCurveAttribute(), setCurveFitter()

   void QwtPlotCurve::setCurveFitter (QwtCurveFitter *curveFitter)
       Assign a curve fitter setCurveFitter(NULL) disables curve fitting.

       Parameters:
           curveFitter Curve fitter

   void QwtPlotCurve::setCurveType (CurveTypecurveType)
       Assign the curve type

       Parameters:
           curveType Yfx or Xfy

       See also:
           CurveType, curveType()

   void QwtPlotCurve::setData (const double *xData, const double *yData, intsize)
       Set data by copying x- and y-values from specified memory blocks. Contrary to
       setCurveRawData(), this function makes a 'deep copy' of the data.

       Parameters:
           xData Pointer to x values
           yData Pointer to y values
           size Size of xData and yData

       Note:
           Internally the data is stored in a QwtArrayData object

   void QwtPlotCurve::setData (const QwtArray< double > &xData, const QwtArray< double > &yData)
       Initialize data with x- and y-arrays (explicitly shared) ( Builds an QwtArrayData object
       internally )

       Parameters:
           xData x data
           yData y data

       Note:
           Internally the data is stored in a QwtArrayData object

   void QwtPlotCurve::setData (const QPolygonF &data)
       Initialize data with an array of points (explicitly shared).

       Parameters:
           data Data

       Note:
           Internally the data is stored in a QwtPolygonFData object

   void QwtPlotCurve::setData (const QwtData &data)
       Initialize data with a pointer to QwtData.

       Parameters:
           data Data

       See also:
           QwtData::copy()

   void QwtPlotCurve::setPaintAttribute (PaintAttributeattribute, boolon = true)
       Specify an attribute how to draw the curve

       Parameters:
           attribute Paint attribute
           on On/Off /sa PaintAttribute, testPaintAttribute()

   void QwtPlotCurve::setPen (const QPen &pen)
       Assign a pen

       The width of non cosmetic pens is scaled according to the resolution of the paint device.

       Parameters:
           pen New pen

       See also:
           pen(), brush(), QwtPainter::scaledPen()

   void QwtPlotCurve::setRawData (const double *xData, const double *yData, intsize)
       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.

       Parameters:
           xData pointer to x data
           yData pointer to y data
           size size of x and y

       Note:
           Internally the data is stored in a QwtCPointerData object

   void QwtPlotCurve::setStyle (CurveStylestyle)
       Set the curve's drawing style

       Parameters:
           style Curve style

       See also:
           CurveStyle, style()

   void QwtPlotCurve::setSymbol (const QwtSymbol &symbol)
       Assign a symbol. Parameters:
           symbol Symbol

       See also:
           symbol()

   QwtPlotCurve::CurveStyle QwtPlotCurve::style () const
       Return the current style

       See also:
           CurveStyle, setStyle()

   const QwtSymbol & QwtPlotCurve::symbol () const
       Return the current symbol. See also:
           setSymbol()

   bool QwtPlotCurve::testCurveAttribute (CurveAttributeattribute) const
       Returns:
           true, if attribute is enabled

       See also:
           CurveAttribute, setCurveAttribute()

   bool QwtPlotCurve::testPaintAttribute (PaintAttributeattribute) const
       Return the current paint attributes. See also:
           PaintAttribute, setPaintAttribute()

   double QwtPlotCurve::x (inti) const [inline]
       Parameters:
           i index

       Returns:
           x-value at position i

   double QwtPlotCurve::y (inti) const [inline]
       Parameters:
           i index

       Returns:
           y-value at position i

Author

       Generated automatically by Doxygen for Qwt User's Guide from the source code.