1#ifndef QWT3D_LINE3D_P_H
2#define QWT3D_LINE3D_P_H
4#include "qwt3d_line3d.h"
5#include "qwt3d_types.h"
6#include "qwt3d_color.h"
8#include <QOpenGLBuffer>
9#include <QOpenGLVertexArrayObject>
10#include <QOpenGLShaderProgram>
14#include "qwt_series_data.h"
15#include "qwt_point_3d.h"
42class Qwt3DLine::PrivateData
69 bool m_tubeShaderInitialized;
70 QOpenGLBuffer m_vertexBuffer;
71 QOpenGLBuffer m_indexBuffer;
72 QOpenGLVertexArrayObject m_vao;
73 QOpenGLShaderProgram m_tubeShader;
76 QOpenGLBuffer m_pointsBuffer;
77 QOpenGLVertexArrayObject m_pointsVAO;
80 QOpenGLBuffer m_markerVertexBuffer;
81 QOpenGLBuffer m_markerIndexBuffer;
82 QOpenGLVertexArrayObject m_markerVAO;
84 int m_markerIndexCount;
95inline Qwt3DLine::PrivateData::PrivateData(
Qwt3DLine* q)
103 , m_pointVisible(false)
105 , m_solidColor(
RGBA(0.9, 0.9, 0.9, 1.0))
106 , m_dataColor(nullptr)
108 , m_pointsDirty(true)
109 , m_tubeShaderInitialized(false)
110 , m_markersDirty(true)
114 , m_markerIndexCount(0)
117 m_indexBuffer = QOpenGLBuffer(QOpenGLBuffer::IndexBuffer);
118 m_markerIndexBuffer = QOpenGLBuffer(QOpenGLBuffer::IndexBuffer);
121inline Qwt3DLine::PrivateData::~PrivateData()
123 m_vertexBuffer.destroy();
124 m_indexBuffer.destroy();
126 m_pointsBuffer.destroy();
127 m_pointsVAO.destroy();
128 m_markerVertexBuffer.destroy();
129 m_markerIndexBuffer.destroy();
130 m_markerVAO.destroy();
135 m_dataColor->destroy();
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
PointShape
Point marker shape for the Dots style and the point-marker overlay.
Definition qwt3d_line3d.h:61
Interface for iterating over an array of 3D points.
Definition qwt_series_data.h:249
Abstract interface for iterating over samples.
Definition qwt_series_data.h:88
Vertex for the Lines/Dots styles (position + color, 28 bytes)
Definition qwt3d_line3d_p.h:37
Vertex for the Tube style (position + normal + color, 40 bytes)
Definition qwt3d_line3d_p.h:25
Parallelepiped spanned by 2 Triples.
Definition qwt3d_types.h:334
Red-Green-Blue-Alpha value.
Definition qwt3d_types.h:395
Triple [x,y,z].
Definition qwt3d_types.h:201