QAD::Graphic3D

This commit is contained in:
2023-10-23 18:59:16 +03:00
parent 1c857eebff
commit 0e9ca837d1
3 changed files with 18 additions and 7 deletions

View File

@@ -20,7 +20,7 @@ Scatter3D::Scatter3D(QWidget * parent): QWidget{parent} {
Scatter3D::~Scatter3D() {
clear();
// clear();
canvas->setParent(nullptr);
canvas->deleteLater();
}
@@ -114,7 +114,7 @@ void Scatter3D::setLabelAutoRotation(bool on) {
void Scatter3D::setGraphicData(const QVector<QVector3D> & points, int index) {
auto arr = new QtDataVisualization::QScatterDataArray();
auto arr = new DataArray();
arr->reserve(points.size());
for (const auto & p: points) {
arr->append(p);
@@ -124,7 +124,12 @@ void Scatter3D::setGraphicData(const QVector<QVector3D> & points, int index) {
}
void Scatter3D::setGraphicData(DataArray * newArray, int index) {
graphics[index].data->resetArray(newArray);
container->update();
}
void Scatter3D::addPoint(const QVector3D & point, int index) {
graphics[index].data->addItem(point);
}

View File

@@ -17,8 +17,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef SCATTER_H
#define SCATTER_H
#ifndef SCATTER3D_H
#define SCATTER3D_H
#include "qad_graphic3d_export.h"
@@ -29,12 +29,14 @@ namespace QtDataVisualization {
class Q3DScatter;
class QScatterDataProxy;
class QScatter3DSeries;
class QScatterDataItem;
} // namespace QtDataVisualization
class QAD_GRAPHIC3D_EXPORT Scatter3D: public QWidget {
Q_OBJECT
using Mesh = QtDataVisualization::QAbstract3DSeries::Mesh;
using DataArray = QVector<QtDataVisualization::QScatterDataItem>;
Q_PROPERTY(int currentGraphic READ currentGraphic WRITE setCurrentGraphic)
Q_PROPERTY(int graphicsCount READ graphicsCount WRITE setGraphicsCount)
@@ -71,6 +73,8 @@ public slots:
void setLabelAutoRotation(bool on);
void setGraphicData(const QVector<QVector3D> & points, int index);
void setGraphicData(const QVector<QVector3D> & points) { setGraphicData(points, curGraphic); }
void setGraphicData(DataArray *newArray, int index);
void setGraphicData(DataArray *newArray) { setGraphicData(newArray, curGraphic); }
void addPoint(const QVector3D & point, int index);
void addPoint(const QVector3D & point) { addPoint(point, curGraphic); }
@@ -87,4 +91,4 @@ private:
int curGraphic;
};
#endif // SCATTER_H
#endif // SCATTER3D_H