MNE-CPP  0.1.9
A Framework for Electrophysiology
bemtreeitem.cpp
Go to the documentation of this file.
1 //=============================================================================================================
35 //=============================================================================================================
36 // INCLUDES
37 //=============================================================================================================
38 
39 #include "bemtreeitem.h"
40 #include "bemsurfacetreeitem.h"
41 
42 #include <mne/mne_bem.h>
43 
44 #include <fiff/fiff_coord_trans.h>
45 
46 //=============================================================================================================
47 // QT INCLUDES
48 //=============================================================================================================
49 
50 //=============================================================================================================
51 // EIGEN INCLUDES
52 //=============================================================================================================
53 
54 #include <Eigen/Core>
55 
56 //=============================================================================================================
57 // USED NAMESPACES
58 //=============================================================================================================
59 
60 using namespace FSLIB;
61 using namespace MNELIB;
62 using namespace DISP3DLIB;
63 using namespace FIFFLIB;
64 
65 //=============================================================================================================
66 // DEFINE MEMBER METHODS
67 //=============================================================================================================
68 
69 BemTreeItem::BemTreeItem(int iType, const QString& text)
70 : AbstractTreeItem(iType, text)
71 {
72  initItem();
73 }
74 
75 //=============================================================================================================
76 
77 void BemTreeItem::setTransform(const Qt3DCore::QTransform& transform)
78 {
80  m_pRenderable3DEntity->setTransform(transform);
81  }
82 }
83 
84 //=============================================================================================================
85 
87  bool bApplyInverse)
88 {
90  m_pRenderable3DEntity->setTransform(transform, bApplyInverse);
91  }
92 }
93 
94 //=============================================================================================================
95 
96 void BemTreeItem::applyTransform(const Qt3DCore::QTransform& transform)
97 {
99  m_pRenderable3DEntity->applyTransform(transform);
100  }
101 }
102 
103 //=============================================================================================================
104 
106  bool bApplyInverse)
107 {
109  m_pRenderable3DEntity->applyTransform(transform, bApplyInverse);
110  }
111 }
112 
113 //=============================================================================================================
114 
116 {
117  this->setEditable(false);
118  this->setCheckable(true);
119  this->setCheckState(Qt::Checked);
120  this->setToolTip("BEM item");
121 }
122 
123 //=============================================================================================================
124 
125 void BemTreeItem::addData(const MNEBem &tBem, Qt3DCore::QEntity* p3DEntityParent)
126 {
127  if(!m_pRenderable3DEntity) {
128  m_pRenderable3DEntity = new Renderable3DEntity(p3DEntityParent);
129  }
130 
131  //Generate child items based on BEM input parameters
132  for(int i = 0; i < tBem.size(); ++i) {
133  QString sBemSurfName;
134  sBemSurfName = QString("%1").arg(tBem[i].id);
135  BemSurfaceTreeItem* pSurfItem = new BemSurfaceTreeItem(m_pRenderable3DEntity, Data3DTreeModelItemTypes::BemSurfaceItem, sBemSurfName);
136  pSurfItem->addData(tBem[i]);
137 
138  QList<QStandardItem*> list;
139  list << pSurfItem;
140  list << new QStandardItem(pSurfItem->toolTip());
141  this->appendRow(list);
142  }
143 }
144 
MNELIB::MNEBem
BEM descritpion.
Definition: mne_bem.h:89
DISP3DLIB::BemTreeItem::setTransform
virtual void setTransform(const Qt3DCore::QTransform &transform)
Definition: bemtreeitem.cpp:77
DISP3DLIB::BemTreeItem::m_pRenderable3DEntity
QPointer< Renderable3DEntity > m_pRenderable3DEntity
Definition: bemtreeitem.h:158
DISP3DLIB::AbstractTreeItem
Provides the basic tree item.
Definition: abstracttreeitem.h:76
DISP3DLIB::BemTreeItem::applyTransform
virtual void applyTransform(const Qt3DCore::QTransform &transform)
Definition: bemtreeitem.cpp:96
fiff_coord_trans.h
FiffCoordTrans class declaration.
DISP3DLIB::BemTreeItem::initItem
void initItem()
Definition: bemtreeitem.cpp:115
DISP3DLIB::BemTreeItem::addData
void addData(const MNELIB::MNEBem &tBem, Qt3DCore::QEntity *p3DEntityParent=0)
Definition: bemtreeitem.cpp:125
DISP3DLIB::BemSurfaceTreeItem::addData
void addData(const MNELIB::MNEBemSurface &tBemSurface)
Definition: bemsurfacetreeitem.cpp:84
MNELIB::MNEBem::size
qint32 size() const
Definition: mne_bem.h:271
mne_bem.h
MNEBem class declaration.
DISP3DLIB::Renderable3DEntity
Base class for renederable 3D QEntities.
Definition: renderable3Dentity.h:88
FIFFLIB::FiffCoordTrans
Coordinate transformation description.
Definition: fiff_coord_trans.h:74
bemtreeitem.h
BemTreeItem class declaration.
DISP3DLIB::BemSurfaceTreeItem
BemSurfaceTreeItem provides a generic brain tree item to hold BEM surfaces.
Definition: bemsurfacetreeitem.h:89
bemsurfacetreeitem.h
BemSurfaceTreeItem class declaration.