Salome HOME
Merge 'abn/V8_1_fix' branch into V8_1_BR.
[modules/med.git] / idl / MEDPresentationManager.idl
index c3e100225381634171c8dcb7ca63d8ba505220bf..006d89dddfee679e612afdf809d5ec838bda7c2e 100644 (file)
@@ -27,30 +27,44 @@ module MEDCALC
 {
   /* Enumerations and constants */
 
-  enum MEDPresentationViewMode {
+  enum ViewModeType {
     VIEW_MODE_OVERLAP,
     VIEW_MODE_REPLACE,
     VIEW_MODE_NEW_LAYOUT,
     VIEW_MODE_SPLIT_VIEW
   };
 
-  enum MEDPresentationColorMap {
+  enum ColorMapType {
     COLOR_MAP_BLUE_TO_RED_RAINBOW,
     COLOR_MAP_COOL_TO_WARM
   };
 
-  struct ScalarBarRange {
-    // (valMin,valMax) defines the scalar bar range from:
-    //      (-1,timetep): the field values at the chosen timestep
-    //      (-1,-1):      the field values across all timesteps
-    //      (start,end):  a user-input range of values
-    long valMin;
-    long valMax;
+  enum ScalarBarRangeType {
+    SCALAR_BAR_ALL_TIMESTEPS,
+    SCALAR_BAR_CURRENT_TIMESTEP
   };
 
-  const string DISPLAY_EUCLIDEAN_NORM = "Euclidean norm";
-
-  enum SliceOrientation {
+  enum MeshModeType {
+    MESH_MODE_WIREFRAME,
+    MESH_MODE_SURFACE_EDGES,
+    MESH_MODE_SURFACE
+  };
+  
+  
+
+//  struct ScalarBarRange {
+//    // (valMin,valMax) defines the scalar bar range from:
+//    //      (-1,timestep): the field values at the chosen timestep
+//    //      (-1,-1):      the field values across all timesteps
+//    //      (-2,-2):      the field values at current timestep
+//    //      (start,end):  a user-input range of values
+//    long valMin;
+//    long valMax;
+//  };
+
+  const string DISPLAY_EUCLIDEAN_NORM = "";  // Void string to avoid clash with a real component name -- never used actually?
+
+  enum SliceOrientationType {
     SLICE_NORMAL_TO_X,
     SLICE_NORMAL_TO_Y,
     SLICE_NORMAL_TO_Z,
@@ -62,91 +76,122 @@ module MEDCALC
 
   /* Default values */
 
-  const MEDPresentationViewMode VIEW_MODE_DEFAULT = VIEW_MODE_REPLACE;
-  const MEDPresentationColorMap COLOR_MAP_DEFAULT = COLOR_MAP_BLUE_TO_RED_RAINBOW;
-  //const ScalarBarRange SCALAR_BAR_RANGE_DEFAULT = ;
-  const long SCALAR_BAR_RANGE_VAL_MIN_DEFAULT = -1;
-  const long SCALAR_BAR_RANGE_VAL_MAX_DEFAULT = -1;
+  const ViewModeType VIEW_MODE_DEFAULT = VIEW_MODE_REPLACE;
+  const ColorMapType COLOR_MAP_DEFAULT = COLOR_MAP_BLUE_TO_RED_RAINBOW;
+  const ScalarBarRangeType SCALAR_BAR_RANGE_DEFAULT = SCALAR_BAR_ALL_TIMESTEPS;
+  const MeshModeType MESH_MODE_DEFAULT = MESH_MODE_WIREFRAME;
+//  const long SCALAR_BAR_RANGE_VAL_MIN_DEFAULT = -1;
+//  const long SCALAR_BAR_RANGE_VAL_MAX_DEFAULT = -1;
   const string DISPLAY_DEFAULT = DISPLAY_EUCLIDEAN_NORM;
-  const SliceOrientation SLICE_ORIENTATION_DEFAULT = SLICE_NORMAL_TO_Z;
+  const SliceOrientationType SLICE_ORIENTATION_DEFAULT = SLICE_NORMAL_TO_X;
+
   const long NB_CONTOURS_DEFAULT = 10;
   const long NB_SLICES_DEFAULT = 1;
 
+  const long NB_CONTOURS_MAX = 50;
+  const long NB_SLICES_MAX = 20;
+
   /* Structs */
 
+  // Just showing the mesh 
+  struct MeshViewParameters {
+    long meshHandlerId;
+    MeshModeType mode;
+  };
+
+  // A simple scalar map
   struct ScalarMapParameters {
     long fieldHandlerId;
-    MEDPresentationViewMode viewMode;
-    string displayedInfo; // DISPLAY_EUCLIDEAN_NORM or any field name
-    ScalarBarRange sbRange;
-    MEDPresentationColorMap colorMap;
+    string displayedComponent; // DISPLAY_EUCLIDEAN_NORM or any component name
+    ScalarBarRangeType scalarBarRange;
+    ColorMapType colorMap;
   };
 
   // A contour is an isoline in 2D and an isosurface in 3D
-  struct ContourParameters {
+  struct ContourParameters {   // Contour are only for scalar fields
     long fieldHandlerId;
-    MEDPresentationViewMode viewMode;
-    string displayedInfo; // DISPLAY_EUCLIDEAN_NORM or any field name
-    ScalarBarRange sbRange;
-    MEDPresentationColorMap colorMap;
+    ScalarBarRangeType scalarBarRange;
+    ColorMapType colorMap;
     long nbContours;
   };
 
   struct VectorFieldParameters {
     long fieldHandlerId;
-    MEDPresentationViewMode viewMode;
+    ScalarBarRangeType scalarBarRange;
+    ColorMapType colorMap;
   };
 
   struct SlicesParameters {
     long fieldHandlerId;
-    MEDPresentationViewMode viewMode;
-    SliceOrientation orientation;
+    string displayedComponent; // DISPLAY_EUCLIDEAN_NORM or any component name
+    ScalarBarRangeType scalarBarRange;
+    ColorMapType colorMap;
+    SliceOrientationType orientation;
     long nbSlices;
   };
 
   struct DeflectionShapeParameters {
     long fieldHandlerId;
-    MEDPresentationViewMode viewMode;
+    ScalarBarRangeType scalarBarRange;
+    ColorMapType colorMap;
   };
 
   struct PointSpriteParameters {
     long fieldHandlerId;
-    MEDPresentationViewMode viewMode;
-    string displayedInfo; // DISPLAY_EUCLIDEAN_NORM or any field name
-    ScalarBarRange sbRange;
-    MEDPresentationColorMap colorMap;
+    string displayedComponent; // DISPLAY_EUCLIDEAN_NORM or any component name
+    ScalarBarRangeType scalarBarRange;
+    ColorMapType colorMap;
   };
 
+  typedef sequence<long> PresentationsList;
+
   /* Functions */
 
   interface MEDPresentationManager : SALOME::GenericObj
   {
-
-    long makeScalarMap(in ScalarMapParameters params);
-    long makeContour(in ContourParameters params);
-    long makeVectorField(in VectorFieldParameters params);
-    long makeSlices(in SlicesParameters params);
-    long makeDeflectionShape(in DeflectionShapeParameters params);
-    long makePointSprite(in PointSpriteParameters params);
-
-    void setPresentationProperty(in long presId, in string propName, in string propValue);
-    string getPresentationProperty(in long presId, in string propName);
-
-    void updateScalarMap(in long presId, in ScalarMapParameters params);
-    void updateContour(in long presId, in ContourParameters params);
-    void updateVectorField(in long presId, in VectorFieldParameters params);
-    void updateSlices(in long presId, in SlicesParameters params);
-    void updateDeflectionShape(in long presId, in DeflectionShapeParameters params);
-    void updatePointSprite(in long presId, in PointSpriteParameters params);
-
-    boolean removePresentation(in long presId);
-
-    // Helper functions to keep GUI sync
-    boolean activateView(in long presentationId);
-
-    MEDPresentationViewMode getPresentationViewMode(in long presId);
+    long makeMeshView(in MeshViewParameters params, in ViewModeType viewMode)   raises (SALOME::SALOME_Exception);
+    long makeScalarMap(in ScalarMapParameters params, in ViewModeType viewMode) raises (SALOME::SALOME_Exception);
+    long makeContour(in ContourParameters params, in ViewModeType viewMode)     raises (SALOME::SALOME_Exception);
+    long makeVectorField(in VectorFieldParameters params, in ViewModeType viewMode)  raises (SALOME::SALOME_Exception);
+    long makeSlices(in SlicesParameters params, in ViewModeType viewMode)            raises (SALOME::SALOME_Exception);
+    long makeDeflectionShape(in DeflectionShapeParameters params, in ViewModeType viewMode) raises (SALOME::SALOME_Exception);
+    long makePointSprite(in PointSpriteParameters params, in ViewModeType viewMode)  raises (SALOME::SALOME_Exception);
+
+    void setPresentationStringProperty(in long presId, in string propName, in string propValue);
+    string getPresentationStringProperty(in long presId, in string propName);
+    void setPresentationIntProperty(in long presId, in string propName, in long propValue);
+    long getPresentationIntProperty(in long presId, in string propName);
+
+    MeshViewParameters  getMeshViewParameters(in long presId);
+    ScalarMapParameters getScalarMapParameters(in long presId);
+    ContourParameters   getContourParameters(in long presId);
+    SlicesParameters     getSlicesParameters(in long presId);
+    VectorFieldParameters     getVectorFieldParameters(in long presId);
+    PointSpriteParameters     getPointSpriteParameters(in long presId);
+    DeflectionShapeParameters     getDeflectionShapeParameters(in long presId);
+
+    void updateMeshView(in long presId, in MeshViewParameters params)   raises (SALOME::SALOME_Exception);
+    void updateScalarMap(in long presId, in ScalarMapParameters params) raises (SALOME::SALOME_Exception);
+    void updateContour(in long presId, in ContourParameters params)     raises (SALOME::SALOME_Exception);
+    void updateVectorField(in long presId, in VectorFieldParameters params) raises (SALOME::SALOME_Exception);
+    void updateSlices(in long presId, in SlicesParameters params)       raises (SALOME::SALOME_Exception);
+    void updateDeflectionShape(in long presId, in DeflectionShapeParameters params) raises (SALOME::SALOME_Exception);
+    void updatePointSprite(in long presId, in PointSpriteParameters params)         raises (SALOME::SALOME_Exception);
+
+    boolean removePresentation(in long presId)   raises (SALOME::SALOME_Exception);
+
+    // Helper function to keep GUI sync
+    boolean activateView(in long presentationId) raises (SALOME::SALOME_Exception);
+
+    // Low level ParaVis dump
+    string getParavisDump(in long presId) raises (SALOME::SALOME_Exception);
+
+//    ViewModeType getPresentationViewMode(in long presId);
+    
+    PresentationsList getAllPresentations();
+
+    void cleanUp()   raises (SALOME::SALOME_Exception);
   };
-
 };
 
 #endif