QWT API (中文) 7.3.0
Qt绘图库 - 中文API文档
载入中...
搜索中...
未找到
qwt3d_line3d.h
1#ifndef QWT3D_LINE3D_H
2#define QWT3D_LINE3D_H
3
4#include "qwt3d_plotitem.h"
5#include "qwt3d_types.h"
6#include "qwt3d_color.h"
7
8#include <QVector>
9
10#include "qwt_point_3d.h"
11#include "qwt_series_data.h"
12
46class QWT3D_EXPORT Qwt3DLine : public Qwt3DPlotItem
47{
48 QWT_DECLARE_PRIVATE(Qwt3DLine)
49
50public:
53 {
56 Dots
57 };
58
68
70 Qwt3DLine();
72 ~Qwt3DLine() override;
73
74 // Data — setSamples mirrors the 2D QwtPlotCurve API; data is stored as
75 // a QwtSeriesData<QwtPoint3D> owned by the item.
76
78 void setSamples(const QVector<QwtPoint3D>& samples);
80 void setSamples(const QVector<double>& x, const QVector<double>& y, const QVector<double>& z);
82 void setSamples(const QwtPoint3D* samples, size_t count);
84 void setSamples(QwtSeriesData<QwtPoint3D>* data);
86 const QwtSeriesData<QwtPoint3D>* data() const;
88 size_t dataSize() const;
89
90 // Style
91
93 LineStyle lineStyle() const;
95 void setLineStyle(LineStyle style);
97 double lineWidth() const;
99 void setLineWidth(double width);
101 double tubeRadius() const;
103 void setTubeRadius(double radius);
105 int tubeSegments() const;
107 void setTubeSegments(int segments);
109 double pointSize() const;
111 void setPointSize(double size);
113 bool pointVisible() const;
115 void setPointVisible(bool on);
116
118 PointShape pointShape() const;
120 void setPointShape(PointShape shape);
121
122 // Color
123
125 void setColor(RGBA color);
127 RGBA color() const;
129 void setDataColor(Qwt3DColor* color);
131 const Qwt3DColor* dataColor() const;
133 void invalidateColors();
134
135 // Qwt3DPlotItem interface
136
137 int rtti() const override;
138 void draw() override;
139 ParallelEpiped hull() const override;
140 void populateLegendColors(ColorVector& colors) const override;
141
142private:
143 void buildVBO();
144 void buildPointsVBO();
145 void buildMarkersVBO();
146 void pushColorRange() const;
147};
148
149#endif // QWT3D_LINE3D_H
Definition qwt_clipper.h:41
Abstract base class for color functors
Definition qwt3d_color.h:25
3D line/curve plot item with VBO/VAO rendering
Definition qwt3d_line3d.h:47
LineStyle
Line rendering style
Definition qwt3d_line3d.h:53
@ Lines
Thin GL line strip (1px)
Definition qwt3d_line3d.h:54
@ Tube
Solid lit tube swept along the polyline
Definition qwt3d_line3d.h:55
void setSamples(const QVector< QwtPoint3D > &samples)
Set samples from a vector of 3D points
PointShape
Point marker shape for the Dots style and the point-marker overlay
Definition qwt3d_line3d.h:61
@ Tetrahedron
Regular 4-faced solid
Definition qwt3d_line3d.h:64
@ Cube
Axis-aligned cube
Definition qwt3d_line3d.h:63
@ Dot
GL_POINTS (simple screen-space dots)
Definition qwt3d_line3d.h:62
@ Octahedron
8-faced diamond solid
Definition qwt3d_line3d.h:65
~Qwt3DLine() override
Destructor — releases GL resources and data
Base class for all 3D plot items
Definition qwt3d_plotitem.h:55
virtual ParallelEpiped hull() const =0
Get the bounding hull of the item in 3D space
virtual int rtti() const
Runtime type information
Definition qwt3d_plotitem.cpp:192
virtual void draw()=0
Draw the item using the current GL context
virtual void populateLegendColors(ColorVector &colors) const
Populate the legend color vector from the item's color functor
Definition qwt3d_plotitem.cpp:181
QwtPoint3D class defines a 3D point in double coordinates
Definition qwt_point_3d.h:40
Abstract interface for iterating over samples
Definition qwt_series_data.h:88
Parallelepiped spanned by 2 Triples
Definition qwt3d_types.h:334
Red-Green-Blue-Alpha value
Definition qwt3d_types.h:395