MNE-CPP  beta 1.0
brainsurface.h
Go to the documentation of this file.
1 //=============================================================================================================
36 #ifndef BRAINSURFACE_H
37 #define BRAINSURFACE_H
38 
39 
40 //*************************************************************************************************************
41 //=============================================================================================================
42 // INCLUDES
43 //=============================================================================================================
44 
45 #include "disp3DNew_global.h"
46 
47 #include "brainhemisphere.h"
48 
49 #include "../helpers/renderableentity.h"
50 #include "../models/stcdatamodel.h"
51 
52 #include <fs/surfaceset.h>
53 #include <fs/annotationset.h>
54 
55 #include <disp/colormap.h>
56 
57 
58 //*************************************************************************************************************
59 //=============================================================================================================
60 // QT INCLUDES
61 //=============================================================================================================
62 
63 #include <Qt3DRenderer/qt3drenderer_global.h>
64 #include <Qt3DCore/QAbstractBuffer>
65 #include <QByteArray>
66 
67 
68 //*************************************************************************************************************
69 //=============================================================================================================
70 // Eigen INCLUDES
71 //=============================================================================================================
72 
73 
74 //*************************************************************************************************************
75 //=============================================================================================================
76 // DEFINE NAMESPACE DISP3DLIB
77 //=============================================================================================================
78 
79 namespace DISP3DNEWLIB
80 {
81 
82 //*************************************************************************************************************
83 //=============================================================================================================
84 // FORWARD DECLARATIONS
85 //=============================================================================================================
86 
87 
88 //*************************************************************************************************************
89 //=============================================================================================================
90 // USED NAMESPACES
91 //=============================================================================================================
92 
93 using namespace Qt3D;
94 using namespace FSLIB;
95 using namespace DISPLIB;
96 
97 
98 //*************************************************************************************************************
99 //=============================================================================================================
100 // FORWARD DECLARATIONS
101 //=============================================================================================================
102 
103 
104 //=============================================================================================================
110 class DISP3DNEWSHARED_EXPORT BrainSurface : public RenderableEntity
111 {
112  Q_OBJECT
113 public:
114  typedef QSharedPointer<BrainSurface> SPtr;
115  typedef QSharedPointer<const BrainSurface> ConstSPtr;
117  //=========================================================================================================
123  explicit BrainSurface(QEntity *parent = 0);
124 
125  //=========================================================================================================
135  explicit BrainSurface(const QString &subject_id, qint32 hemi, const QString &surf, const QString &subjects_dir, QEntity *parent = 0);
136 
137  //=========================================================================================================
148  explicit BrainSurface(const QString &subject_id, qint32 hemi, const QString &surf, const QString &atlas, const QString &subjects_dir, QEntity *parent = 0);
149 
150  //=========================================================================================================
157  explicit BrainSurface(const QString& p_sFile, QEntity *parent = 0);
158 
159  //=========================================================================================================
163  ~BrainSurface();
164 
165  //=========================================================================================================
170  void updateActivation();
171 
172  //=========================================================================================================
180  void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles = QVector<int> ());
181 
182  //=========================================================================================================
188  void setModel(StcDataModel::SPtr model);
189 
190 protected:
191  //=========================================================================================================
195  void init();
196 
197  //=========================================================================================================
201  void calcBoundingBox();
202 
203  BrainHemisphere* m_pLeftHemisphere;
204  BrainHemisphere* m_pRightHemisphere;
205 
208  QList<QColor> m_qlColors;
214  StcDataModel::SPtr m_pStcDataModel;
215 
216  QMap<int, QColor> m_qmDefaultVertexColorLH;
217  QMap<int, QColor> m_qmDefaultVertexColorRH;
218  QMap<int, QColor> m_qmVertexActivationColorLH;
219  QMap<int, QColor> m_qmVertexActivationColorRH;
220 
221  QColor m_ColorSulci;
222  QColor m_ColorGyri;
223 
224 private:
225 };
226 
227 } // NAMESPACE
228 
229 #endif // BRAINSURFACE_H
ColorMap class declaration.
QSharedPointer< StcDataModel > SPtr
Definition: stcdatamodel.h:131
Declaration of brain BrainHemisphere which holds the data of the right or left brain hemisphere in fo...
SurfaceSet class declaration.
QList< QColor > m_qlColors
Definition: brainsurface.h:208
QSharedPointer< BrainSurface > SPtr
Definition: brainsurface.h:114
Annotation set.
Definition: annotationset.h:96
AnnotationSet m_AnnotationSet
Definition: brainsurface.h:207
QSharedPointer< const BrainSurface > ConstSPtr
Definition: brainsurface.h:115
Holds the data of one hemisphere in form of a mesh.
AnnotationSet class declaration.
Holds the data of one hemisphere in form of a mesh.
Definition: brainsurface.h:110
A hemisphere set of surfaces.
Definition: surfaceset.h:83