QWT API (中文) 7.3.0
Qt绘图库 - 中文API文档
载入中...
搜索中...
未找到
qwt_polar_curve.h
1/******************************************************************************
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
17class QPainter;
18class QwtSymbol;
19class QwtCurveFitter;
20
28class QWT_EXPORT QwtPolarCurve : public QwtPolarItem
29{
30public:
36 {
39
46
48 UserCurve = 100
49 };
50
59 {
63 LegendShowLine = 0x01,
64
68 LegendShowSymbol = 0x02
69 };
70
71 Q_DECLARE_FLAGS(LegendAttributes, LegendAttribute)
72
73
74 explicit QwtPolarCurve();
76 explicit QwtPolarCurve(const QwtText& title);
78 explicit QwtPolarCurve(const QString& title);
79
81 ~QwtPolarCurve() override;
82
84 virtual int rtti() const override;
85
87 void setLegendAttribute(LegendAttribute, bool on = true);
89 bool testLegendAttribute(LegendAttribute) const;
90
92 void setData(QwtSeriesData< QwtPointPolar >* data);
94 const QwtSeriesData< QwtPointPolar >* data() const;
95
97 size_t dataSize() const;
99 QwtPointPolar sample(int i) const;
100
102 void setPen(const QPen&);
104 const QPen& pen() const;
105
107 void setStyle(CurveStyle style);
109 CurveStyle style() const;
110
112 void setSymbol(QwtSymbol*);
114 const QwtSymbol* symbol() const;
115
117 void setCurveFitter(QwtCurveFitter*);
119 QwtCurveFitter* curveFitter() const;
120
122 virtual void draw(QPainter* p,
123 const QwtScaleMap& azimuthMap,
124 const QwtScaleMap& radialMap,
125 const QPointF& pole,
126 double radius,
127 const QRectF& canvasRect) const override;
128
130 virtual void
131 draw(QPainter* p, const QwtScaleMap& azimuthMap, const QwtScaleMap& radialMap, const QPointF& pole, int from, int to) const;
132
134 virtual QwtInterval boundingInterval(int scaleId) const override;
135
137 virtual QwtGraphic legendIcon(int index, const QSizeF&) const override;
138
139protected:
141 void init();
142
144 virtual void drawCurve(QPainter*,
145 int style,
146 const QwtScaleMap& azimuthMap,
147 const QwtScaleMap& radialMap,
148 const QPointF& pole,
149 int from,
150 int to) const;
151
153 virtual void drawSymbols(QPainter*,
154 const QwtSymbol&,
155 const QwtScaleMap& azimuthMap,
156 const QwtScaleMap& radialMap,
157 const QPointF& pole,
158 int from,
159 int to) const;
160
162 void
163 drawLines(QPainter*, const QwtScaleMap& azimuthMap, const QwtScaleMap& radialMap, const QPointF& pole, int from, int to) const;
164
165private:
167
168 QWT_DECLARE_PRIVATE(QwtPolarCurve)
169};
170
173{
174 return m_series;
175}
176
182{
183 return m_series->sample(i);
184}
185
186Q_DECLARE_OPERATORS_FOR_FLAGS(QwtPolarCurve::LegendAttributes)
187
188#endif
Abstract base class for curve fitting algorithms
Definition qwt_curve_fitter.h:39
A paint device for scalable graphics
Definition qwt_graphic.h:85
A class representing an interval
Definition qwt_interval.h:39
A point in polar coordinates
Definition qwt_point_polar.h:45
An item, that represents a series of points
Definition qwt_polar_curve.h:29
LegendAttribute
Attributes how to represent the curve on the legend
Definition qwt_polar_curve.h:59
const QwtSeriesData< QwtPointPolar > * data() const
Get the data
Definition qwt_polar_curve.h:172
CurveStyle
Curve styles
Definition qwt_polar_curve.h:36
@ NoCurve
Don't draw a curve. Note: This doesn't affect the symbols.
Definition qwt_polar_curve.h:38
@ Lines
Definition qwt_polar_curve.h:45
QwtPointPolar sample(int i) const
Get a sample
Definition qwt_polar_curve.h:181
Base class for items on a polar plot
Definition qwt_polar_item.h:35
virtual void draw(QPainter *painter, const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap, const QPointF &pole, double radius, const QRectF &canvasRect) const =0
Draw the item
virtual QwtInterval boundingInterval(int scaleId) const
Get the bounding interval for a scale
Definition qwt_polar_item.cpp:373
virtual QwtGraphic legendIcon(int index, const QSizeF &) const
Get the legend icon
Definition qwt_polar_item.cpp:437
virtual int rtti() const
Get the runtime type information
Definition qwt_polar_item.cpp:103
A scale map
Definition qwt_scale_map.h:44
virtual T sample(size_t i) const =0
Return a sample
A class for drawing symbols
Definition qwt_symbol.h:51
A class representing a text
Definition qwt_text.h:70