Salome HOME
3700e1ca53ffd3d3e238e1ff4d5f40c221192277
[modules/med.git] / src / MEDCalc / gui / PresentationEvent.hxx
1 // Copyright (C) 2016-2023  CEA, EDF
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19
20 #ifndef SRC_MEDCALC_GUI_PRESENTATIONEVENT_HXX_
21 #define SRC_MEDCALC_GUI_PRESENTATIONEVENT_HXX_
22
23 #include <string>
24
25 typedef struct {
26   enum EventType {
27     EVENT_VIEW_OBJECT_MESH_VIEW,
28     EVENT_VIEW_OBJECT_CONTOUR,
29     EVENT_VIEW_OBJECT_DEFLECTION_SHAPE,
30     EVENT_VIEW_OBJECT_POINT_SPRITE,
31     EVENT_VIEW_OBJECT_PLOT3D,
32     EVENT_VIEW_OBJECT_STREAM_LINES,
33     EVENT_VIEW_OBJECT_CUT_SEGMENT,
34     EVENT_VIEW_OBJECT_SCALAR_MAP,
35     EVENT_VIEW_OBJECT_SLICES,
36     EVENT_VIEW_OBJECT_VECTOR_FIELD,
37
38     EVENT_DELETE_PRESENTATION,
39
40     EVENT_CHANGE_COMPONENT,
41     EVENT_CHANGE_COLORMAP,
42     EVENT_CHANGE_TIME_RANGE,
43
44     EVENT_CHANGE_MESH_MODE,
45
46     EVENT_CHANGE_NB_CONTOUR,
47
48     EVENT_CHANGE_SLICE_ORIENTATION,
49     EVENT_CHANGE_NB_SLICES,
50
51     EVENT_CHANGE_NORMAL,
52     EVENT_CHANGE_PLANE_POS,
53
54     EVENT_CHANGE_INTEGR_DIR,
55
56     EVENT_CHANGE_CUT_POINT1,
57     EVENT_CHANGE_CUT_POINT2,
58
59     EVENT_CHANGE_CONTOUR_COMPONENT,
60
61     EVENT_CHANGE_SCALE_FACTOR,
62     EVENT_CHANGE_CUSTOM_SCALE_FACTOR,
63
64     EVENT_DISPLAY_PRESENTATION,
65     EVENT_ERASE_PRESENTATION,
66
67     EVENT_SCALAR_BAR_VISIBILITY_CHANGED,
68
69     EVENT_CUSTOM_RANGE_CHANGED,
70
71     EVENT_HIDE_DATA_OUTSIDE_CUSTOM_RANGE_CHANGED
72   };
73
74   EventType eventtype;
75   MEDCALC::FieldHandler * fieldHandler;
76   MEDCALC::MeshHandler * meshHandler;
77   int presentationId;
78   std::string presentationType; // presentation type (can be empty)
79   int anInteger;                // multi-purpose variable
80   //int anInteger2;             // multi-purpose variable
81   std::string aString;          // multi-purpose variable
82   double aDouble1;             // multi-purpose variable 
83   double aDouble2;             // multi-purpose variable
84   double aDouble3;
85   double aDoubleN[3];          // multi-purpose variable
86   double aDoubleP1[3];         // multi-purpose variable
87   double aDoubleP2[3];         // multi-purpose variable
88 } PresentationEvent;
89
90 #endif