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

@@ -7,6 +7,7 @@ Create imported targets:
* QAD::Blockview
* QAD::Graphic
* QAD::GraphicAnalysis
* QAD::Graphic3D
* QAD::SQLTable
* QAD::TouchWidgets
* QAD::Doc
@@ -45,7 +46,7 @@ if(QAD_FIND_VERSION VERSION_GREATER QAD_VERSION)
message(FATAL_ERROR "QAD version ${QAD_VERSION} is available, but ${QAD_FIND_VERSION} requested!")
endif()
set(__libs "utils;widgets;application;blockview;graphic;graphic_analysis;sql;sql_table;touch_widgets;doc;map")
set(__libs "utils;widgets;application;blockview;graphic;graphic_analysis;graphic3d;sql;sql_table;touch_widgets;doc;map")
if (PIP_FOUND OR BUILDING_PIP)
list(APPEND __libs "piqt;piqt_utils")
endif()
@@ -56,6 +57,7 @@ set(__module_application Application )
set(__module_blockview Blockview )
set(__module_graphic Graphic )
set(__module_graphic_analysis GraphicAnalysis)
set(__module_graphic3d Graphic3D )
set(__module_sql SQL )
set(__module_sql_table SQLTable )
set(__module_touch_widgets TouchWidgets )

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