MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
abstractmeshtreeitem.h
Go to the documentation of this file.
1//=============================================================================================================
36#ifndef DISP3DLIB_ABSTRACTMESHTREEITEM_H
37#define DISP3DLIB_ABSTRACTMESHTREEITEM_H
38
39//=============================================================================================================
40// INCLUDES
41//=============================================================================================================
42
43#include "../../../../disp3D_global.h"
44#include "../common/abstract3Dtreeitem.h"
45#include "../common/types.h"
46
47//=============================================================================================================
48// QT INCLUDES
49//=============================================================================================================
50
51#include <Qt3DRender/QGeometryRenderer>
52#include <QPointer>
53
54//=============================================================================================================
55// EIGEN INCLUDES
56//=============================================================================================================
57
58//=============================================================================================================
59// FORWARD DECLARATIONS
60//=============================================================================================================
61
62namespace Qt3DCore {
63 class QEntity;
64}
65
66namespace Qt3DRender {
67 class QMaterial;
68}
69
70//=============================================================================================================
71// DEFINE NAMESPACE DISP3DLIB
72//=============================================================================================================
73
74namespace DISP3DLIB
75{
76
77//=============================================================================================================
78// DISP3DLIB FORWARD DECLARATIONS
79//=============================================================================================================
80
81class MetaTreeItem;
82class CustomMesh;
83
84//=============================================================================================================
91{
92 Q_OBJECT
93
94public:
95 typedef QSharedPointer<AbstractMeshTreeItem> SPtr;
96 typedef QSharedPointer<const AbstractMeshTreeItem> ConstSPtr;
98 //=========================================================================================================
106 explicit AbstractMeshTreeItem(Qt3DCore::QEntity* p3DEntityParent = Q_NULLPTR,
107 int iType = Data3DTreeModelItemTypes::AbstractMeshItem,
108 const QString& text = "Abstract Mesh Item");
109
110 //=========================================================================================================
114 virtual void setData(const QVariant& value, int role = Qt::UserRole + 1);
115
116 virtual void setMaterial(Qt3DRender::QMaterial *pMaterial);
117
118 //=========================================================================================================
128 void setMeshData(const Eigen::MatrixX3f& tMatVert,
129 const Eigen::MatrixX3f& tMatNorm,
130 const Eigen::MatrixXi& tMatTris,
131 const Eigen::MatrixX4f &tMatColors,
132 Qt3DRender::QGeometryRenderer::PrimitiveType primitiveType = Qt3DRender::QGeometryRenderer::Triangles);
133
134 //=========================================================================================================
140 virtual QPointer<CustomMesh> getCustomMesh();
141
142 //=========================================================================================================
150 virtual void setVertColor(const Eigen::MatrixX4f &vertColor);
151
152protected:
153 //=========================================================================================================
157 virtual void initItem();
158
159 //=========================================================================================================
165 virtual void onSurfaceTessInnerChanged(const QVariant& fTessInner);
166
167 //=========================================================================================================
173 virtual void onSurfaceTessOuterChanged(const QVariant& fTessOuter);
174
175 //=========================================================================================================
181 virtual void onSurfaceTriangleScaleChanged(const QVariant& fTriangleScale);
182
183 //=========================================================================================================
189 virtual void onColorChanged(const QVariant& color);
190
191 //=========================================================================================================
197 virtual void onSurfaceMaterialChanged(const QVariant& sMaterial);
198
199 QPointer<Qt3DRender::QMaterial> m_pMaterial;
200 QPointer<CustomMesh> m_pCustomMesh;
202signals:
203};
204} //NAMESPACE DISP3DLIB
205
206#endif // DISP3DLIB_ABSTRACTMESHTREEITEM_H
#define DISP3DSHARED_EXPORT
Provides the basic tree item.
Provides a generic mesh tree item.
QSharedPointer< const AbstractMeshTreeItem > ConstSPtr
QSharedPointer< AbstractMeshTreeItem > SPtr
QPointer< Qt3DRender::QMaterial > m_pMaterial