MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
mne_msh_display_surface.h
Go to the documentation of this file.
1//=============================================================================================================
36#ifndef MNEMSHDISPLAYSURFACE_H
37#define MNEMSHDISPLAYSURFACE_H
38
39//=============================================================================================================
40// INCLUDES
41//=============================================================================================================
42
43#include "../mne_global.h"
44
45typedef void (*mneUserFreeFunc)(void *); /* General purpose */
46
47//=============================================================================================================
48// EIGEN INCLUDES
49//=============================================================================================================
50
51//=============================================================================================================
52// QT INCLUDES
53//=============================================================================================================
54
55#include <QSharedPointer>
56
57//=============================================================================================================
58// DEFINE NAMESPACE MNELIB
59//=============================================================================================================
60
61namespace MNELIB
62{
63
64//=============================================================================================================
65// FORWARD DECLARATIONS
66//=============================================================================================================
67
68class MneMorphMap;
69class MneMshPicked;
70class MneMshColorScaleDef;
71class MneSurfaceOld;
72
73//=============================================================================================================
80{
81public:
82 typedef QSharedPointer<MneMshDisplaySurface> SPtr;
83 typedef QSharedPointer<const MneMshDisplaySurface> ConstSPtr;
85 //=========================================================================================================
90
91 //=========================================================================================================
96
97public:
98 char *filename; /* Where did this surface come from? */
99 time_t time_loaded; /* When was the surface loaded */
100 char *subj; /* The name of the subject in SUBJECTS_DIR */
101 char *surf_name; /* The name of the surface */
102 MNELIB::MneSurfaceOld* s; /* This is the surface */
103 float eye[3]; /* Eye position for viewing */
104 float up[3]; /* Up vector for viewing */
105 float rot[3]; /* Rotation angles of the MRI (in radians) */
106 float move[3]; /* Possibly move the origin, too */
107
108 float fov; /* Field of view (extent of the surface) */
109 float fov_scale; /* How much space to leave */
110 float minv[3]; /* Minimum values along the three coordinate axes */
111 float maxv[3]; /* Maximum values along the three coordinate axes */
112 float *trans; /* Extra transformation for this surface */
113 int sketch; /* Use sketch mode if decimated triangulation is available? */
114
115 MNELIB::MneMorphMap **maps; /* Morphing maps from other surfaces to this */
116 int nmap; /* Normally just one */
117
118 int overlay_type; /* What are the overlay values? */
119 float *overlay_values; /* Overlay value array */
120 int alt_overlay_type; /* A second choice for overlay */
121 float *alt_overlay_values;
122 float *marker_values; /* Marker values (will be shown in shades of marker color) */
123
124 float *vertex_colors; /* Vertex color array */
125 MNELIB::MneMshColorScaleDef* color_scale; /* Color scale used to define these colors */
126 int nvertex_colors; /* How many components? */
127 float even_vertex_color[4]; /* This is going to be employed in case of uniform coloring */
128
129 float *marker_colors; /* Vertex color array (for the markers) */
130 int nmarker_colors; /* How many components? */
131 int **marker_tri; /* Triangles containing markers */
132 int *marker_tri_no; /* Numbers of the marker triangles */
133 int nmarker_tri; /* How many */
134 float marker_color[4]; /* Marker color */
135 int curvature_color_mode; /* How to show curvature */
136
137 int overlay_color_mode; /* How to show overlay data */
138 int transparent; /* Is this surface going to be transparent? */
139
140 int show_aux_data; /* Show auxilliary data related to this surface */
141
142 MNELIB::MneMshPicked* picked; /* Picked locations in world coordinates */
143 int npicked; /* How many */
144
145 void *user_data; /* Can be used to store whatever */
146 mneUserFreeFunc* user_data_free; /* Function to free the above */
147
148// ### OLD STRUCT ###
149// typedef struct { /* Display surface properties */
150// char *filename; /* Where did this surface come from? */
151// time_t time_loaded; /* When was the surface loaded */
152// char *subj; /* The name of the subject in SUBJECTS_DIR */
153// char *surf_name; /* The name of the surface */
154// MNELIB::MneSurfaceOld* s; /* This is the surface */
155// float eye[3]; /* Eye position for viewing */
156// float up[3]; /* Up vector for viewing */
157// float rot[3]; /* Rotation angles of the MRI (in radians) */
158// float move[3]; /* Possibly move the origin, too */
159
160// float fov; /* Field of view (extent of the surface) */
161// float fov_scale; /* How much space to leave */
162// float minv[3]; /* Minimum values along the three coordinate axes */
163// float maxv[3]; /* Maximum values along the three coordinate axes */
164// float *trans; /* Extra transformation for this surface */
165// int sketch; /* Use sketch mode if decimated triangulation is available? */
166
167// morphMap *maps; /* Morphing maps from other surfaces to this */
168// int nmap; /* Normally just one */
169
170// int overlay_type; /* What are the overlay values? */
171// float *overlay_values; /* Overlay value array */
172// int alt_overlay_type; /* A second choice for overlay */
173// float *alt_overlay_values;
174// float *marker_values; /* Marker values (will be shown in shades of marker color) */
175
176// float *vertex_colors; /* Vertex color array */
177// mshColorScaleDef* color_scale; /* Color scale used to define these colors */
178// int nvertex_colors; /* How many components? */
179// float even_vertex_color[4]; /* This is going to be employed in case of uniform coloring */
180
181// float *marker_colors; /* Vertex color array (for the markers) */
182// int nmarker_colors; /* How many components? */
183// int **marker_tri; /* Triangles containing markers */
184// int *marker_tri_no; /* Numbers of the marker triangles */
185// int nmarker_tri; /* How many */
186// float marker_color[4]; /* Marker color */
187// int curvature_color_mode; /* How to show curvature */
188
189// int overlay_color_mode; /* How to show overlay data */
190// int transparent; /* Is this surface going to be transparent? */
191
192// int show_aux_data; /* Show auxilliary data related to this surface */
193
194// mshPicked* picked; /* Picked locations in world coordinates */
195// int npicked; /* How many */
196
197// void *user_data; /* Can be used to store whatever */
198// mneUserFreeFunc* user_data_free; /* Function to free the above */
199// } *mshDisplaySurface,mshDisplaySurfaceRec;
200};
201
202//=============================================================================================================
203// INLINE DEFINITIONS
204//=============================================================================================================
205} // NAMESPACE MNELIB
206
207#endif // MNEMSHDISPLAYSURFACE_H
#define MNESHARED_EXPORT
Definition mne_global.h:56
The MneMorphMap class.
The MneMshColorScaleDef class.
The MNE Msh Display Surface class holds information about a surface to be rendered.
QSharedPointer< const MneMshDisplaySurface > ConstSPtr
QSharedPointer< MneMshDisplaySurface > SPtr
The MneMshPicked class.
This defines a surface.