MNE-CPP  0.1.9
A Framework for Electrophysiology
mne_bem_surface.h
Go to the documentation of this file.
1 //=============================================================================================================
37 #ifndef MNE_BEM_SURFACE_H
38 #define MNE_BEM_SURFACE_H
39 
40 //=============================================================================================================
41 // INCLUDES
42 //=============================================================================================================
43 
44 #include "mne_global.h"
45 
46 #include <fiff/fiff_types.h>
47 #include <fiff/fiff.h>
48 
49 //=============================================================================================================
50 // EIGEN INCLUDES
51 //=============================================================================================================
52 
53 #include <Eigen/Core>
54 #include <Eigen/SparseCore>
55 
56 //=============================================================================================================
57 // QT INCLUDES
58 //=============================================================================================================
59 
60 #include <QList>
61 
62 //=============================================================================================================
63 // DEFINE NAMESPACE MNELIB
64 //=============================================================================================================
65 
66 namespace MNELIB
67 {
68 
69 //=============================================================================================================
70 // FORWARD DECLARATIONS
71 //=============================================================================================================
72 
73 //=============================================================================================================
80 {
81 public:
82  typedef QSharedPointer<MNEBemSurface> SPtr;
83  typedef QSharedPointer<const MNEBemSurface> ConstSPtr;
85  //=========================================================================================================
89  MNEBemSurface();
90 
91  //=========================================================================================================
97  MNEBemSurface(const MNEBemSurface& p_MNEBemSurface);
98 
99  //=========================================================================================================
103  ~MNEBemSurface();
104 
105  //=========================================================================================================
109  void clear();
110 
111  //=========================================================================================================
119  bool addTriangleData();
120 
121  //=========================================================================================================
127  bool add_geometry_info();
128 
129  //=========================================================================================================
137  bool addVertexNormals();
138 
139  //=========================================================================================================
145  void writeToStream(FIFFLIB::FiffStream* p_pStream);
146 
147  //=========================================================================================================
155  static QString id_name(int id);
156 
157 public:
158  FIFFLIB::fiff_int_t id;
159  FIFFLIB::fiff_int_t np;
160  FIFFLIB::fiff_int_t ntri;
161  FIFFLIB::fiff_int_t coord_frame;
162  FIFFLIB::fiff_float_t sigma;
163  Eigen::MatrixX3f rr;
164  Eigen::MatrixX3f nn;
165  Eigen::MatrixX3i tris;
166  Eigen::MatrixX3d tri_cent;
167  Eigen::MatrixX3d tri_nn;
168  Eigen::VectorXd tri_area;
169  QVector<QVector<int> > neighbor_tri;
170  QVector<QVector<int> > neighbor_vert;
171 };
172 
173 //=============================================================================================================
174 // INLINE DEFINITIONS
175 //=============================================================================================================
176 } // NAMESPACE
177 
178 #endif // MNE_BEMSURFACE_H
FIFFLIB::fiff_int_t id
Old fiff_type declarations - replace them.
Eigen::MatrixX3f nn
FIFFLIB::fiff_float_t sigma
BEM surface provides geometry information.
Eigen::VectorXd tri_area
Eigen::MatrixX3f rr
FIFFLIB::fiff_int_t np
Eigen::MatrixX3d tri_nn
FIFF File I/O routines.
Definition: fiff_stream.h:104
Eigen::MatrixX3d tri_cent
QVector< QVector< int > > neighbor_tri
mne library export/import macros.
#define MNESHARED_EXPORT
Definition: mne_global.h:56
QVector< QVector< int > > neighbor_vert
QSharedPointer< MNEBemSurface > SPtr
Eigen::MatrixX3i tris
FIFF class declaration, which provides static wrapper functions to stay consistent with mne matlab to...
FIFFLIB::fiff_int_t ntri
QSharedPointer< const MNEBemSurface > ConstSPtr
FIFFLIB::fiff_int_t coord_frame