v2.0.0
Loading...
Searching...
No Matches
mne_bem_surface.h
Go to the documentation of this file.
1//=============================================================================================================
24
25#ifndef MNE_BEM_SURFACE_H
26#define MNE_BEM_SURFACE_H
27
28//=============================================================================================================
29// INCLUDES
30//=============================================================================================================
31
32#include "mne_global.h"
33#include "mne_surface.h"
34
35#include <fiff/fiff_types.h>
36#include <fiff/fiff.h>
37
38//=============================================================================================================
39// EIGEN INCLUDES
40//=============================================================================================================
41
42#include <Eigen/Core>
43#include <Eigen/SparseCore>
44
45//=============================================================================================================
46// QT INCLUDES
47//=============================================================================================================
48
49#include <QList>
50#include <vector>
51
52//=============================================================================================================
53// DEFINE NAMESPACE MNELIB
54//=============================================================================================================
55
56namespace MNELIB
57{
58
59//=============================================================================================================
60// FORWARD DECLARATIONS
61//=============================================================================================================
62
63//=============================================================================================================
74{
75public:
76 typedef QSharedPointer<MNEBemSurface> SPtr;
77 typedef QSharedPointer<const MNEBemSurface> ConstSPtr;
78
79 //=========================================================================================================
84
85 //=========================================================================================================
91 MNEBemSurface(const MNEBemSurface& p_MNEBemSurface);
92
93 //=========================================================================================================
98
99 //=========================================================================================================
103 void clear();
104
105 //=========================================================================================================
113 bool addTriangleData();
114
115 //=========================================================================================================
121 bool add_geometry_info();
122
123 //=========================================================================================================
131 bool addVertexNormals();
132
133 //=========================================================================================================
139 void writeToStream(FIFFLIB::FiffStream* p_pStream);
140
141 //=========================================================================================================
149 static QString id_name(int id);
150
151 //=========================================================================================================
163 static QList<MNEBemSurface> makeScalpSurfaces(
164 const MNEBemSurface& outerSkin,
165 const QList<int>& targetVertices = {2562, 10242, 40962});
166
167public:
168 Eigen::MatrixX3d tri_cent;
169 Eigen::MatrixX3d tri_nn;
170 Eigen::VectorXd tri_area;
171};
172
173//=============================================================================================================
174// INLINE DEFINITIONS
175//=============================================================================================================
176} // NAMESPACE
177
178#endif // MNE_BEMSURFACE_H
Lightweight triangulated surface (vertices, triangles, normals) used by surface-based routines.
MNELIB shared-library export/import macros and library build metadata.
#define MNESHARED_EXPORT
Definition mne_global.h:40
Static MATLAB-style FIFF facade: thin wrapper functions kept for parity with the historical mne-matla...
Primitive scalar typedefs and forward-compatible aliases backing the FIFF type system.
Core MNE data structures (source spaces, source estimates, hemispheres).
FIFF tag-stream reader/writer: wraps a QIODevice and exposes typed read_* / write_* methods for every...
QSharedPointer< const MNEBemSurface > ConstSPtr
Eigen::VectorXd tri_area
void writeToStream(FIFFLIB::FiffStream *p_pStream)
QSharedPointer< MNEBemSurface > SPtr
Eigen::MatrixX3d tri_nn
Eigen::MatrixX3d tri_cent
static QString id_name(int id)
static QList< MNEBemSurface > makeScalpSurfaces(const MNEBemSurface &outerSkin, const QList< int > &targetVertices={2562, 10242, 40962})