36 #ifndef DISP3DLIB_GPUINTERPOLATIONITEM_H
37 #define DISP3DLIB_GPUINTERPOLATIONITEM_H
43 #include "../../../../disp3D_global.h"
44 #include "../common/abstract3Dtreeitem.h"
50 #include <QSharedPointer>
53 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
54 #define QT_COMPATIBILITY_3D Qt3DRender
55 #include <Qt3DRender/QBuffer>
56 #include <Qt3DRender/QAttribute>
58 #define QT_COMPATIBILITY_3D Qt3DCore
59 #include <Qt3DCore/QBuffer>
60 #include <Qt3DCore/QAttribute>
68 #include <Eigen/SparseCore>
74 namespace Qt3DRender {
75 class QComputeCommand;
89 class GpuInterpolationMaterial;
103 typedef QSharedPointer<GpuInterpolationItem>
SPtr;
104 typedef QSharedPointer<const GpuInterpolationItem>
ConstSPtr;
115 int iType = Data3DTreeModelItemTypes::GpuInterpolationItem,
116 const QString& text =
"3D Plot");
132 virtual void initData(
const Eigen::MatrixX3f &matVertices,
133 const Eigen::MatrixX3f &matNormals,
134 const Eigen::MatrixX3i &matTriangles);
142 virtual void setInterpolationMatrix(QSharedPointer<Eigen::SparseMatrix<float> > pMatInterpolationMatrix);
150 virtual void addNewRtData(
const Eigen::VectorXf &tSignalVec);
158 virtual void setThresholds(
const QVector3D& tVecThresholds);
166 virtual void setColormapType(
const QString& tColormapType);
177 virtual QByteArray buildInterpolationMatrixBuffer(QSharedPointer<Eigen::SparseMatrix<float> > pMatInterpolationMatrix);
187 virtual QByteArray buildZeroBuffer(
const uint tSize);
206 #endif // DISP3DLIB_GPUINTERPOLATIONITEM_H