QAD::Graphic3D
This commit is contained in:
@@ -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 )
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user