MNE-CPP  0.1.9
A Framework for Electrophysiology
mne_surface.h
Go to the documentation of this file.
1 //=============================================================================================================
37 #ifndef MNE_SURFACE_H
38 #define MNE_SURFACE_H
39 
40 //=============================================================================================================
41 // INCLUDES
42 //=============================================================================================================
43 
44 #include "mne_global.h"
45 
46 #include <fiff/fiff_dir_node.h>
47 #include <fiff/fiff_stream.h>
48 #include <fiff/fiff_types.h>
49 
50 //=============================================================================================================
51 // EIGEN INCLUDES
52 //=============================================================================================================
53 
54 #include <Eigen/Core>
55 
56 //=============================================================================================================
57 // QT INCLUDES
58 //=============================================================================================================
59 
60 #include <QIODevice>
61 #include <QList>
62 #include <QSharedPointer>
63 
64 //=============================================================================================================
65 // DEFINE NAMESPACE MNELIB
66 //=============================================================================================================
67 
68 namespace MNELIB
69 {
70 
71 //=============================================================================================================
72 // FORWARD DECLARATIONS
73 //=============================================================================================================
74 
75 //=============================================================================================================
83 {
84 public:
85  typedef QSharedPointer<MNESurface>SPtr;
86  typedef QSharedPointer<const MNESurface>ConstSPtr;
88  typedef Eigen::Matrix3Xf PointsT;
89  typedef Eigen::Matrix3Xf NormalsT;
90  typedef Eigen::Matrix3Xi TrianglesT;
92  //=========================================================================================================
96  MNESurface();
97 
102  {
103  }
104 
105  //=========================================================================================================
114  static bool read(QIODevice& p_IODevice, QList<MNESurface::SPtr>& surfaces);
115 
116  //=========================================================================================================
130  static bool read(FIFFLIB::FiffStream::SPtr& p_pStream, bool add_geom, const FIFFLIB::FiffDirNode::SPtr& p_Tree, QList<MNESurface::SPtr>& surfaces);
131 
132  //=========================================================================================================
133 
134  FIFFLIB::fiff_int_t id;
135  FIFFLIB::fiff_float_t sigma;
136  FIFFLIB::fiff_int_t np;
137  FIFFLIB::fiff_int_t ntri;
138  FIFFLIB::fiff_int_t coord_frame;
143 private:
155  static bool read(FIFFLIB::FiffStream::SPtr& fiffStream,
156  const FIFFLIB::FiffDirNode::SPtr& dir,
157  const FIFFLIB::fiff_int_t def_coord_frame, MNESurface::SPtr& surf);
158 };
159 } // NAMESPACE
160 
161 #endif // MNE_SURFACE_H
MNELIB::MNESurface::ntri
FIFFLIB::fiff_int_t ntri
Definition: mne_surface.h:137
MNELIB::MNESurface::~MNESurface
~MNESurface()
Definition: mne_surface.h:101
MNELIB::MNESurface::PointsT
Eigen::Matrix3Xf PointsT
Definition: mne_surface.h:88
FIFFLIB::FiffStream::SPtr
QSharedPointer< FiffStream > SPtr
Definition: fiff_stream.h:107
MNELIB::MNESurface::np
FIFFLIB::fiff_int_t np
Definition: mne_surface.h:136
FIFFLIB::FiffDirNode::SPtr
QSharedPointer< FiffDirNode > SPtr
Definition: fiff_dir_node.h:76
MNESHARED_EXPORT
#define MNESHARED_EXPORT
Definition: mne_global.h:56
MNELIB::MNESurface::coord_frame
FIFFLIB::fiff_int_t coord_frame
Definition: mne_surface.h:138
fiff_stream.h
FiffStream class declaration.
MNELIB::MNESurface::tris
TrianglesT tris
Definition: mne_surface.h:141
MNELIB::MNESurface::ConstSPtr
QSharedPointer< const MNESurface > ConstSPtr
Definition: mne_surface.h:86
MNELIB::MNESurface::TrianglesT
Eigen::Matrix3Xi TrianglesT
Definition: mne_surface.h:90
fiff_dir_node.h
FiffDirNode class declaration, which provides fiff dir tree processing methods.
MNELIB::MNESurface::nn
NormalsT nn
Definition: mne_surface.h:140
mne_global.h
mne library export/import macros.
MNELIB::MNESurface::rr
PointsT rr
Definition: mne_surface.h:139
MNELIB::MNESurface
BEM Surface.
Definition: mne_surface.h:82
MNELIB::MNESurface::sigma
FIFFLIB::fiff_float_t sigma
Definition: mne_surface.h:135
fiff_types.h
Definitions for describing the objects in a FIFF file.
MNELIB::MNESurface::id
FIFFLIB::fiff_int_t id
Definition: mne_surface.h:134
MNELIB::MNESurface::NormalsT
Eigen::Matrix3Xf NormalsT
Definition: mne_surface.h:89
MNELIB::MNESurface::SPtr
QSharedPointer< MNESurface > SPtr
Definition: mne_surface.h:85