qwt_polar_curve.h
Go to the documentation of this file.
1 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
2  * QwtPolar Widget Library
3  * Copyright (C) 2008 Uwe Rathmann
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the Qwt License, Version 1.0
7  *****************************************************************************/
8 
9 #ifndef QWT_POLAR_CURVE_H
10 #define QWT_POLAR_CURVE_H
11 
12 #include "qwt_global.h"
13 #include "qwt_polar_item.h"
14 #include "qwt_point_polar.h"
15 #include "qwt_series_data.h"
16 
17 class QPainter;
18 class QwtSymbol;
19 class QwtCurveFitter;
20 
31 {
32 public:
38  {
41 
48 
50  UserCurve = 100
51  };
52 
64  {
69  LegendShowLine = 0x01,
70 
72  LegendShowSymbol = 0x02
73  };
74 
76  typedef QFlags<LegendAttribute> LegendAttributes;
77 
78 
79  explicit QwtPolarCurve();
80  explicit QwtPolarCurve( const QwtText &title );
81  explicit QwtPolarCurve( const QString &title );
82 
83  virtual ~QwtPolarCurve();
84 
85  virtual int rtti() const QWT_OVERRIDE;
86 
87  void setLegendAttribute( LegendAttribute, bool on = true );
88  bool testLegendAttribute( LegendAttribute ) const;
89 
90  void setData( QwtSeriesData<QwtPointPolar> *data );
91  const QwtSeriesData<QwtPointPolar> *data() const;
92 
93  size_t dataSize() const;
94  QwtPointPolar sample( int i ) const;
95 
96  void setPen( const QPen & );
97  const QPen &pen() const;
98 
99  void setStyle( CurveStyle style );
100  CurveStyle style() const;
101 
102  void setSymbol( QwtSymbol * );
103  const QwtSymbol *symbol() const;
104 
105  void setCurveFitter( QwtCurveFitter * );
106  QwtCurveFitter *curveFitter() const;
107 
108  virtual void draw( QPainter *p,
109  const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap,
110  const QPointF &pole, double radius,
111  const QRectF &canvasRect ) const QWT_OVERRIDE;
112 
113  virtual void draw( QPainter *p,
114  const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap,
115  const QPointF &pole, int from, int to ) const;
116 
117  virtual QwtInterval boundingInterval( int scaleId ) const QWT_OVERRIDE;
118 
119  virtual QwtGraphic legendIcon( int index, const QSizeF & ) const QWT_OVERRIDE;
120 
121 protected:
122 
123  void init();
124 
125  virtual void drawCurve( QPainter *, int style,
126  const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap,
127  const QPointF &pole, int from, int to ) const;
128 
129  virtual void drawSymbols( QPainter *, const QwtSymbol &,
130  const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap,
131  const QPointF &pole, int from, int to ) const;
132 
133  void drawLines( QPainter *,
134  const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap,
135  const QPointF &pole, int from, int to ) const;
136 
137 private:
139 
140  class PrivateData;
141  PrivateData *d_data;
142 };
143 
145 inline const QwtSeriesData<QwtPointPolar> *QwtPolarCurve::data() const
146 {
147  return d_series;
148 }
149 
155 {
156  return d_series->sample( i );
157 }
158 
159 Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPolarCurve::LegendAttributes )
160 
161 #endif
A point in polar coordinates.
LegendAttribute
Attributes how to represent the curve on the legend.
A class representing an interval.
Definition: qwt_interval.h:22
#define QWT_EXPORT
Definition: qwt_global.h:38
Abstract interface for iterating over samples.
An item, that represents a series of points.
A class for drawing symbols.
Definition: qwt_symbol.h:31
QFlags< LegendAttribute > LegendAttributes
Legend attributes.
Base class for items on a polar plot.
QwtPointPolar sample(int i) const
A class representing a text.
Definition: qwt_text.h:51
A paint device for scalable graphics.
Definition: qwt_graphic.h:75
A scale map.
Definition: qwt_scale_map.h:26
virtual int rtti() const
dictionary data
Definition: mqtt_test.py:22
Don&#39;t draw a curve. Note: This doesn&#39;t affect the symbols.
Abstract base class for a curve fitter.
#define QWT_OVERRIDE
Definition: qwt_global.h:53


plotjuggler
Author(s): Davide Faconti
autogenerated on Sun Dec 6 2020 03:48:10