v2.0.0
Loading...
Searching...
No Matches
mne_msh_display_surface_set.h
Go to the documentation of this file.
1//=============================================================================================================
35
36#ifndef MNEMSHDISPLAYSURFACESET_H
37#define MNEMSHDISPLAYSURFACESET_H
38
39//=============================================================================================================
40// INCLUDES
41//=============================================================================================================
42
43#include "mne_global.h"
44
45//=============================================================================================================
46// EIGEN INCLUDES
47//=============================================================================================================
48
49#include <Eigen/Core>
50
51#include <memory>
52#include <vector>
53
54//=============================================================================================================
55// QT INCLUDES
56//=============================================================================================================
57
58#include <QSharedPointer>
59#include <QString>
60
61//=============================================================================================================
62// FORWARD DECLARATIONS
63//=============================================================================================================
64
65
66
67//=============================================================================================================
68// DEFINE NAMESPACE MNELIB
69//=============================================================================================================
70
71namespace MNELIB
72{
73
74//=============================================================================================================
75// MNELIB FORWARD DECLARATIONS
76//=============================================================================================================
77
79class MNEMshLightSet;
80class MNESurfacePatch;
81
82//=============================================================================================================
89{
90public:
91 typedef QSharedPointer<MNEMshDisplaySurfaceSet> SPtr;
92 typedef QSharedPointer<const MNEMshDisplaySurfaceSet> ConstSPtr;
93
94 //=========================================================================================================
99
100 //=========================================================================================================
105
116 static std::unique_ptr<MNEMshDisplaySurfaceSet> load(const QString &subject_id, const QString &surf, const QString &subjects_dir);
117
118
119
132 int add_bem_surface(const QString& filepath,
133 int kind,
134 const QString& bemname,
135 int full_geom,
136 int check);
137
146 void add_replace_surface(std::unique_ptr<MNEMshDisplaySurface> newSurf,
147 bool replace,
148 bool drawable);
149
150
151
157
162 void apply_left_eyes();
163
169
174 static void initialize_custom_lights();
175
183 static std::unique_ptr<MNEMshLightSet> dup_light_set(const MNEMshLightSet& s);
184
191 void setup_lights(const MNEMshLightSet& set);
192
193public:
194 QString subj;
195 QString morph_subj;
196 std::vector<std::unique_ptr<MNEMshDisplaySurface>> surfs;
197 std::vector<std::unique_ptr<MNESurfacePatch>> patches;
198 std::vector<float> patch_rot;
199 int nsurf;
201 Eigen::VectorXi active;
202 Eigen::VectorXi drawable;
203 std::unique_ptr<MNEMshLightSet> lights;
204 float rot[3];
205 float move[3];
206 float fov;
207 float fov_scale;
208 float eye[3];
209 float up[3];
210 float bg_color[3];
211 float text_color[3];
212};
213
214//=============================================================================================================
215// INLINE DEFINITIONS
216//=============================================================================================================
217} // NAMESPACE MNELIB
218
219#endif // MNEMSHDISPLAYSURFACESET_H
mne library export/import macros.
#define MNESHARED_EXPORT
Definition mne_global.h:52
Core MNE data structures (source spaces, source estimates, hemispheres).
The MNE Msh Display Surface 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.