MNE-CPP  0.1.9
A Framework for Electrophysiology
networktreeitem.h
Go to the documentation of this file.
1 //=============================================================================================================
36 #ifndef DISP3DLIB_NETWORKTREEITEM_H
37 #define DISP3DLIB_NETWORKTREEITEM_H
38 
39 //=============================================================================================================
40 // INCLUDES
41 //=============================================================================================================
42 
43 #include "../../../../disp3D_global.h"
44 
45 #include "../common/abstractmeshtreeitem.h"
46 #include "../common/types.h"
47 
49 
50 //=============================================================================================================
51 // QT INCLUDES
52 //=============================================================================================================
53 
54 #include <QPointer>
55 
56 //=============================================================================================================
57 // EIGEN INCLUDES
58 //=============================================================================================================
59 
60 //=============================================================================================================
61 // FORWARD DECLARATIONS
62 //=============================================================================================================
63 
64 namespace MNELIB {
65  class MNEForwardSolution;
66 }
67 
68 namespace FSLIB {
69  class Surface;
70 }
71 
72 namespace Qt3DCore {
73  class QEntity;
74 }
75 
76 namespace Qt3DExtras {
77  class QCylinderGeometry;
78  class QSphereGeometry;
79 }
80 
81 //=============================================================================================================
82 // DEFINE NAMESPACE DISP3DLIB
83 //=============================================================================================================
84 
85 namespace DISP3DLIB
86 {
87 
88 //=============================================================================================================
89 // DISP3DLIB FORWARD DECLARATIONS
90 //=============================================================================================================
91 
92 class MetaTreeItem;
93 class GeometryMultiplier;
94 
95 //=============================================================================================================
102 {
103  Q_OBJECT
104 
105 public:
106  typedef QSharedPointer<NetworkTreeItem> SPtr;
107  typedef QSharedPointer<const NetworkTreeItem> ConstSPtr;
109  //=========================================================================================================
117  explicit NetworkTreeItem(Qt3DCore::QEntity *p3DEntityParent = 0,
118  int iType = Data3DTreeModelItemTypes::NetworkItem,
119  const QString& text = "Connectivity Data");
120 
121  //=========================================================================================================
127  void addData(const CONNECTIVITYLIB::Network& tNetworkData);
128 
129  //=========================================================================================================
135  void setThresholds(const QVector3D& vecThresholds);
136 
137 private:
138  //=========================================================================================================
142  void initItem();
143 
144  //=========================================================================================================
150  void onNetworkThresholdChanged(const QVariant &vecThresholds);
151 
152  //=========================================================================================================
158  virtual void onColorChanged(const QVariant& color);
159 
160  //=========================================================================================================
166  void onColormapTypeChanged(const QVariant& sColormapType);
167 
168  //=========================================================================================================
174  void plotNetwork(const CONNECTIVITYLIB::Network& tNetworkData);
175 
176  //=========================================================================================================
182  void plotNodes(const CONNECTIVITYLIB::Network &tNetworkData);
183 
184  //=========================================================================================================
190  void plotEdges(const CONNECTIVITYLIB::Network& tNetworkData);
191 
192  QPointer<MetaTreeItem> m_pItemNetworkThreshold;
194  QPointer<QEntity> m_pNodesEntity;
195  QSharedPointer<Qt3DExtras::QSphereGeometry> m_pNodesGeometry;
196  QPointer<GeometryMultiplier> m_pNodes;
198  QPointer<QEntity> m_pEdgeEntity;
199  QSharedPointer<Qt3DExtras::QCylinderGeometry> m_pEdgesGeometry;
200  QPointer<GeometryMultiplier> m_pEdges;
201 };
202 
203 //=============================================================================================================
204 // INLINE DEFINITIONS
205 //=============================================================================================================
206 } //NAMESPACE DISP3DLIB
207 
208 #endif // DISP3DLIB_NETWORKTREEITEM_H
QSharedPointer< const NetworkTreeItem > ConstSPtr
Provides a generic brain tree item to hold real time data.
Provides the basic tree item.
QSharedPointer< NetworkTreeItem > SPtr
This class holds information about a network, can compute a distance table and provide network metric...
Definition: network.h:87
#define DISP3DSHARED_EXPORT
Definition: disp3D_global.h:55
Network class declaration.