1 // Copyright (C) 2005-2019 CEA/DEN, EDF R&D, OPEN CASCADE
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.
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.
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
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 #ifndef __MED_PRESENTATION_MANAGER_IDL_
21 #define __MED_PRESENTATION_MANAGER_IDL_
23 #include "SALOME_GenericObj.idl"
24 #include "MEDDataManager.idl"
28 /* Enumerations and constants */
38 COLOR_MAP_BLUE_TO_RED_RAINBOW,
39 COLOR_MAP_COOL_TO_WARM
42 enum ScalarBarRangeType {
43 SCALAR_BAR_ALL_TIMESTEPS,
44 SCALAR_BAR_CURRENT_TIMESTEP
49 MESH_MODE_SURFACE_EDGES,
55 // struct ScalarBarRange {
56 // // (valMin,valMax) defines the scalar bar range from:
57 // // (-1,timestep): the field values at the chosen timestep
58 // // (-1,-1): the field values across all timesteps
59 // // (-2,-2): the field values at current timestep
60 // // (start,end): a user-input range of values
65 const string DISPLAY_EUCLIDEAN_NORM = ""; // Void string to avoid clash with a real component name -- never used actually?
67 enum SliceOrientationType {
79 const ViewModeType VIEW_MODE_DEFAULT = VIEW_MODE_REPLACE;
80 const ColorMapType COLOR_MAP_DEFAULT = COLOR_MAP_BLUE_TO_RED_RAINBOW;
81 const ScalarBarRangeType SCALAR_BAR_RANGE_DEFAULT = SCALAR_BAR_ALL_TIMESTEPS;
82 const MeshModeType MESH_MODE_DEFAULT = MESH_MODE_WIREFRAME;
83 // const long SCALAR_BAR_RANGE_VAL_MIN_DEFAULT = -1;
84 // const long SCALAR_BAR_RANGE_VAL_MAX_DEFAULT = -1;
85 const string DISPLAY_DEFAULT = DISPLAY_EUCLIDEAN_NORM;
86 const SliceOrientationType SLICE_ORIENTATION_DEFAULT = SLICE_NORMAL_TO_X;
88 const long NB_CONTOURS_DEFAULT = 10;
89 const long NB_SLICES_DEFAULT = 1;
91 const long NB_CONTOURS_MAX = 50;
92 const long NB_SLICES_MAX = 20;
96 // Just showing the mesh
97 struct MeshViewParameters {
102 // A simple scalar map
103 struct ScalarMapParameters {
105 string displayedComponent; // DISPLAY_EUCLIDEAN_NORM or any component name
106 ScalarBarRangeType scalarBarRange;
107 ColorMapType colorMap;
110 // A contour is an isoline in 2D and an isosurface in 3D
111 struct ContourParameters { // Contour are only for scalar fields
113 ScalarBarRangeType scalarBarRange;
114 ColorMapType colorMap;
118 struct VectorFieldParameters {
120 ScalarBarRangeType scalarBarRange;
121 ColorMapType colorMap;
124 struct SlicesParameters {
126 string displayedComponent; // DISPLAY_EUCLIDEAN_NORM or any component name
127 ScalarBarRangeType scalarBarRange;
128 ColorMapType colorMap;
129 SliceOrientationType orientation;
133 struct DeflectionShapeParameters {
135 ScalarBarRangeType scalarBarRange;
136 ColorMapType colorMap;
139 struct PointSpriteParameters {
141 string displayedComponent; // DISPLAY_EUCLIDEAN_NORM or any component name
142 ScalarBarRangeType scalarBarRange;
143 ColorMapType colorMap;
146 typedef sequence<long> PresentationsList;
150 interface MEDPresentationManager : SALOME::GenericObj
152 long makeMeshView(in MeshViewParameters params, in ViewModeType viewMode) raises (SALOME::SALOME_Exception);
153 long makeScalarMap(in ScalarMapParameters params, in ViewModeType viewMode) raises (SALOME::SALOME_Exception);
154 long makeContour(in ContourParameters params, in ViewModeType viewMode) raises (SALOME::SALOME_Exception);
155 long makeVectorField(in VectorFieldParameters params, in ViewModeType viewMode) raises (SALOME::SALOME_Exception);
156 long makeSlices(in SlicesParameters params, in ViewModeType viewMode) raises (SALOME::SALOME_Exception);
157 long makeDeflectionShape(in DeflectionShapeParameters params, in ViewModeType viewMode) raises (SALOME::SALOME_Exception);
158 long makePointSprite(in PointSpriteParameters params, in ViewModeType viewMode) raises (SALOME::SALOME_Exception);
160 void setPresentationStringProperty(in long presId, in string propName, in string propValue);
161 string getPresentationStringProperty(in long presId, in string propName);
162 void setPresentationIntProperty(in long presId, in string propName, in long propValue);
163 long getPresentationIntProperty(in long presId, in string propName);
165 MeshViewParameters getMeshViewParameters(in long presId);
166 ScalarMapParameters getScalarMapParameters(in long presId);
167 ContourParameters getContourParameters(in long presId);
168 SlicesParameters getSlicesParameters(in long presId);
169 VectorFieldParameters getVectorFieldParameters(in long presId);
170 PointSpriteParameters getPointSpriteParameters(in long presId);
171 DeflectionShapeParameters getDeflectionShapeParameters(in long presId);
173 void updateMeshView(in long presId, in MeshViewParameters params) raises (SALOME::SALOME_Exception);
174 void updateScalarMap(in long presId, in ScalarMapParameters params) raises (SALOME::SALOME_Exception);
175 void updateContour(in long presId, in ContourParameters params) raises (SALOME::SALOME_Exception);
176 void updateVectorField(in long presId, in VectorFieldParameters params) raises (SALOME::SALOME_Exception);
177 void updateSlices(in long presId, in SlicesParameters params) raises (SALOME::SALOME_Exception);
178 void updateDeflectionShape(in long presId, in DeflectionShapeParameters params) raises (SALOME::SALOME_Exception);
179 void updatePointSprite(in long presId, in PointSpriteParameters params) raises (SALOME::SALOME_Exception);
181 boolean removePresentation(in long presId) raises (SALOME::SALOME_Exception);
183 // Helper function to keep GUI sync
184 boolean activateView(in long presentationId) raises (SALOME::SALOME_Exception);
186 // Low level ParaVis dump
187 string getParavisDump(in long presId) raises (SALOME::SALOME_Exception);
189 // ViewModeType getPresentationViewMode(in long presId);
191 PresentationsList getAllPresentations();
193 void cleanUp() raises (SALOME::SALOME_Exception);