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//=============================================================================================================
76{
77public:
78 typedef QSharedPointer<MNEBemSurface> SPtr;
79 typedef QSharedPointer<const MNEBemSurface> ConstSPtr;
80
81 //=========================================================================================================
86
87 //=========================================================================================================
93 MNEBemSurface(const MNEBemSurface& p_MNEBemSurface);
94
95 //=========================================================================================================
106 MNEBemSurface& operator=(const MNEBemSurface& other) = default;
107
108 //=========================================================================================================
113
114 //=========================================================================================================
118 void clear();
119
120 //=========================================================================================================
128 bool addTriangleData();
129
130 //=========================================================================================================
136 bool add_geometry_info();
137
138 //=========================================================================================================
146 bool addVertexNormals();
147
148 //=========================================================================================================
156 static QString id_name(int id);
157
158 //=========================================================================================================
170 static QList<MNEBemSurface> makeScalpSurfaces(
171 const MNEBemSurface& outerSkin,
172 const QList<int>& targetVertices = {2562, 10242, 40962});
173
174public:
175 Eigen::MatrixX3d tri_cent;
176 Eigen::MatrixX3d tri_nn;
177 Eigen::VectorXd tri_area;
178};
179
180//=============================================================================================================
181// INLINE DEFINITIONS
182//=============================================================================================================
183} // NAMESPACE
184
185#endif // MNE_BEMSURFACE_H
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.
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
Core MNE data structures (source spaces, source estimates, hemispheres).
QSharedPointer< const MNEBemSurface > ConstSPtr
Eigen::VectorXd tri_area
MNEBemSurface & operator=(const MNEBemSurface &other)=default
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})