Salome HOME
Join modifications from branch OCC_development_for_3_2_0a2
[modules/visu.git] / idl / VISU_Gen.idl
index 0138653ae039479e0b89f63d4d1f2cfa0db25625..af87ae1cc8f97d2988ff19a83da0fca3581f2a62 100644 (file)
@@ -59,6 +59,8 @@ module VISU {
     TSCALARMAP, /*!< Scalarmap 3D presentation object */
     TISOSURFACE, /*!< Iso surface 3D presentation object */
     TDEFORMEDSHAPE, /*!< Deformed shape 3D presentation object */
+    TSCALARMAPONDEFORMEDSHAPE, /*!< Scalar map on deformed shape 3D presentation object */
+    TGAUSSPOINTS, /*!< Gauss Points 3D presentation object */
     TPLOT3D, /*!< Plot3D 3D presentation object */
     TCUTPLANES, /*!< Cut planes 3D presentation object */
     TCUTLINES, /*!< Cut lines 3D presentation object */
@@ -70,6 +72,7 @@ module VISU {
     TXYPLOT, /*!< 2D XY plot consisting of one or several curve lines */
     TTABLEVIEW, /*!< Table view is used for displaying data tables */
     TVIEW3D, /*!< 3D view is used for displaying 3D graphical presentations */
+    TGAUSSVIEW, /*!< 3D view is used for displaying Gauss Points graphical presentations */
     TENTITY, /*!< An element composing a mesh: node, edge, face or cell */
     TFAMILY, /*!< The whole mesh can be divided into one or several submeshes, called families, which are defined by the user. Each family in its turn is composed of entities of a definite type. */
     TGROUP, /*!< A group of families */
@@ -364,8 +367,9 @@ module VISU {
     PresentationType GetPresentationType();
   };
 
+
   //-------------------------------------------------------
-  /*! \brief Interface of the %Scalar Map
+  /*! \brief Basic Interface for the %Colored 3D Presentations
    *
    * This interface is responsable for coloring of 3D field presentations
    * according the scalar values applied to different cells.
@@ -373,7 +377,7 @@ module VISU {
    * bar is displayed along with each colored field presentation and serves for
    * consulting the correspondance between colors and data values.
    */
-  interface ScalarMap : Prs3d {
+  interface ColoredPrs3d : Prs3d {
     /*! Sets the method of coloring of the elements composing a 3D presentation.
      */
     void SetScalarMode(in long theScalarMode);
@@ -382,24 +386,6 @@ module VISU {
      */
     long GetScalarMode();
 
-    /*!
-     * Sets the type of scaling of the values reflected by the scalar bar.
-     * \param theScaling The value of this parameter is taken from the <VAR>Scaling</VAR> enumeration.
-     */
-    void SetScaling(in Scaling theScaling);
-
-    /*!
-     * Gets the type of scaling of the values reflected by this presentation.
-     */
-    Scaling GetScaling();
-
-    /*!
-     * Sets scalar range - min and max boundaries of the scalar bar.
-     * \param theMin  Min boundary of the scalar bar.
-     * \param theMax  Max boundary of the scalar bar.
-     */
-    void SetRange(in double theMin, in double theMax);
-
     /*!
      * Gets the min boundary of the scalar bar.
      */
@@ -410,24 +396,6 @@ module VISU {
      */
     double GetMax();
 
-    /*! %Orientation of the scalar bar. */
-    enum Orientation {
-      HORIZONTAL, /*!< Horizontal orientation of the scalar bar.*/
-      VERTICAL    /*!< Vertical orientation of the scalar bar.*/
-    };
-
-    /*!
-     * Sets the type of orientation of the scalar bar.
-     * \param theOrientation This parameter defines the orientation of the scalar bar.
-     *                       It is taken from the <VAR>Orientaton</VAR> enumeration.
-     */
-    void SetBarOrientation(in Orientation theOrientation);
-
-    /*!
-     * Gets the type of orientation of the scalar bar.
-     */
-    Orientation GetBarOrientation();
-
     /*! \brief Position of the scalar bar.
      *
      * Sets the position of the scalar bar origin on the screen.
@@ -505,7 +473,63 @@ module VISU {
     string GetTitle();
   };
 
+
+  //-------------------------------------------------------
+  /*! \brief Interface of the %Scalar Map
+   *
+   * This interface is responsable for coloring of 3D field presentations
+   * according the scalar values applied to different cells.
+   * As well it contains presentation parameters of the scalar bar. The scalar
+   * bar is displayed along with each colored field presentation and serves for
+   * consulting the correspondance between colors and data values.
+   */
+  interface ScalarMap : ColoredPrs3d {
+    /*!
+     * Sets the type of scaling of the values reflected by the scalar bar.
+     * \param theScaling The value of this parameter is taken from the <VAR>Scaling</VAR> enumeration.
+     */
+    void SetScaling(in Scaling theScaling);
+
+    /*!
+     * Gets the type of scaling of the values reflected by this presentation.
+     */
+    Scaling GetScaling();
+
+    /*!
+     * Sets scalar range - min and max boundaries of the scalar bar.
+     * \param theMin  Min boundary of the scalar bar.
+     * \param theMax  Max boundary of the scalar bar.
+     */
+    void SetRange(in double theMin, in double theMax);
+
+    /*! %Orientation of the scalar bar (to provide backward compatibility). */
+    enum Orientation {
+      HORIZONTAL, /*!< Horizontal orientation of the scalar bar.*/
+      VERTICAL    /*!< Vertical orientation of the scalar bar.*/
+    };
+
+    /*!
+     * Sets the type of orientation of the scalar bar (to provide backward compatibility).
+     * \param theOrientation This parameter defines the orientation of the scalar bar.
+     *                       It is taken from the <VAR>Orientaton</VAR> enumeration.
+     */
+    void SetBarOrientation(in Orientation theOrientation);
+
+    /*!
+     * Gets the type of orientation of the scalar bar (to provide backward compatibility).
+     */
+    Orientation GetBarOrientation();
+  };
+
+  //-------------------------------------------------------
+  /*! \brief Gauss Points presentation interface
+   *
+   * Presentation parameters of the Gauss Points presentation.
+   */
   //-------------------------------------------------------
+  interface GaussPoints : ColoredPrs3d {
+  };
+
   /*! \brief Deformed shape presentation interface
    *
    * Presentation parameters of the deformed shape presentation.
@@ -544,6 +568,48 @@ module VISU {
     void SetColor(in SALOMEDS::Color theColor);
   };
 
+  //-------------------------------------------------------
+  /*! \brief Scalar Map on Deformed shape presentation interface
+   *
+   * Presentation parameters of the scalar map on deformed shape presentation.
+   */
+  interface ScalarMapOnDeformedShape : ScalarMap {
+    
+    /*!
+     * Sets the source ranges of pipeline
+     */
+    void SetSourceRange(in double theMinRange,in double theMaxRange);
+    /*!
+     * Gets the minimum source range of pipeline
+     */
+    double GetSourceRangeMin();
+    /*!
+     * Gets the maximum source range of pipeline
+     */
+    double GetSourceRangeMax();
+    
+    /*!
+     * Sets the scale of the presentatable object.
+     * \param theScale Double value defining the scale of this presentable object.
+     */
+    void SetScale(in double theScale);
+
+    /*!
+     * Gets the scale of the presentatable object.
+     */
+    double GetScale();
+
+    /*!
+     * Sets the scalar field
+     * \param theMeshName  - mesh name
+     * \param theFieldName - the name of scalar field
+     * \param theIteration - the iteration number for scalar field
+     * \param theEntity    - entity of scalar field
+     */
+    void SetScalarField(in string theMeshName,in string theFieldName,
+                       in long theIteration,in Entity theEntity);
+
+  };
   //-------------------------------------------------------
   /*!
    *  \brief Plot3D interface
@@ -1127,7 +1193,7 @@ module VISU {
 
     /*!
      */
-    ScalarMap getPresentation(in long theField, in long theFrame);
+    ColoredPrs3d getPresentation(in long theField, in long theFrame);
 
     /*! Sets the type of presentation (vectors, deformed shape etc.)
      *  which will be generated by the method <VAR>generatePresentations</VAR>.
@@ -1159,8 +1225,8 @@ module VISU {
      *  This method allows to bound the range of generated frames.
      *  If this method is not used, the animation will be generated
      *  on the basis of all time stamps contained in the field.
-     *  /param theMin The value of the first time stamp which will be used for generation of the animation.
-     *  /param theMax The value of the last time stamp which will be used for generation of the animation.
+     *  \param theMin The value of the first time stamp which will be used for generation of the animation.
+     *  \param theMax The value of the last time stamp which will be used for generation of the animation.
      */
     void setAnimationRange(in double theMin, in double theMax);
 
@@ -1179,10 +1245,20 @@ module VISU {
     boolean isRangeDefined();
 
     /*! Saves all the frames composing the animation into a definite directory.
-     * \param thePath The directory where all the frames will be saved.
+     *  Pictures format is set with method <VAR>setDumpFormat()</VAR>.
+     *  \param thePath The directory where all the frames will be saved.
      */
     void dumpTo(in string thePath);
 
+    /*! Set format for saving all the frames composing the animation.
+     *  \param theFormat The format for saving pictures.
+     *                   For available formats see QImageIO documentation (Qt).
+     *                   If specified format is not available, default format will be used.
+     *                   Default format is JPEG or first of supported, if JPEG is not available.
+     *  \return Really set format. Differ from \a theFormat if \a theFormat is not available.
+     */
+    string setDumpFormat(in string theFormat);
+
     /*! Returns True, if the playback of the animation is cycling.
      */
     boolean isCycling();
@@ -1227,10 +1303,33 @@ module VISU {
    * for further construction of graphical presentations.
    */
   interface Result : RemovableObject, SALOME::GenericObj {
-    //interface Result : Base{
     /*! Reads all data from the corresponding sources. By default the data is loaded on demand.
      */
     boolean BuildAll();
+
+    /*! Start to parse the source MED file and publish all its entities into the study*/
+    boolean Build(in boolean theIsBuildAll, in boolean theIsAtOnce);
+
+    /*! Allow to check is all requested MED entites already loaded or not */
+    boolean IsDone();
+
+    /*! Allow to check is corresponding MED entites already loaded or not */
+    boolean IsEntitiesDone();
+
+    /*! Choose to parse MED fields and perform global min / max on the MED timestamps.*/
+    void SetBuildFields(in boolean theIsBuildFields, in boolean theIsCalculateMinMax);
+
+    /*! Allow to check is corresponding MED fields already loaded or not */
+    boolean IsFieldsDone();
+
+    /*! Choose to parse MED groups.*/
+    void SetBuildGroups(in boolean theIsBuildGroups);
+
+    /*! Allow to check is corresponding MED groups and families already loaded or not */
+    boolean IsGroupsDone();
+
+    /*! Allow to check is min / max calculation over field's components already perfrormed or not */
+    boolean IsMinMaxDone();
   };
 
   //-------------------------------------------------------
@@ -1275,6 +1374,13 @@ module VISU {
      */
     Result ImportFile(in string theFileName);
 
+    /*!
+     * Create result and initialize its with the file. The access to this file will be conserved outside of the application.
+     * \param theFileName String parameter defining the name of the file
+     *                    from which the data will be imported.
+     */
+    Result CreateResult(in string theFileName);
+
     /*!
      * Imports data from a file. The access to this file will closed.
      * \param theFileName String parameter defining the name of the file
@@ -1330,6 +1436,18 @@ module VISU {
                               in Entity theEntity, in string theFieldName,
                               in double theIteration);
 
+    /*!
+     * Creates a Gauss Points presentation.
+     * \param theResult    Data generated in other sources. (MED object or file)
+     * \param theMeshName  One of the meshes presented in MED file
+     * \param theEntity    Type of entity where the field is defined
+     * \param theFieldName Group of data attributed to the %MESH. The data can be scalar or vector.
+     * \param theIteration Number of iteration on the field
+     */
+    GaussPoints GaussPointsOnField(in Result theResult, in string theMeshName,
+                                  in Entity theEntity, in string theFieldName,
+                                  in double theIteration);
+
     /*!
      * Creates a deformed shape presentation.
      * \param theResult    Data generated in other sources. (MED object or file)
@@ -1342,6 +1460,18 @@ module VISU {
                                       in Entity theEntity, in string theFieldName,
                                       in double theIteration);
 
+    /*!
+     * Creates a deformed shape presentation.
+     * \param theResult    Data generated in other sources. (MED object or file)
+     * \param theMeshName  One of the meshes presented in MED file
+     * \param theEntity    Type of entity where the field is defined
+     * \param theFieldName Group of data attributed to the %MESH. The data can be scalar or vector.
+     * \param theIteration Number of iteration on the field
+     */
+    ScalarMapOnDeformedShape ScalarMapOnDeformedShapeOnField(in Result theResult, in string theMeshName,
+                                                            in Entity theEntity, in string theFieldName,
+                                                            in double theIteration);
+
     /*!
      * Creates a vector presentation.
      * \param theResult    Data generated in other sources. (MED object or file)