v2.0.0
Loading...
Searching...
No Matches
mne_msh_display_surface_set.h
Go to the documentation of this file.
1//=============================================================================================================
18
19#ifndef MNEMSHDISPLAYSURFACESET_H
20#define MNEMSHDISPLAYSURFACESET_H
21
22//=============================================================================================================
23// INCLUDES
24//=============================================================================================================
25
26#include "mne_global.h"
27
28//=============================================================================================================
29// EIGEN INCLUDES
30//=============================================================================================================
31
32#include <Eigen/Core>
33
34#include <memory>
35#include <vector>
36
37//=============================================================================================================
38// QT INCLUDES
39//=============================================================================================================
40
41#include <QSharedPointer>
42#include <QString>
43
44//=============================================================================================================
45// FORWARD DECLARATIONS
46//=============================================================================================================
47
48
49
50//=============================================================================================================
51// DEFINE NAMESPACE MNELIB
52//=============================================================================================================
53
54namespace MNELIB
55{
56
57//=============================================================================================================
58// MNELIB FORWARD DECLARATIONS
59//=============================================================================================================
60
62class MNEMshLightSet;
63class MNESurfacePatch;
64
65//=============================================================================================================
72{
73public:
74 typedef QSharedPointer<MNEMshDisplaySurfaceSet> SPtr;
75 typedef QSharedPointer<const MNEMshDisplaySurfaceSet> ConstSPtr;
76
77 //=========================================================================================================
82
83 //=========================================================================================================
88
99 static std::unique_ptr<MNEMshDisplaySurfaceSet> load(const QString &subject_id, const QString &surf, const QString &subjects_dir);
100
101
102
115 int add_bem_surface(const QString& filepath,
116 int kind,
117 const QString& bemname,
118 int full_geom,
119 int check);
120
129 void add_replace_surface(std::unique_ptr<MNEMshDisplaySurface> newSurf,
130 bool replace,
131 bool drawable);
132
133
134
140
145 void apply_left_eyes();
146
152
157 static void initialize_custom_lights();
158
166 static std::unique_ptr<MNEMshLightSet> dup_light_set(const MNEMshLightSet& s);
167
174 void setup_lights(const MNEMshLightSet& set);
175
176public:
177 QString subj;
178 QString morph_subj;
179 std::vector<std::unique_ptr<MNEMshDisplaySurface>> surfs;
180 std::vector<std::unique_ptr<MNESurfacePatch>> patches;
181 std::vector<float> patch_rot;
182 int nsurf;
184 Eigen::VectorXi active;
185 Eigen::VectorXi drawable;
186 std::unique_ptr<MNEMshLightSet> lights;
187 float rot[3];
188 float move[3];
189 float fov;
190 float fov_scale;
191 float eye[3];
192 float up[3];
193 float bg_color[3];
194 float text_color[3];
195};
196
197//=============================================================================================================
198// INLINE DEFINITIONS
199//=============================================================================================================
200} // NAMESPACE MNELIB
201
202#endif // MNEMSHDISPLAYSURFACESET_H
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).
The MNE Msh Display FsSurface class holds information about a surface to be rendered.
QSharedPointer< MNEMshDisplaySurfaceSet > SPtr
void setup_lights(const MNEMshLightSet &set)
static std::unique_ptr< MNEMshDisplaySurfaceSet > load(const QString &subject_id, const QString &surf, const QString &subjects_dir)
std::unique_ptr< MNEMshLightSet > lights
static std::unique_ptr< MNEMshLightSet > dup_light_set(const MNEMshLightSet &s)
QSharedPointer< const MNEMshDisplaySurfaceSet > ConstSPtr
std::vector< std::unique_ptr< MNEMshDisplaySurface > > surfs
void add_replace_surface(std::unique_ptr< MNEMshDisplaySurface > newSurf, bool replace, bool drawable)
std::vector< std::unique_ptr< MNESurfacePatch > > patches
int add_bem_surface(const QString &filepath, int kind, const QString &bemname, int full_geom, int check)
Collection of lights defining the lighting setup for 3-D rendering.
Cortical surface patch linking a set of vertices to a single source space point.