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
MNELIB::MNEBemSurface::coord_frame
FIFFLIB::fiff_int_t coord_frame
Definition: mne_bem_surface.h:161
MNELIB::MNEBemSurface::neighbor_vert
QVector< QVector< int > > neighbor_vert
Definition: mne_bem_surface.h:170
MNELIB::MNEBemSurface::tri_nn
Eigen::MatrixX3d tri_nn
Definition: mne_bem_surface.h:167
MNELIB::MNEBemSurface::tris
Eigen::MatrixX3i tris
Definition: mne_bem_surface.h:165
MNESHARED_EXPORT
#define MNESHARED_EXPORT
Definition: mne_global.h:56
fiff.h
FIFF class declaration, which provides static wrapper functions to stay consistent with mne matlab to...
MNELIB::MNEBemSurface::rr
Eigen::MatrixX3f rr
Definition: mne_bem_surface.h:163
MNELIB::MNEBemSurface::id
FIFFLIB::fiff_int_t id
Definition: mne_bem_surface.h:158
MNELIB::MNEBemSurface::np
FIFFLIB::fiff_int_t np
Definition: mne_bem_surface.h:159
MNELIB::MNEBemSurface::ConstSPtr
QSharedPointer< const MNEBemSurface > ConstSPtr
Definition: mne_bem_surface.h:83
MNELIB::MNEBemSurface::nn
Eigen::MatrixX3f nn
Definition: mne_bem_surface.h:164
MNELIB::MNEBemSurface::SPtr
QSharedPointer< MNEBemSurface > SPtr
Definition: mne_bem_surface.h:82
MNELIB::MNEBemSurface::neighbor_tri
QVector< QVector< int > > neighbor_tri
Definition: mne_bem_surface.h:169
mne_global.h
mne library export/import macros.
MNELIB::MNEBemSurface::ntri
FIFFLIB::fiff_int_t ntri
Definition: mne_bem_surface.h:160
MNELIB::MNEBemSurface::sigma
FIFFLIB::fiff_float_t sigma
Definition: mne_bem_surface.h:162
FIFFLIB::FiffStream
FIFF File I/O routines.
Definition: fiff_stream.h:104
fiff_types.h
Definitions for describing the objects in a FIFF file.
MNELIB::MNEBemSurface
BEM surface provides geometry information.
Definition: mne_bem_surface.h:79
MNELIB::MNEBemSurface::tri_area
Eigen::VectorXd tri_area
Definition: mne_bem_surface.h:168
MNELIB::MNEBemSurface::tri_cent
Eigen::MatrixX3d tri_cent
Definition: mne_bem_surface.h:166