Salome HOME
Join modifications from branch OCC_development_for_3_2_0a2
[modules/visu.git] / idl / VISU_Gen.idl
index fa9708748d5e1161098ba1a8f43f0be133a17a88..af87ae1cc8f97d2988ff19a83da0fca3581f2a62 100644 (file)
-// File :      VISU_Gen.idl
-// Created :
-// Author :    Alexey Petrov
-// Project :   SALOME
-// Copyright : OPEN CASCADE
-// $HEADERS:
-
-/*! \file VISU_Gen.idl This file conatins a set of interfaces of %VISU module.
-      This module will provide various forms of data visualization in %SALOME application.
-      These forms include data tables, XY plots, 3d representations
-      and combination of these forms.
-*/
-/*!
- \defgroup Visu SALOME VISU module
-*/
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : VISU_Gen.idl
+//  Author : Alexey Petrov
+
+/*! \file VISU_Gen.idl This file conatins a set of interfaces of the %VISU module.
+ *     This module provides various forms of data visualization in %SALOME application.
+ *     These forms include data tables, XY plots, 3d representations
+ *     and combination of these forms.
+ */
 
 #ifndef __VISU_GEN__
 #define __VISU_GEN__
 
 #include "SALOME_Exception.idl"
+#include "SALOME_GenericObj.idl"
 #include "SALOME_Component.idl"
 #include "SALOMEDS.idl"
 #include "SALOMEDS_Attributes.idl"
 #include "MED.idl"
 
-/*! \ingroup Visu
-  The main package of interfaces of the module %VISU.
+/*!
+  The main package of interfaces of the post-processing module %VISU.
 */
 module VISU {
   //-------------------------------------------------------
-  const string VISU__doc__ = "Module VISU provides various forms of data visualization in SALOME application.\nThese forms include data tables, XY plots,\n3d representations and combination of these forms.";
   typedef string IdType;
-  enum Scaling{ LINEAR, LOGARITHMIC};
-  enum Entity{ NODE, EDGE, FACE, CELL};
-  //enum Entity{ CELL, FACE, EDGE, NODE};      
-/*!
- This enumeration contains a set of elements defining the type of the module.
-*/
-   enum VISUType{ TNONE,
-                 TCURVE, TTABLE, TCONTAINER, TMESH, TSCALARMAP,
-                 TISOSURFACE, TDEFORMEDSHAPE, TCUTPLANES, TVECTORS, TSTREAMLINES,
-                  TVISUGEN, TVIEWMANAGER, TRESULT,
-                 TXYPLOT, TTABLEVIEW, TVIEW3D,
-                 TENTITY, TFAMILY, TGROUP, TFIELD, TTIMESTAMP,
-                  TALL};
+
+  /*!
+   * This enumeration contains a set of elements defining the type
+   * of the scaling, which can be applied on different presentations.
+   */
+  enum Scaling{ LINEAR, /*!< Linear type of scaling. */
+               LOGARITHMIC /*!< Logarithmic type of scaling. */
+             };
+
+  /*!
+   * This enumeration contains a set of elements defining the
+   * type of the %entity (topological units) constituting a mesh.
+   */
+  enum Entity{ NODE, /*!< Node corresponds to a geometrical point. */
+               EDGE, /*!< Edge corresponds to a geometrical line connecting two points. */
+              FACE, /*!< Face corresponds to a geometrical plane bounded by several lines. */
+              CELL  /*!< Cell is a volumic element of a mesh */
+              };
+
+  /*!
+   * This enumeration contains a set of elements defining the type of the %VISU object.
+   * This enumeration is used for navigation between a set of %VISU interfaces.
+   */
+  enum VISUType {
+    TNONE, /*!< Not a %VISU object */
+    TCURVE, /*!< Curve line object for construction of 2D XY plots */
+    TTABLE, /*!< Table containing numerical data */
+    TCONTAINER, /*!< Container object used for storing a set of curve lines */
+    TMESH, /*!< Meshing object */
+    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 */
+    TVECTORS, /*!< Vectors 3D presentation object */
+    TSTREAMLINES, /*!< Streamlines 3D presentation object */
+    TVISUGEN, /*!< %VISU generator used for performing operations with different %VISU objects */
+    TVIEWMANAGER, /*!< View manager used for performing operations with different views */
+    TRESULT, /*!< The data on which different presentations are based */
+    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 */
+    TFIELD, /*!< Field represents the results of calculations (it can be scalar or vector values), grouped together under one physical concept. */
+    TTIMESTAMP, /*!<Time stamp represents a subfield: the results of calculations are taken in one definite moment. */
+    TANIMATION, /*!< Represents Animation object. */
+    TALL
+  };
+
   interface Base {
-/*!
-   Returns ID of the object.
-*/
+    /*!
+     * Returns ID of the object.
+     */
     IdType GetID();
-    const string GetID__doc__ = "Returns ID of the object.";
-/*!
-Returns the type of the presentable object
-*/
+
+    /*!
+     * Returns the type of the presentable object
+     */
     VISUType GetType();
-    const string GetType__doc__ = "Returns the type of the module interface";
-  };   
-/*! \brief Presentable object interface
+  };
 
- It is the root class of all presentable objects.
-*/
-  interface PrsObject : Base{
+  /*!
+   *  \brief Removable object interface
+   *
+   *  Removable object interface is the root class of all removable objects.
+   */
+  interface RemovableObject : Base {
+    /*!
+     *  Remove object from study.
+     */
+    void RemoveFromStudy();
   };
-    const string PrsObject__doc__ = "It is the root class of all presentable objects.";
-  //-------------------------------------------------------
-/*! \brief %Table representation interface
 
-Presentation parameters of the %Table view.
-*/
+  /*! \brief Presentable object interface
+   *
+   * Presentable object interface is the root class of all presentable objects.
+   */
+  interface PrsObject : RemovableObject {
+  };
+
+  //-------------------------------------------------------
+  /*! \brief %Table representation interface
+   *
+   * Presentation parameters of the %Table view.
+   */
   interface Table : PrsObject {
-/*!
-Sets the title of the table.
-*/
+    /*!
+     * Sets the title of the table.
+     * \param theTitle String parameter defining the title of this table.
+     */
     void SetTitle(in string theTitle);
-    const string SetTitle__doc__ = "Sets the title of the table.";
-/*!
-Gets the title of the table.
-*/
+
+    /*!
+     * Gets the title of the table.
+     * \return A string value containing the title of the table.
+    */
     string GetTitle();
-    const string GetTitle__doc__ = "Gets the title of the table.";
-/*!
- This enumeration contains a set of elements defining the orientation of the table.
-*/
-    enum Orientation{ HORIZONTAL, /*!<Horizontal orientation of the table.*/
-                       VERTIACAL /*!<Vertical orientation of the table.*/
-                    };
-/*!
-Sets orientation of the table.
-*/
+
+    /*!
+     * This enumeration contains a set of elements defining the orientation of the table.
+     */
+    enum Orientation {
+      HORIZONTAL, /*!< Horizontal orientation of the table. */
+      VERTIACAL   /*!< Vertical orientation of the table. */
+    };
+
+    /*!
+     * Sets orientation of the table.
+     * \param theOrientation This input parameter defines the orientation of the table.
+     *                       It is taken from the <VAR>Orientation</VAR> enumeration.
+     */
     void SetOrientation(in Orientation theOrientation);
-    const string SetOrientation__doc__ = "Sets orientation of the table.";
-/*!
-Gets orientation of the table.
-*/
+
+    /*!
+     * Gets orientation of the table.
+     * \return Orientation of the table. The returned value will correspond
+     *         to one of the elements the <VAR>Orientation</VAR> enumeration.
+     */
     Orientation GetOrientation();
-    const string GetOrientation__doc__ = "Gets orientation of the table.";
- /*!
-Gets the number of rows of the table
- */
+
+    /*!
+     * Gets the number of rows of the table.
+     * \return Long value corresponding to the number of rows of the table
+     */
     long GetNbRows();
-    const string GetNbRows__doc__ = "Gets the number of rows of the table.";
- /*!
-Gets the number of columns of the table
- */
+
+    /*!
+     * Gets the number of columns of the table.
+     * \return Long value corresponding to the number of columns of the table
+     */
     long GetNbColumns();
-    const string GetNbColumns__doc__ ="Gets the number of columns of the table.";
   };
-    const string Table__doc__ = "The Table interface contains presentation\nparameters of the %Table view.";
-  //-------------------------------------------------------
-/*! \brief Interface of curve representation.
 
-Manages presentation parameters of one curve.
-It can be used for presentation of a set of curves using a combined presentation.
-*/
-  interface Curve : PrsObject{
-/*!
-Sets the title of the curve.
-*/
+  //-------------------------------------------------------
+  /*! \brief Interface of curve representation.
+   *
+   * Manages presentation parameters of one curve.
+   * It can be used for presentation of a set of curves using a combined presentation.
+   */
+  interface Curve : PrsObject {
+    /*!
+     * Sets the title of the curve.
+     * \param theTitle This string parameter defines the title of this curve.
+     */
     void SetTitle(in string theTitle);
-    const string SetTitle__doc__ = "Sets the title of the curve.";
-/*!
-Gets the title of the curve.
-*/
+
+    /*!
+     * Gets the title of the curve.
+     * \return String value corresponding to the title of the curve.
+     */
     string GetTitle();
-    const string GetTitle__doc__ = "Gets the title of the curve.";
-/*!
-Sets the color of the curve.
-*/
+
+    /*!
+     * Sets the color of the curve.
+     * \param theColor The color of the curve. This parameter is taken
+     *                 from the <VAR>Orientation</VAR> enumeration.
+     */
     void SetColor(in SALOMEDS::Color theColor);
-    const string SetColor__doc__ = "Sets the color of the curve.";
-/*!
-Gets the color of the curve.
-*/
+
+    /*!
+     * Gets the color of the curve.
+     * \return Color of the curve. The returned value will correspond
+     *         to one of the elements the <VAR>Color</VAR> enumeration.
+     */
     SALOMEDS::Color GetColor();
-    const string GetColor__doc__ = "Gets the color of the curve.";
- /*!
- This enumeration contains a set of elements defining the representation type of markers (data points) with help of
-which the curve is constructed on the graphics.
-*/
-    enum MarkerType{ NONE, CIRCLE, RECTANGLE, DIAMOND,
-                     DTRIANGLE, UTRIANGLE, LTRIANGLE, RTRIANGLE,
-                     CROSS, XCROSS };
-/*!
-Sets the representation type of markers (data points) with help of
-which the curve is constructed on the graphics.
-*/
+
+    /*!
+     * This enumeration contains a set of elements defining the
+     * presentation type of markers (data points) with help of
+     * which the curve is constructed on the graphics.
+     */
+    enum MarkerType { NONE,
+                     CIRCLE,
+                     RECTANGLE,
+                     DIAMOND,
+                     DTRIANGLE,
+                     UTRIANGLE,
+                     LTRIANGLE,
+                     RTRIANGLE,
+                     CROSS,
+                     XCROSS
+    };
+
+    /*!
+     * Sets the presentation type of markers (data points) with help of
+     * which the curve is constructed on the graphics.
+     * \param theType This parameter defines the type of marker with help
+     *                of which the curve is constructed on the graphics.
+     *                It is taken from <VAR>MarkerType</VAR> enumeration.
+     */
     void SetMarker(in MarkerType theType);
-    const string SetMarker__doc__ = "Sets the representation type of markers\n(data points) with help of which\nthe curve is constructed on the graphics.";
-/*!
-Gets the representation type of markers (data points) with help of
-which the curve is constructed on the graphics.
-*/
+
+    /*!
+     * Gets the presentation type of markers (data points) with
+     * help of which the curve is constructed on the graphics.
+     * \return The type of marker with help of which the curve is constructed
+     *         on the graphics. The returned value will correspond to
+     *         one of the elements the <VAR>MarkerType</VAR> enumeration.
+     */
     MarkerType GetMarker();
-    const string GetMarker__doc__ = "Gets the representation type of markers\n(data points) with help of which the\ncurve is constructed on the graphics.";
-/*!
- This enumeration contains a set of elements defining the
type of representation of curve lines on the graphics.
-*/
+
+    /*!
    * This enumeration contains a set of elements defining the
    * type of presentation of a curve line on the graphics.
+     */
     enum LineType{ VOIDLINE, SOLIDLINE, DASHLINE, DOTLINE, DASHDOTLINE, DASHDOTDOTLINE};
-/*!
-Sets the type of representation of curve lines on the graphics.
-*/
+
+    /*!
+     * Sets the type of presentation of curve lines on the graphics.
+     * \param theType This parameter defines the type of presentation of curve lines on the graphics.
+     * \param theLineWidth Long value defining the width of the curve line.
+     */
     void SetLine(in LineType theType, in long theLineWidth);
-    const string SetLine__doc__ = "Sets the type of representation of curve\nlines on the graphics.";
-/*!
-Gets the type of representation of curve lines on the graphics.
-*/
+
+    /*!
+     * Gets the type of representation of curve lines on the graphics.
+     * \return The type of representation of curve lines on the graphics.
+     */
     LineType GetLine();
-    const string GetLine__doc__ = "Gets the type of representation of curve\nlines on the graphics.";
 
-/*!
-Gets the width of the curve line.
-*/
+    /*!
+     * Gets the width of the curve line.
+     * \return Long value corresponding to the width of the curve line.
+     */
     long GetLineWidth();
-    const string GetLineWidth__doc__ = "Gets the width of the curve line.";
   };
-    const string Curve__doc__ = "The curve representation interface manages\npresentation parameters of one curve. It can be used\nfor presentation of a set of curves\nusing a combined presentation.";
-//-------------------------------------------------------
-/*! \brief The %Container presentable object interface
-This interface contains a set of methods used for management of a group of curves
-which are stored in the container.
-*/
-  interface Container : PrsObject{
-/*!
-Adds a curve into the container.
-*/
+
+  //-------------------------------------------------------
+  /*! \brief %Container presentable object interface
+   *
+   * This class is provided in order to create one presentation using several presentable objects.
+   * This can provide a combination of a set of curves to display them in XY plot view.
+   */
+  interface Container : PrsObject {
+    /*!
+     * Adds a curve into the container.
+     * \param theCurve The added curve.
+     */
     void AddCurve(in Curve theCurve);
-    const string AddCurve__doc__ = "Adds a curve into the container.";
-/*!
-Removes a curve from the container.
-*/
+
+    /*!
+     * Removes a curve from the container.
+     * \param theCurve The removed curve.
+     */
     void RemoveCurve(in Curve theCurve);
-    const string RemoveCurve__doc__ = "Removes a curve from the container.";
-/*!
-Gets the number of curves which are stored in the container.
-*/
+
+    /*!
+     * Gets the number of curves which are stored in the container.
+     * \return A long value corresponding to the number of curves which are stored in the container.
+     */
     long GetNbCurves();
-    const string GetNbCurves__doc__ = "Gets the number of curves which\nare stored in the container.";
-/*!
-Removes all curves from the container.
-*/
-    void Clear();
-    const string Clear__doc__ = "Removes all curves from the container.";
 
+    /*!
+     * Removes all curves from the container.
+     */
+    void Clear();
   };
-    const string Container__doc__ = "The Container presentable object\ninterface contains a set of methods\nused for management of a group of curves which\nare stored in the container.";
+
   //-------------------------------------------------------
-/*!
- This enumeration contains a set of elements defining the
- type of representation of the mesh.
-*/
+  /*! \brief 3D presentation interface
+   *
+   * This is a root class for all 3D presentations, which can be displayed in %VISU module.
+   */
+  interface Prs3d : PrsObject, SALOME::GenericObj {
+    //interface Prs3d : PrsObject{
+    void SetOffset(in float theDx, in float theDy, in float theDz);
+    void GetOffset(out float theDx, out float theDy, out float theDz);
+  };
 
-    enum PresentationType{ POINT,
-                           WIREFRAME,
-                           SHADED,
-                           SHRINK
-                         };
-/*! \brief Interface of the mesh.
+  /*!
+   * This enumeration contains a set of elements defining the
+   * type of presentation of the mesh.
+   */
+  enum PresentationType{ POINT,
+                        WIREFRAME,
+                        SHADED,
+                        INSIDEFRAME,
+                        SURFACEFRAME,
+                        SHRINK
+  };
 
-This interface manages the presentation parameters of the mesh.
-*/
-    interface Mesh : PrsObject{
-/*!
-Sets the color of mesh cells.
-*/
+  /*! \brief Interface of the mesh.
+   *
+   * Manages presentation parameters of a 3D presentation of a mesh.
+   * This object can be used for presentation of set of curves using Container class.
+   */
+  interface Mesh : Prs3d {
+    /*!
+     * Sets the color of mesh cells.
+     * \param theColor The color of the cells. This parameter is taken from <VAR>Color</VAR> enumeration.
+     */
     void SetCellColor(in SALOMEDS::Color theColor);
-    const string SetCellColor__doc__ = "Sets the color of mesh cells.";
-/*!
-Gets the color of mesh cells.
-*/
+
+    /*!
+     * Gets the color of mesh cells.
+     */
     SALOMEDS::Color GetCellColor();
-    const string GetCellColor__doc__ = "Gets the color of mesh cells.";
-/*!
-Sets the color of mesh nodes.
-*/
+
+    /*!
+     * Sets the color of mesh nodes.
+     * \param theColor The color of the nodes. This parameter is taken from <VAR>Color</VAR> enumeration.
+     */
     void SetNodeColor(in SALOMEDS::Color theColor);
-    const string SetNodeColor__doc__ = "Sets the color of mesh nodes.";
-/*!
-Gets the color of mesh nodes.
-*/
+
+    /*!
+     * Gets the color of mesh nodes.
+     */
     SALOMEDS::Color GetNodeColor();
-    const string GetNodeColor__doc__ = "Gets the color of mesh nodes.";
 
-/*!
-Sets the color of mesh links.
-*/
+    /*!
+     * Sets the color of mesh links.
+     * \param theColor The color of the links. This parameter is taken from <VAR>Color</VAR> enumeration.
+     */
     void SetLinkColor(in SALOMEDS::Color theColor);
-    const string SetLinkColor__doc__ = "Sets the color of mesh links.";
-/*!
-Gets the color of mesh links.
-*/
+
+    /*!
+     * Gets the color of mesh links.
+     */
     SALOMEDS::Color GetLinkColor();
-    const string GetLinkColor__doc__ = "Gets the color of mesh links.";
-/*!
-Sets the type of representation of the mesh.
-*/
+
+    /*!
+     * Sets the type of representation of a mesh.
+     * \param theType The of representation of a mesh. This parameter is
+     *                taken from <VAR>PresentationType</VAR> enumeration.
+     */
     void SetPresentationType(in PresentationType theType);
-    const string SetPresentationType__doc__ = "Sets the type of representation of the mesh.";
-/*!
-Gets the type of representation of the mesh.
-*/
+
+    /*!
+     * Gets the type of representation of the mesh.
+     * \return The type of representation of the mesh.
+     */
     PresentationType GetPresentationType();
-    const string GetPresentationType__doc__ = "Gets the type of representation of the mesh.";
   };
-    const string Mesh__doc__ = "The Mesh interface manages the presentation parameters\nof the mesh.";
-  //-------------------------------------------------------
-/*! \brief Interface of the %Scalar Map presentation
 
-This interface contains presentation parameters of the ScalarMap presentation
-*/
-  interface ScalarMap : PrsObject{
-    void SetScalarMode(in long theScaling);
+
+  //-------------------------------------------------------
+  /*! \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.
+   * 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 ColoredPrs3d : Prs3d {
+    /*! Sets the method of coloring of the elements composing a 3D presentation.
+     */
+    void SetScalarMode(in long theScalarMode);
+
+    /*! Gets the method of coloring of the elements composing a 3D presentation.
+     */
     long GetScalarMode();
-    void SetScaling(in Scaling theScaling);
-    const string SetScaling__doc__ = "Sets the type of scaling of the values\nreflected by this presentation.";
-/*!
-Gets the type of scaling of the values reflected by this presentation.
-*/
-    Scaling GetScaling();
-    const string GetScaling__doc__ = "Gets the type of scaling of the values\nreflected by this presentation.";
-/*!
-Sets scalar range - min and max boundaries of this presentable object.
-\param theMin  Min boundary of this presentable object.
-\param theMax  Max boundary of this presentable object.
-*/
-    void SetRange(in double theMin, in double theMax);
-    const string SetRange__doc__ = "Sets scalar range - min and max boundaries\nof this presentable object.";
-/*!
- Gets the min boundary of this presentable object.
-*/
-    double GetMin();
-    const string GetMin__doc__ = "Gets the min boundary of this presentable object.";
-/*!
- Gets the max boundary of this presentable object.
-*/
-    double GetMax();
-    const string GetMax__doc__ = "Gets the max boundary of this presentable object.";
 
-/*! %Orientation of this presentable object. */
-    enum Orientation{
-                     HORIZONTAL, /*!< Horizontal orientation of this presentable object.*/
-                       VERTICAL  /*!< Vertical orientation of this presentable object.*/
-                    };
-/*!
- Sets the type of orientation of this presentable object.
-*/
-    void SetOrientation(in Orientation theOrientation);
-    const string SetOrientation__doc__ = "Sets the type of orientation of this presentable object.";
-/*!
- Gets the type of orientation of this presentable object.
-*/
-    Orientation GetOrientation();
-    const string GetOrientation__doc__ = "Gets the type of orientation of this presentable object.";
+    /*!
+     * Gets the min boundary of the scalar bar.
+     */
+    double GetMin();
 
-/*! \brief Position of this presentable object.
+    /*!
+     * Gets the max boundary of the scalar bar.
+     */
+    double GetMax();
 
-Sets the position of this presentable object origin on the screen.
-\param X   Horizontal position. The value can be between 0 and 1.
-\param Y   Vertical position. The value can be between 0 and 1.
-*/
+    /*! \brief Position of the scalar bar.
+     *
+     * Sets the position of the scalar bar origin on the screen.
+     * \param X   Horizontal position. The value can be between 0 and 1.
+     * \param Y   Vertical position. The value can be between 0 and 1.
+     */
     void SetPosition(in double X, in double Y);
-    const string SetPosition__doc__ = "Sets the position of this presentable object\norigin on the screen.";
-/*!
-  Gets horizontal position of this presentable object origin.
-*/
+
+    /*!
+     * Gets horizontal position of the scalar bar origin.
+     */
     double GetPosX();
-    const string GetPosX__doc__ = "Gets horizontal position of this presentable object origin.";
-/*!
-  Gets vertical position of this presentable object origin.
-*/
+
+    /*!
+     * Gets vertical position of the scalar bar origin.
+     */
     double GetPosY();
-    const string GetPosY__doc__ = "Gets vertical position of this presentable object origin.";
-/*! \brief Size of this presentable object.
 
-Sets the size of the scalar bar.
-\param theWidth  Width of this presentable object. The value can be between 0 and 1.
-\param theHeight  Height of this presentable object. The value can be between 0 and 1.
-*/
+    /*! \brief Size of this presentable object.
+     *
+     * Sets the size of the scalar bar.
+     * \param theWidth  Width of this presentable object. The value can be between 0 and 1.
+     * \param theHeight  Height of this presentable object. The value can be between 0 and 1.
+     */
     void SetSize(in double theWidth, in double theHeight);
-    const string SetSize__doc__ = "Sets the size of the scalar bar.";
-/*!
-Gets the width of this presentable object.
-*/
+
+    /*!
+     * Gets the width of this presentable object.
+     * \return A double value corresponding to the width of this presentable object.
+     */
     double GetWidth();
-    const string GetWidth__doc__ = "Gets the width of this presentable object.";
-/*!
-Gets the height of this presentable object.
-*/
+
+    /*!
+     * Gets the height of this presentable object.
+     * \return A double value corresponding to the height of this presentable object.
+     */
     double GetHeight();
-    const string GetHeight__doc__ = "Gets the height of this presentable object.";
-/*!
-Sets the number of colors which will be used for presentation of this presentable object.
-*/
+
+    /*!
+     * Sets the number of colors which will be used for presentation of this presentable object.
+     * \param theNbColors A long value defining the number of colors.
+     */
     void SetNbColors(in long theNbColors);
-    const string SetNbColors__doc__ = "Sets the number of colors which will be\nused for presentation of this presentable object.";
-/*!
-Gets the number of colors which will be used for presentation of this presentable object.
-*/
+
+    /*!
+     * Gets the number of colors which will be used for visualization of this presentable object.
+     * \return A long value corresponding to the number of colors which
+     *         will be used for visualization of this presentable object.
+     */
     long GetNbColors();
-    const string GetNbColors__doc__ = "Gets the number of colors which will be\nused for presentation of this presentable object.";
-/*!
-Sets the number of labels which will be used for indication of the gradation
- of this presentable object.
-*/
+
+    /*!
+     * Sets the number of labels which will be used for indication of color gradation
+     * of the scalar bar.
+     * \param theNbLabels A long value defining the number of labels.
+     */
     void SetLabels(in long theNbLabels);
-    const string SetLabels__doc__ = "Sets the number of labels which will be used\nfor indication of the gradation of this presentable object.";
-/*!
-Gets the number of labels which will be used for indication of the gradation
- of this presentable object.
-*/
+
+    /*!
+     * Gets the number of labels which will be used for indication of color gradation of the scalar bar.
+     * \return A long value corresponding to the number of labels which will
+     *         be used for indication of color gradation of the scalar bar.
+     */
     long GetLabels();
-    const string GetLabels__doc__ = "Gets the number of labels which will be used\nfor indication of the gradation of this presentable object.";
 
-/*!
-Sets the title of this presentable object. For scalar bar by default - the name of the selected result is used.
-*/
+    /*!
+     * Sets the title of the scalar bar. By default - the name of the selected result is used.
+     * \param theName String parameter defining the name of the scalar bar.
+     */
     void SetTitle(in string theName);
-    const string SetTitle__doc__ = "Sets the title of this presentable object. For scalar bar by default - the name of the selected result is used.";
-/*!
-Gets the title of this presentable object.
-*/
+
+    /*!
+     * Gets the title of the scalar bar.
+     */
     string GetTitle();
-    const string GetTitle__doc__ = "Gets the title of this presentable object.";
   };
-    const string ScalarMap__doc__ = "The scalarmap interface contains presentation\nparameters of the ScalarMap presentation.";
+
+
   //-------------------------------------------------------
-/*! \brief Deformed shape presentation interface
+  /*! \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);
 
-Presentation parameters of the deformed shape presentation.
-*/
-    interface DeformedShape : ScalarMap{
-/*!
-Sets the scale of the presentatable object.
-*/
+    /*!
+     * 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.
+   */
+  interface DeformedShape : ScalarMap {
+    /*!
+     * Sets the scale of the presentatable object.
+     * \param theScale Double value defining the scale of this presentable object.
+     */
     void SetScale(in double theScale);
-    const string SetScale__doc__ = "Sets the scale of the deformed shape.";
-/*!
-Gets the scale of the presentatable object.
-*/
+
+    /*!
+     * Gets the scale of the presentatable object.
+     */
+    double GetScale();
+
+    /*! This boolean method returns True if this deformed shape presentation is colored.
+     */
+    boolean IsColored();
+
+    /*! Shows this presentation in colored mode.
+     * \param theColored If this boolean parameter is True this presentable
+     *                   object will be shown in colored mode.
+     */
+    void ShowColored(in boolean theColored);
+
+    /*! Gets the color of this presentable object.
+     * \return The color of this presentable object.
+     */
+    SALOMEDS::Color GetColor();
+
+    /*! Sets the color of this presentation.
+     * \param theColor The color of this presentation. This parameter
+     *                 is taken from the <VAR>Color</VAR> enumeration.
+     */
+    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();
-    const string GetScale__doc__ = "Gets the scale of the deformed shape";
+
+    /*!
+     * 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);
+
   };
-    const string DeformedShape__doc__ = "The deformed shape interface contains\nthe presentation parameters of the deformed shape.";
   //-------------------------------------------------------
-/*! \brief Cut planes interface
+  /*!
+   *  \brief Plot3D interface
+   *
+   *  Presentation parameters of Plot3D presentation. This type of presentation
+   *  consists of deforming initial planar mesh according to values assigned to the mesh elements.
+   *  If mesh not planar but volumic one, it is possible to generate intermediate planar mesh.
+   */
+  interface Plot3D : ScalarMap {
+    /*!
+     *  This enumeration contains a set of elements defining
+     *  the type of orientation in 3D space of the cutting plane.
+     */
+    enum Orientation { XY,   /*!< The object is located in the plane formed by X and Y axis. */
+                      YZ,   /*!< The object is located in the plane formed by Y and Z axis. */
+                      ZX }; /*!< The object is located in the plane formed by Z and X axis. */
+
+    /*!
+     *  Sets the orientation in 3D space of cutting plane for the presentation.
+     *  \param theOrientation This parameter defines the type of orientation of cutting plane
+     *         in 3D space. It is taken from the <VAR>Orientation</VAR> enumeration.
+     *  \param theXAngle The angle of rotation of the cutting plane
+     *         around the first axis of the chosen orientation.
+     *  \param theXAngle The angle of rotation of the cutting plane
+     *         around the second axis of the chosen orientation.
+     */
+    void SetOrientation (in Orientation theOrientation, in double theXAngle, in double theYAngle);
+
+    /*!
+     *  Gets the type of orientation in 3D space of cutting plane.
+     */
+    Orientation GetOrientationType();
 
-Presentation parameters of Cut planes presentation.
-*/
-  interface CutPlanes : ScalarMap{
-/*!
- This enumeration contains a set of elements defining the orientation in 3D space
- of cut planes presentation.
-*/
-    enum Orientation {XY, YZ, ZX};
-/*!
-Sets the type of orientation in 3D space of cut planes presentation.
-*/
-    void SetOrientationType(in Orientation theNb);
-    const string SetOrientationType__doc__ = "Sets the type of orientation in 3D\nspace of cut planes presentation.";
-/*!
-Gets the type of orientation in 3D space of cut planes presentation.
-*/
+    /*!
+     *  Gets rotation angle of the cutting plane
+     *  around the first axis of the chosen orientation.
+     */
+    double GetRotateX();
+
+    /*!
+     *  Gets rotation angle of the cutting plane
+     *  around the second axis of the chosen orientation.
+     */
+    double GetRotateY();
+
+    /*!
+     *  Sets the position of a cutting plane.
+     *  \param thePlanePosition The position of the cutting plane.
+     *  \param theIsRelative Define, whether the input position is relative.
+     */
+    void SetPlanePosition (in double  thePlanePosition,
+                          in boolean theIsRelative);
+
+    /*!
+     *  Gets the position of the cutting plane
+     */
+    double GetPlanePosition();
+
+    /*!
+     *  Returns true if a position of cutting plane is relative
+     */
+    boolean IsPositionRelative();
+
+    /*!
+     *  Sets the scale factor for scalar values
+     *  (how much corresponding mesh elements should be translated).
+     *  \param theScaleFactor The scaling factor.
+     */
+    void SetScaleFactor (in double theScaleFactor);
+
+    /*!
+     *  Gets the scale factor for scalar values.
+     *  (how much corresponding mesh elements is translated)
+     */
+    double GetScaleFactor();
+
+    /*!
+     *  Sets presentation type: contour or surface.
+     *  \param theIsContourPrs Define, whether presentation type is contour.
+     */
+    void SetContourPrs (in boolean theIsContourPrs );
+
+    /*!
+     *  Returns true if presentation type is contour.
+     */
+    boolean GetIsContourPrs();
+
+    /*!
+     *  Sets the number of contours.
+     *  \param theNb The number of contours.
+     */
+    void SetNbOfContours (in long theNb);
+
+    /*!
+     *  Gets the number of contours.
+     */
+    long GetNbOfContours();
+  };
+
+  //-------------------------------------------------------
+  /*! \brief Cut planes interface
+   *
+   * Presentation parameters of Cut planes presentation. This type of presentation
+   * consists of cutting your initial mesh by a definite number of planes. As the
+   * result you will see these planes which will be cutted by the borders of the mesh.
+   */
+  interface CutPlanes : ScalarMap {
+    /*!
+     * This enumeration contains a set of elements defining the type of orientation in 3D space
+     * of the cut planes.
+     */
+    enum Orientation {XY, /*!< The object is located in the plane formed by X and Y axis. */
+                      YZ, /*!< The object is located in the plane formed by Y and Z axis. */
+                     ZX}; /*!< The object is located in the plane formed by Z and X axis. */
+
+    /*!
+     * Sets the type of orientation in 3D space of cut planes presentation.
+     * \param theOrientation This parameter defines the type of orientation of cut planes
+     *                       in 3D space. It is taken from the <VAR>Orientation</VAR> enumeration.
+     * \param theXAngle The angle of rotation of the cut planes around
+     *                  the first axis of the chosen orientation.
+     * \param theXAngle The angle of rotation of the cut planes around
+     *                  the second axis of the chosen orientation.
+     */
+    void SetOrientation(in Orientation theOrientation, in double theXAngle, in double theYAngle);
+
+    /*!
+     * Gets the type of orientation in 3D space of cut planes presentation.
+     */
     Orientation GetOrientationType();
-    const string GetOrientationType__doc__ = "Gets the type of orientation in 3D\nspace of cut planes presentation.";
-/*!
-Sets the number of cut planes.
-*/
+
+    /*!
+     * Gets rotation angle of the cut plane presentation around the first axis of the chosen orientation.
+     */
+    double GetRotateX();
+
+    /*!
+     * Gets rotation angle of the cut plane presentation around the second axis of the chosen orientation.
+     */
+    double GetRotateY();
+
+    /*!
+     * Sets the displacement of the cut planes in 3D space.
+     *
+     * \param theDisp This parameter defines position of the cut planes
+     * in 3D space. It varies from 0 to 1. If the chosen value is 0.5, the cut planes
+     * will be evenly located regarding each other; in other words, the distance between all
+     * of them will be equal. If the value is higher or lower than 0.5, the planes will be displaced
+     * to one or another side.
+     */
+    void SetDisplacement(in double theDisp);
+
+    /*!
+     * Gets the displacement of the cut planes in 3D space.
+     */
+    double GetDisplacement();
+
+    /*!
+     * Sets the position of a definite cut plane.
+     * \param thePlaneNumber The number of this cut plane.
+     * \param thePlanePosition The position of this cut plane.
+     */
+     void SetPlanePosition(in long thePlaneNumber, in double thePlanePosition);
+
+    /*!
+     * Sets the position of the choosen plane to default value.
+     * \param thePlaneNumber The number of this cut plane.
+     */
+     void SetDefault(in long thePlaneNumber);
+
+    /*!
+     * Gets the position of the choosen plane
+     */
+    double GetPlanePosition(in long thePlaneNumber);
+
+    /*!
+     * Determines whether the choosen plane has default position.
+     * \param thePlaneNumber The number of this cut plane.
+     */
+    boolean IsDefault(in long thePlaneNumber);
+
+    /*!
+     * Sets the number of cut planes.
+     * \param theNb The number of cut planes.
+     */
     void SetNbPlanes(in long theNb);
-    const string SetNbPlanes__doc__ = "Sets the number of cut planes.";
-/*!
-Gets the number of cut planes.
-*/
+
+    /*!
+     * Gets the number of cut planes.
+     */
     long GetNbPlanes();
-    const string GetNbPlanes__doc__ = "Gets the number of cut planes.";
-/*! Rotation around X-axis.
-Sets rotation angle of the cut plane presentation.
-*/
-    void SetRotateX(in double theAngle);
-    const string SetRotateX__doc__ = "Rotation around X-axis.\nSets rotation angle of the cut plane presentation.";
-/*! Rotation around X-axis.
-Gets rotation angle of the cut plane presentation.
-*/
+  };
+
+  //-------------------------------------------------------
+  /*! \brief Cut lines presentation.
+   *
+   * Presentation parameters of a Cut lines presentation.
+   * Cut Lines is a type of presentation which displays colored cells
+   *   with applied scalar values on the mesh where lines are placed.
+   * The procedure of construction of a Cut Lines presentation reuses the algorithm
+   *   of creation of Cut Planes presentation and consists of two steps:
+   *
+   *   1. From Cut Planes presentation one plane is taken and
+   *      it is used as base plane for construction of cut lines.
+   *   2. This plane is cut by a regular array of planes. The result of this
+   *      operation is a regular array of lines in space, belonging to the same plane
+   *      and having the same orientation. They are located inside or on the mesh.
+   */
+  interface CutLines : ScalarMap {
+    /*!
+     * Sets the type of orientation in 3D space of the base plane of a cut lines presentation.
+     * \param theOrientation The orientation of the base plane in 3D space.
+     * \param theXAngle The angle of rotation of the base plane around
+     *                  the first axis of the chosen orientation.
+     * \param theXAngle The angle of rotation of the base plane around
+     *                  the second axis of the chosen orientation.
+     */
+    void SetOrientation(in CutPlanes::Orientation theOrientation, in double theXAngle, in double theYAngle);
+
+    /*!
+     * Sets the type of orientation in 3D space of the cutting planes of a cut lines presentation.
+     * \param theOrientation This parameter defines the type of orientation of the cutting planes
+     *                       in 3D space. It is taken from the <VAR>Orientation</VAR> enumeration.
+     * \param theXAngle The angle of rotation of the cutting planes
+     *                  around the first axis of the chosen orientation.
+     * \param theXAngle The angle of rotation of the cutting planes
+     *                  around the second axis of the chosen orientation.
+     */
+    void SetOrientation2(in CutPlanes::Orientation theOrientation, in double theXAngle, in double theYAngle);
+
+    /*!
+     * Gets the type of orientation in 3D space of the base plane of a cut lines presentation.
+     */
+    CutPlanes::Orientation GetOrientationType();
+
+    /*!
+     * Gets the type of orientation in 3D space of the cutting planes of a cut lines presentation.
+     */
+    CutPlanes::Orientation GetOrientationType2();
+
+    /*!
+     * Gets rotation angle of the base plane around the first axis of the chosen orientation.
+     */
     double GetRotateX();
-    const string GetRotateX__doc__ = "Rotation around X-axis.\nGets rotation angle of the cut plane presentation.";
-/*! Rotation around Y-axis.
-Sets rotation angle of the cut plane presentation.
-*/
-    void SetRotateY(in double theAngle);
-    const string SetRotateY__doc__ = "Rotation around Y-axis.\nSets rotation angle of the cut plane presentation.";
-/*! Rotation around Y-axis.
-Sets rotation angle of the cut plane presentation.
-*/
+
+    /*!
+     * Gets rotation angle of the cutting planes around the first axis of the chosen orientation.
+     */
+    double GetRotateX2();
+
+    /*!
+     * Gets rotation angle of the base plane around the second axis of the chosen orientation.
+     */
     double GetRotateY();
-    const string GetRotateY__doc__ = "Rotation around Y-axis.\nGets rotation angle of the cut plane presentation.";
+
+    /*!
+     * Gets rotation angle of the cutting planes around the second axis of the chosen orientation.
+     */
+    double GetRotateY2();
+
+    /*!
+     * Sets the displacement of the base plane of the cut lines presentation in 3D space.
+     *
+     * \param theDisp This parameter defines position of the base plane
+     * in 3D space. It varies from 0 to 1.
+     */
+    void SetDisplacement(in double theDisp);
+
+    /*!
+     * Sets the displacement of the cutting planes of the cut lines presentation in 3D space.
+     *
+     * \param theDisp This parameter defines position of the cutting planes
+     * in 3D space. It varies from 0 to 1.
+     */
+    void SetDisplacement2(in double theDisp);
+
+    /*!
+     * Gets the displacement of the base plane of the cut lines presentation in 3D space.
+     */
+    double GetDisplacement();
+
+    /*!
+     * Gets the displacement of the cutting planes of the cut lines presentation in 3D space.
+     */
+    double GetDisplacement2();
+
+    /*! Sets the position of the base plane in 3D space.
+     * \param thePlanePosition A double value defining the position of the base plane in 3D space.
+     */
+    void SetBasePlanePosition(in double thePlanePosition);
+
+    /*! Gets the position of the base plane in 3D space.
+     */
+    double GetBasePlanePosition();
+
+    /*! Sets the position of one of cutting planes in 3D space.
+     * \param thePlaneNumber A long value defining the order number of this cutting plane.
+     * \param thePlanePosition A double value defining the position of the base plane in 3D space.
+     */
+    void SetLinePosition(in long thePlaneNumber, in double thePlanePosition);
+
+    /*! Gets the position of one of cutting planes in 3D space.
+     * \param thePlaneNumber A long value defining the order number of this cutting plane.
+     */
+    double GetLinePosition(in long thePlaneNumber);
+
+    /*! Sets the position of the base plane to default value.
+     */
+    void SetDefault();
+
+    /*!
+     * Determines whether the base plane has default position.
+     * \return True if the base plane has default position.
+     */
+    boolean IsDefault();
+
+    /*!
+     * Sets the position of the choosen cutting plane to default value.
+     * \param thePlaneNumber The number of this cutting plane.
+     */
+    void SetDefaultPosition(in long thePlaneNumber);
+
+    /*!
+     * Determines whether the choosen cutting plane has default position.
+     * \param thePlaneNumber The number of this cutting plane.
+     * \return True if this cutting plane has default position.
+     */
+    boolean IsDefaultPosition(in long thePlaneNumber);
+
+    /*!
+     * Sets the number of cut lines.
+     * \param theNb The number of cut lines.
+     */
+    void SetNbLines(in long theNb);
+
+    /*!
+     * Gets the number of cut lines.
+     */
+    long GetNbLines();
   };
-    const string CutPlanes__doc__ = "The cut planes interface contains\nthe presentation parameters of cut planes presentation.";
-  //-------------------------------------------------------
-  /*! \brief Interface of the stream lines representation    
-  This interface contains presentation parameters of
-  stream lines presentations.
-  */
-  interface StreamLines : DeformedShape{
+
+  /*! \brief Interface of the stream lines representation
+   *
+   * This interface contains presentation parameters of stream lines presentations.
+   * <BR>Stream lines is a type of presentation transforming into lines the
+   * cells with vectors having most similar direction. A stream line can be thought
+   * of as the path that a massless particle takes in a vector field.
+   * Streamlines are used to convey the structure of a vector field.
+   * Usually streamlines are created to explore the most interesting features in the field.
+   */
+  interface StreamLines : DeformedShape {
+    /*! This enumerations contains a set of elements necessary
+     * for definition of direction of the stream lines.
+     */
     enum Direction{ FORWARD,
                    BACKWARD,
                    BOTH
     };
-  };
-  const string StreamLines__doc__ = "";
-
 
-/*! \brief Interface of the isometric surface representation
+    /*! Sets the parameters of the stream lines presentation.
+     * \param theIntStep Inegration step is a parameter of smoothness of the stream lines.
+     *                   This parameter defines the accuracy of construction of the streamlines.
+     *                   A smaller value of this parameter allows to construct smoother
+     *                   streamlines (at the cost of more computation time).
+     * \param thePropogationTime This parameter controls the maximum length of
+     *                           the stream line (measured in units of time).
+     * \param theStepLength This parameter defines the size of the output line segments
+     *                      that make up the streamline (which is represented as a polyline).
+     * \param thePrs3d The source presentation. The points of the field located on this source
+     *                 presentation will serve as starting points for generation of stream lines.
+     * \note If this parameter is not defined, your stream lines
+     *       presentation will be generated on all points of the field.
+     * \param thePercents This parameter defines the quantity of points of the field
+     *                    (from 0 to 100%) which will be used as starting points for
+     *                    construction of the stream lines. Thus, the value of this
+     *                    parameter can vary from 0 to 1.
+     * \param theDirection Direction of the stream lines (Forward, Backward or Both).
+     * \return True if all parameters are properly set.
+     */
+    boolean SetParams(in double theIntStep,
+                     in double thePropogationTime,
+                     in double theStepLength,
+                     in Prs3d thePrs3d,
+                     in double thePercents,
+                     in Direction theDirection);
+
+    /*! Gets the value of integration step of the stream lines presentation.
+     */
+    double GetIntegrationStep();
+
+    /*! Gets the value of propagation time of the stream lines presentation.
+     */
+    double GetPropagationTime();
+
+    /*! Gets the value of step length of the stream lines presentation.
+     */
+    double GetStepLength();
+
+    /*! Returns the source presentation used for generation of the stream lines.
+     */
+    Prs3d GetSource();
+
+    /*! Gets the quantity of points of the field used as starting
+     *  points for generation of the stream lines presentation.
+     */
+    double GetUsedPoints();
+
+    /*! Returns the direction of the stream lines.
+     */
+    Direction GetDirection();
+  };
 
-   This interface contains presentation parameters of
-    isometric surface presentations.
-*/
-  interface IsoSurfaces : ScalarMap{
-/*!
-   Sets the number of isometric surfaces.
-*/
+  /*! \brief Interface of the isometric surface presentation
+   *
+   * This interface contains presentation parameters of
+   * isometric surface presentations.
+   * <BR>Iso surfaces presentation combines all equal scalar
+   * values on the cells and on the basis of them constructs
+   * isobaric surfaces, which form this presentation.
+   */
+  interface IsoSurfaces : ScalarMap {
+    /*!
+     * Sets the number of isometric surfaces.
+     * \param theNb A long value defining the number of isometric surfaces
+     *              which will be used for construction of this presentation.
+     */
     void SetNbSurfaces(in long theNb);
-    const string SetNbSurfaces__doc__ = "Sets the number of isometric surfaces.";
-/*!
-   Gets the number of isometric surfaces
-*/
+
+    /*!
+     * Gets the number of isometric surfaces
+     */
     long GetNbSurfaces();
-    const string GetNbSurfaces__doc__ = "Gets the number of isometric surfaces.";
   };
-    const string IsoSurfaces__doc__ = "The isometric surface interface contains\nthe presentation parameters of the isometric surface presentations.";
-  //-------------------------------------------------------
-/*! \brief Interface of the vector presentation.
 
-This interface contains presentation parameters of the vector.
-*/
-  interface Vectors : DeformedShape{
-/*!
-Sets the width of the line of the vector.
-*/
+  //-------------------------------------------------------
+  /*! \brief Interface of the vector presentation.
+   *
+   * This interface contains presentation parameters of vector presentations.
+   */
+  interface Vectors : DeformedShape {
+    /*!
+     * Sets the width of the lines of the vectors.
+     * \param theWidth A double value defining the width of the lines of the vectors.
+     */
     void SetLineWidth(in double theWidth);
-    const string SetLineWidth__doc__ = "Sets the width of the line of the vector.";
-/*!
-Gets the width of the line of the vector.
-*/
+
+    /*!
+     * Gets the width of the lines of the vectors.
+     */
     double GetLineWidth();
-    const string GetLineWidth__doc__ = "Gets the width of the line of the vector.";
-/*!
- This enumeration contains a set of elements defining the type of representation of the vector head.
-*/
+
+    /*!
    * This enumeration contains a set of elements defining the type of representation of the vector head.
+     */
     enum GlyphType{ ARROW,
                     CONE2,
                     CONE6,
                     NONE
                   };
-/*!
-Sets the type of representation of the vector head.
-*/
+
+    /*!
+     * Sets the type of representation of the vector head.
+     * \param theType This parameter defines the type of representation of the vector head.
+     * This value is taken from the <VAR>GlyphType</VAR> enumeration.
+     */
     void SetGlyphType(in GlyphType theType);
-    const string SetGlyphType__doc__ = "Sets the type of representation of the vector head.";
-/*!
-Gets the type of representation of the vector head.
-*/
+
+    /*!
+     * Gets the type of representation of the vector head.
+     */
     GlyphType GetGlyphType();
-    const string GetGlyphType__doc__ = "Gets the type of representation of the vector head.";
-/*!
- This enumeration contains a set of elements defining the position of the vector head.
-*/
 
+    /*!
+     * This enumeration contains a set of elements defining the position of the vector head.
+     */
     enum GlyphPos{ CENTER, /*!<In the center of the vector.*/
                    TAIL,   /*!<In the tail of the vector.*/
                    HEAD  /*!<In the head of the vector.*/
                  };
-/*!
-Sets the position of the vector head.
-*/
+
+    /*!
+     * Sets the position of the vector head.
+     * \param thePos This parameter defines the position of the vector head.
+     * This value is taken from the <VAR>GlyphPos</VAR> enumeration.
+     */
     void SetGlyphPos(in GlyphPos thePos);
-    const string SetGlyphPos__doc__ = "Sets the position of the vector head.";
-/*!
-Gets the position of the vector head.
-*/
+
+    /*!
+     * Gets the position of the vector head.
+     */
     GlyphPos GetGlyphPos();
-    const string GetGlyphPos__doc__ = "Gets the position of the vector head.";
   };
-    const string Vectors__doc__ = "Interface of the vector presentation contains\nthe presentation parameters of the vector.";
+
   //-------------------------------------------------------
-/*! \brief Interface %Result
+  /*! \brief %Animation class
+   *
+   * This class provides a set of methods used for:<br>
+   * <ul>
+   *     <li> generating different animations on the basis of a field,
+   *     <li> setting the parameters of the animations,
+   *     <li> playing these animations in the %VISU module.
+   * </ul>
+   * \note
+   * <BR><B>Field</B> represents the results of calculations
+   * (it can be scalar or vector values), grouped together under one physical concept.
+   * <BR><B>Time stamp</B> represents a subfield: the results
+   * of calculations are taken in one definite moment.
+   */
+  interface Animation : Base {
+    /*! Defines the field which will be used as a base for generation of the animation.
+     * \param theObject The %SObject corresponding to the field.
+     */
+    void addField(in SALOMEDS::SObject theObject);
+
+    /*! Generates presentations on the basis of the field.
+     * \param theFieldNum The number of the field, which will be used
+     *                    as the basis for construction of the presentation.
+     */
+    void generatePresentations(in long theFieldNum);
+
+    /*! Generates a set of frames from the created by the method
+     *  <VAR>generatePresentations</VAR>3D presentations. A sequence of
+     *  these frames will be transformed into an animation.
+     *  \return  True, if the frames have been successfully generated.
+     */
+    boolean generateFrames();
+
+    /*! Clears the view before starting an animation.
+     */
+    void clearView();
+
+    /*! \name Playback of an animation:
+     */
+/*@{*/
+
+    /*! Starts an animation.
+     */
+    void startAnimation();
+
+    /*! Stops an animation.
+     */
+    void stopAnimation();
+
+    /*! Forwards to the next frame.
+     */
+    void nextFrame();
+
+    /*! Returns to the previous frame.
+     */
+    void prevFrame();
+
+    /*! Returns to the first frame of the animation.
+     */
+    void firstFrame();
+
+    /*! Forwards to the last frame of the animation.
+     */
+    void lastFrame();
+
+    /*!  Passes to a definite frame of the animation.
+     * \param theFrame A long value defining the number of the frame.
+     */
+    void gotoFrame(in long theFrame);
+/*@}*/
+
+    /*! Gets the number of time stamps (subfields) contained in the given field.
+     */
+    long getNbFields();
+
+    /*! Gets the number of generated frames
+     */
+    long getNbFrames();
+
+    /*! Returns True, if the animation is currently running.
+     */
+    boolean isRunning();
+
+    /*! Returns the number of the current frame.
+     */
+    long getCurrentFrame();
+
+    /*!
+     */
+    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>.
+     */
+    void setPresentationType(in long theFieldNum, in VISUType theType);
+
+    /*! Gets the type of presentation (vectors, deformed shape etc.) which will
+     * be generated by the method <VAR>generatePresentations</VAR>.
+     */
+    VISUType getPresentationType(in long theFieldNum);
+
+    /*! Sets the speed of the animation.
+     * \param theSpeed The speed of the animation. The value varies from 1 to 99.
+     */
+    void setSpeed(in long theSpeed);
+
+    /*!  Gets the speed of the animation.
+     */
+    long getSpeed();
+
+    /*! Ruturns True, if playback of the animation is proportional.
+     * This option allows to render your animation with proportional periods
+     * of time between every frame (not depending on the time stamps).
+     */
+    boolean isProportional();
+
+    /*! Sets the range of the animation. The range is defined on the basis of
+     *  the time stamps of the field which have been used for generation of the animation.
+     *  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.
+     */
+    void setAnimationRange(in double theMin, in double theMax);
+
+    /*! Gets the number of the first time stamp which will be used for generation of the animation.
+     */
+    double getMinRange();
+
+    /*! Gets the number of the last time stamp which will be used for generation of the animation.
+     */
+    double getMaxRange();
+
+    /*! Returns True if the range of the animation has been defined
+     *  by the method <VAR>setAnimationRange</VAR>. Otherwise
+     *  the animation will be generated on the basis of all time stamps contained in the field.
+     */
+    boolean isRangeDefined();
+
+    /*! Saves all the frames composing the animation into a definite directory.
+     *  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();
+
+    /*! Gets the first time stamp of the field defined at the input of the animation.
+     * \note This method is used if animation range is <b>NOT</b> defined.
+     */
+    double getMinTime();
+
+    /*! Gets the last time stamp of the field defined at the input of the animation.
+     * \note This method is used if animation range is <b>NOT</b> defined.
+     */
+    double getMaxTime();
+
+    /*! Sets proprtional playback of the animation. This option allows to render your animation
+     *  with proportional periods of time between every frame (not depending on the time stamps).
+     *  \param theProp If this boolean parameter is True, playback
+     *                 of your animation will be set as proportional.
+     */
+    void setProportional(in boolean theProp);
+
+    /*! Sets cycling playback of the animation. The number of cycles
+     *  can be infinite, untill you use <VAR>startAnimation</VAR> method.
+     *  \param theCycle If this boolean parameter is True, playback
+     *                  of your animation will be set as cycling.
+     */
+    void setCycling(in boolean theCycle);
+
+    SALOMEDS::SObject publishInStudy();
+
+    void saveAnimation();
+
+    void restoreFromStudy(in SALOMEDS::SObject theSObj);
+
+    boolean isSavedInStudy();
+  };
 
-This interface serves for inner representation of data generated in other sources. (MED object or file)
-This data is needed for further construction of graphical presentations.
-*/
-  interface Result : Base {
+  /*! \brief Interface %Result
+   *
+   * This interface serves for inner representation of data generated
+   * in other sources (MED object or file). This data is needed
+   * for further construction of graphical presentations.
+   */
+  interface Result : RemovableObject, SALOME::GenericObj {
+    /*! 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();
   };
-    const string Result__doc__ = "This interface serves for inner representation\nof data generated in other sources. (MED object or file) This data is needed for further construction of graphical presentations.";
+
   //-------------------------------------------------------
   interface ViewManager;
-/*! \brief %VISU_Gen interface
-
-This is the main interface of %VISU component. It is necessary for creation of
-post-processing presentations from given %Result and %Table object reference, using the views
-provided by %ViewManager.
-*/
-   interface VISU_Gen : Engines::Component, SALOMEDS::Driver, Base{
-     void SetCurrentStudy(in SALOMEDS::Study theStudy);
-     SALOMEDS::Study GetCurrentStudy();
-/*!
-    Gets the %ViewManager which is used for creation of
-    post-processing presentations.
-*/
+  interface View3D;
+
+  /*! \brief %VISU_Gen interface
+   *
+   * This is the main interface of %VISU component. It is necessary for creation of
+   * post-processing presentations from given %Result and %Table object reference,
+   * using the views provided by %ViewManager.
+   */
+  interface VISU_Gen : Engines::Component, SALOMEDS::Driver, Base {
+    /*! Sets a definite study to be current.
+     */
+    void SetCurrentStudy(in SALOMEDS::Study theStudy);
+
+    /*! Gets the current study.
+     */
+    SALOMEDS::Study GetCurrentStudy();
+
+    /*!
+     * Gets the %View Manager which is used for creation of
+     * post-processing presentations.
+     */
     ViewManager GetViewManager();
-    const string GetViewManager__doc__ = "Gets the ViewManager which is used for creation\nof post-processing presentations.";
 
-/*!
-Imports tables from a file and create TableAttribute in Sudy
-*/
+    /*!
+     * Imports tables from a file and create TableAttribute in Sudy
+     */
     SALOMEDS::SObject ImportTables(in string theFileName);
-/*!
-Imports data from a file.
-*/
+
+    /*!
+     * Export table to a file
+     */
+    boolean ExportTableToFile(in SALOMEDS::SObject theTable, in string theFileName);
+
+    /*!
+     * Imports data from a 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 ImportFile(in string theFileName);
-    const string ImportFile__doc__ = "Imports data from a file.";
-/*!
-Imports data from a %MED object field.
-*/
+
+    /*!
+     * 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
+     *                    from which the data will be imported.
+     */
+    Result CopyAndImportFile(in string theFileName);
+
+    /*!
+     * Imports data from a %MED object.
+     */
     Result ImportMed(in SALOMEDS::SObject theMedSObject);
-    const string ImportMed__doc__ = "Imports data from a MED object field.";
 
-/*!
-Creates a %Mesh on the basis of the data generated in other sources (MED object or file).
-*/
-    const string CreateMesh__doc__ = "Creates a Mesh on the basis of the data\ngenerated in other sources (MED object or file).";
+    /*!
+     * Imports data from a %MED field.
+     */
+    Result ImportMedField(in SALOME_MED::FIELD theField);
+
+    /*!
+     * Creates a mesh on the basis of the data generated in other sources (MED object or file).
+     * \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
+     */
     Mesh MeshOnEntity(in Result theResult, in string theMeshName, in Entity theEntity);
-    Mesh FamilyMeshOnEntity(in Result theResult, in string theMeshName, in Entity theEntity, in string theFamilyName);
-    Mesh GroupMesh(in Result theResult, in string theMeshName, in string theGroupName);
-/*!
-Creates a scalar bar 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
-*/
-    ScalarMap ScalarMapOnField(in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration);
-    const string CreateScalarMap__doc__ = "Creates a scalar bar presentation.";
-/*!
-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
-*/
-    DeformedShape DeformedShapeOnField(in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration);
-    const string CreateDeformedShape__doc__ = "Creates a deformed shape presentation.";
-/*!
-Creates a vector 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
-*/
 
-    Vectors VectorsOnField(in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration);
-    const string CreateVectors__doc__ = "Creates a vector presentation.";
-/*!
-Creates an iso surface 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
-*/
-
-    IsoSurfaces IsoSurfacesOnField(in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration);
-    const string CreateIsoSurfaces__doc__ = "Creates an iso surface presentation.";
-/*!
-Creates an stream lines 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
-*/    
-    StreamLines StreamLinesOnField(in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration);
-    const string CreateStreamLines__doc__ = "Creates an stream lines presentation.";
+    /*!
+     * Creates on the basis of a family a mesh  which will be composed of geometrical
+     * elements, corresponding to the type of cells (node, edge, face or cell) of this family.
+     * \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.
+     */
+    Mesh FamilyMeshOnEntity(in Result theResult, in string theMeshName,
+                           in Entity theEntity, in string theFamilyName);
+
+    /*!
+     * Creates a mesh on the basis of a group of families.
+     * \param theResult   Data generated in other sources. (MED object or file)
+     * \param theMeshName  One of the meshes presented in MED file
+     * \param theGroupName Name of the group.
+     */
+    Mesh GroupMesh(in Result theResult, in string theMeshName, in string theGroupName);
 
-/*!
-Creates a presentation of cut planes.
-\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
-*/
-    CutPlanes CutPlanesOnField(in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration);
-    const string CreateCutPlanes__doc__ = "Creates a presentation of cut planes.";
-/*!
-Creates a table presentation.
-*/
+    /*!
+     * Creates a scalar map 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
+     */
+    ScalarMap ScalarMapOnField(in Result theResult, in string theMeshName,
+                              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)
+     * \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
+     */
+    DeformedShape DeformedShapeOnField(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)
+     * \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)
+     * \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
+     */
+    Vectors VectorsOnField(in Result theResult, in string theMeshName,
+                          in Entity theEntity, in string theFieldName,
+                          in double theIteration);
+
+    /*!
+     * Creates an iso surface 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
+     */
+    IsoSurfaces IsoSurfacesOnField(in Result theResult, in string theMeshName,
+                                  in Entity theEntity, in string theFieldName,
+                                  in double theIteration);
+
+    /*!
+     * Creates an stream lines 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
+     */
+    StreamLines StreamLinesOnField(in Result theResult, in string theMeshName,
+                                  in Entity theEntity, in string theFieldName,
+                                  in double theIteration);
+
+    /*!
+     * Creates a presentation of cut planes.
+     * \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
+     */
+    CutPlanes CutPlanesOnField(in Result theResult, in string theMeshName,
+                              in Entity theEntity, in string theFieldName,
+                              in double theIteration);
+
+    /*!
+     * Creates a presentation of cut lines.
+     * \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
+     */
+    CutLines CutLinesOnField(in Result theResult, in string theMeshName,
+                            in Entity theEntity, in string theFieldName,
+                            in double theIteration);
+
+    /*!
+     * Creates a Plot3D 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
+     */
+    Plot3D Plot3DOnField(in Result theResult, in string theMeshName,
+                        in Entity theEntity, in string theFieldName,
+                        in double theIteration);
+
+    /*!
+     * Creates a table presentation.
+     * \param theTableEntry The entry of the table which will be displayed.
+     */
     Table CreateTable(in string theTableEntry);
-    const string CreateTable__doc__ = "Creates a table prasentation containing the data.";
-/*!
-Creates a curve on the basis of points, whose values are taken from the table.
-\param theTable  Table containing the data for construction of curves.
-\param HRow  Index of the row in the table:  abscissa of the point.
-\param VRow  Index of the row in the table:  ordinate of the point.
-*/
+
+    /*!
+     * Creates a curve on the basis of points, whose values are taken from the table.
+     * \param theTable  Table containing the data for construction of curves.
+     * \param HRow  Index of the row in the table:  abscissa of the point.
+     * \param VRow  Index of the row in the table:  ordinate of the point.
+     */
     Curve CreateCurve(in Table theTable, in long theHRow, in long theVRow);
-    const string CreateCurve__doc__ = "Creates a curve on the basis of points, whose values\nare taken from the table.";
-/*!
-Creates a presentation form containing an array of references to the curves.
-*/
-     Container CreateContainer();
-     const string CreateContainer__doc__ = "Creates a presentation form containing an array\nof references to the curves.";
+
+    /*!
+     * Creates a presentation form containing an array of references to the curves.
+     */
+    Container CreateContainer();
+
+    /*! Creates an animation in the 3D view.
+     * \param theView3d The 3D view, where the animation will be rendered.
+     */
+    Animation CreateAnimation(in View3D theView3d);
+
+    void DeleteResult(in Result theResult);
+
+    void DeletePrs3d(in Prs3d thePrs3d);
   };
-     const string VISU_Gen__doc__ = "This is the main interface of the VISU component. It is\nnecessary for creation of post-processing presentations from given result and table object reference, using the views provided by the viewmanager.";
-/*! \brief %View interface
 
- Contains a set of methods used by the %View frame, which can be one of
- the following types: 3d, Table, XY plot.
- %View interface is a base for all types of %view interfaces.
-*/
-  interface View: Base{
-/*!
-Sets the title of the %View frame.
-*/
+  /*! \brief %View interface
+   *
+   * Contains a set of methods used by the %View frame, which can be one of
+   * the following types: 3d, Table, XY plot.
+   * %View interface is a base for all types of %view interfaces.
+   */
+  interface View: Base {
+
+    /*! \brief %ViewRepresentation enumeration
+     *
+     * displaying part ("ALL" isn't setable)
+     */
+    enum ViewRepresentation {
+      OBJECTBROWSER,
+      VIEWER,
+      PYTHON,
+      MESSAGES
+    };
+
+    void ShowPart (in ViewRepresentation ViewRepr, in boolean state );
+
+    boolean IsPartShown( in ViewRepresentation ViewRepr );
+
+    /*!
+     *  New methods for view parameters management.
+     */
+
+    /*! \brief Split workarea of this view.
+     *
+     *  Horizontally split workarea of this view.
+     *  This view is moved in a new right area.
+     */
+    void SplitRight();
+
+    /*! \brief Split workarea of this view.
+     *
+     *  Horizontally split workarea of this view.
+     *  This view stays in an old left area, others are moved in a new right area.
+     */
+    void SplitLeft();
+
+    /*! \brief Split workarea of this view.
+     *
+     *  Vertically split workarea of this view.
+     *  This view is moved in a new bottom area.
+     */
+    void SplitBottom();
+
+    /*! \brief Split workarea of this view.
+     *
+     *  Vertically split workarea of this view.
+     *  This view stays in an old top area, others are moved in a new bottom area.
+     */
+    void SplitTop();
+
+    /*!
+     *  Put this view window on top of its work area.
+     */
+    void OnTop();
+
+    /*!
+     *  Put \a theView in workarea of this view right after it.
+     *  If \a theView was alone in its workarea, workarea of \a theView will be destroyed.
+     *  If \a theView was in the same workarea with this view, simple reordering will take place.
+     *  \param theView A view window to be attracted to this one.
+     */
+    void Attract (in View theView);
+
+    /*!
+     *  Put all the view windows from workarea of \a theView in workarea of this view right after it.
+     *  Workarea of \a theView will be destroyed.
+     *  If \a theView was in the same workarea with this view, simple reordering will take place.
+     *  \param theView A view window to be attracted to this one together with all its workarea.
+     */
+    void AttractAll (in View theView);
+
+    /*!
+     *  Set position of this view window relatively its splitter.
+     *  \param thePosition Desired position of this view window relatively
+     *         its splitter. Meaningfull values lays in range [0..1].
+     *
+     *  Direction of positioning is defined by the splitter orientation.
+     */
+    void SetRelativePositionInSplitter (in double thePosition);
+
+    /*!
+     *  Set size of this view window relatively its splitter.
+     *  \param theSize Desired size of this view window relatively
+     *         its splitter. Meaningfull values lays in range [0..1].
+     *
+     *  Direction of resizing is defined by the splitter orientation.
+     */
+    void SetRelativeSizeInSplitter (in double theSize);
+
+    /*!
+     *  Set horizontal position of this view window relatively its workstack.
+     *  \param thePosition Desired horizontal position of this view window
+     *         relatively its workstack. Meaningfull values lays in range [0..1].
+     */
+    void SetRelativePositionX (in double thePosition);
+
+    /*!
+     *  Set vertical position of this view window relatively its workstack.
+     *  \param thePosition Desired vertical position of this view window
+     *         relatively its workstack. Meaningfull values lays in range [0..1].
+     */
+    void SetRelativePositionY (in double thePosition);
+
+    /*!
+     *  Set horizontal size of this view window relatively its workstack.
+     *  \param theSize Desired horizontal size of this view window relatively
+     *         its workstack. Meaningfull values lays in range [0..1].
+     */
+    void SetRelativeSizeX (in double theSize);
+
+    /*!
+     *  Set vertical size of this view window relatively its workstack.
+     *  \param theSize Desired vertical size of this view window relatively
+     *         its workstack. Meaningfull values lays in range [0..1].
+     */
+    void SetRelativeSizeY (in double theSize);
+
+    /*!
+     *  Old methods for view parameters management, they don't work now
+     */
+    void SetViewWidth (in long Width); //setting width of view
+    void SetViewHeight (in long Height); //setting height of view
+    long GetViewWidth(); //getting view width
+    long GetViewHeight(); //getting view height
+    enum ViewPosition {TOP, CENTER, BOTTOM, RIGHT, LEFT}; //position of the study frame
+    void SetViewPositionHorizontal (in ViewPosition ViewPosHor); //setting of the horizontal view position
+    void SetViewPositionVertical (in ViewPosition ViewPosVer); //setting of the vertical view position
+    void SetRelativePosition( in double x, in double y );
+    void SetRelativeSize( in double x, in double y );
+    void Minimize(); // Minimizes to the task bar or to the bottom of the Desktop the %View frame.
+    void Restore(); // Restores the %View frame.
+    void Maximize(); // Maximizes the %View frame.
+
+    /*!
+     * Sets the title of the %View frame.
+     * \param theTitle String parameter defining the title of the %View frame.
+     */
     void SetTitle(in string theTitle);
-    const string SetTitle__doc__ = "Sets the title of the view frame.";
-/*!
-Gets the title of the %View frame.
-*/
+
+    /*!
+     * Gets the title of the %View frame.
+     */
     string GetTitle();
-    const string GetTitle__doc__ = "Gets the title of the view frame.";
-/*!
-Sets background color of the %View frame.
-*/
+
+    /*!
+     * Sets background color of the %View frame.
+     * \param theColor Background color defined in <VAR>SALOMEDS::Color</VAR> enumeration.
+     */
     void SetBackground(in SALOMEDS::Color theColor);
-    const string SetBackground__doc__ = "Sets background color of the view frame.";
-/*!
-Gets background color of the %View frame.
-*/
+
+    /*!
+     * Gets background color of the %View frame.
+     */
     SALOMEDS::Color GetBackground();
-    const string GetBackground__doc__ = "Gets background color of the view frame.";
-/*!
-Minimizes to the task bar or to the bottom of the Desktop the %View frame.
-*/
-    void Minimize();
-    const string Minimize__doc__ = "Minimizes to the task bar or to the bottom of the\nDesktop the view frame.";
-/*!
-Restores the %View frame.
-*/
-    void Restore();
-    const string Restore__doc__ = "Restores the view frame.";
-/*!
-Maximizes the %View frame.
-*/
-    void Maximize();
-    const string Maximize__doc__ = "Maximizes the view frame.";
-/*!
-Removes all presentations (presentable objects) from the %view.
-*/
+
+    /*!
+     * Removes all presentations (presentable objects) from the %view.
+     */
     void EraseAll();
-    const string EraseAll__doc__ = "Removes all presentations (presentable objects) from the view.";
-/*!
-Displays all presentations (presentable objects) in the %view.
-*/
+
+    /*!
+     * Displays all presentations (presentable objects) in the %view.
+     */
     void DisplayAll();
-    const string DisplayAll__doc__ = "Displays all presentations (presentable objects) in the view.";
-/*!
-Removes a definite presentation (presentable object) from the %view.
-*/
+
+    /*!
+     * Removes a definite presentation (presentable object) from the %view.
+     * \param thePrsObj The presentation (presentable object) which should be deleted.
+     */
     void Erase(in PrsObject thePrsObj);
-    const string Erase__doc__ = "Removes a definite presentation (presentable object) from the view.";
-/*!
-Displays a definite presentation (presentable object) in the %view.
-*/
+
+    /*!
+     * Displays a definite presentation (presentable object) in the %view.
+     * \param thePrsObj The presentation (presentable object) which should be displayed.
+     */
     void Display(in PrsObject thePrsObj);
-    const string Display__doc__ = "Displays a definite presentation (presentable object) in the view.";
-/*!
-Allows to display only a definite presentation (presentable object) in the %view.
-All other presentations are removed from the %view.
-*/
+
+    /*!
+     * Allows to display only a definite presentation (presentable object) in the %view.
+     * All other presentations are removed from the %view.
+     * \param thePrsObj The presentation (presentable object) which should be displayed.
+     */
     void DisplayOnly(in PrsObject thePrsObj);
-    const string DisplayOnly__doc__ = "Allows to display only a definite presentation\n(presentable object) in the view. All other presentations are\nremoved from the view.";
-/*!
-Updates the view.
-*/
+
+    /*!
+     * Updates the view.
+     */
     void Update();
-    const string Update__doc__ = "Updates the view.";
 
-/*!
-Saves the view.
-*/
+    /*!
+     * Saves the view.
+     * \param theFileName The name of the file where the view will be saved.
+     * \return True, if the view have been saved successfully.
+     */
     boolean SavePicture(in string theFileName);
-    const string SavePicture__doc__ = "Saves the view contents into image file.";
   };
 
-    const string View__doc__ = "Contains a set of methods used by the view frame,\nwhich can be one of the following types:\n3d, table, XY plot.";
   //-------------------------------------------------------
-/*! \brief 3D view interface
-
-This interface contains a set of methods necessary for representation of objects in 3D space.
-*/
-
+  /*! \brief 3D view interface
+   *
+   *  This interface contains a set of methods necessary for representation of objects in 3D space.
+   */
   interface View3D : View {
-/*!
-This enumeration contains a set of elements determining a predefined point of view
-  (position of the camera in 3D space relative to the presentable object).
-*/
+    /*!
+     * This enumeration contains a set of elements determining a predefined point of view
+     *  (position of the camera in 3D space relative to the presentable object).
+     */
     enum ViewType{ FRONT, BACK, LEFT, RIGHT, TOP, BOTTOM};
-/*!
-This enumeration contains a set of elements determining the axis
-*/
+
+    /*!
+     * This enumeration contains a set of elements determining the axis
+     */
     enum Axis{ XAxis, YAxis, ZAxis};
-/*!
-Data type defining coordinates in 3D space.
-*/
-    typedef double XYZ[3];
 
-/*!
- Makes all presentations, which are currently present in the %view, completely visible.
-*/
+    /*!
+     * Data type defining coordinates in 3D space.
+     */
+    typedef double XYZ[3];
 
+    /*!
+     * Makes all presentations, which are currently present in the %view, completely visible.
+     */
     void FitAll();
-    const string FitAll__doc__ = "Makes all presentations, which are currently present in the\nview, completely visible.";
 
-/*!
-Sets a predefined point of view (FRONT, BACK, LEFT, RIGHT, TOP, BOTTOM). (In other words it means
- a predefined position of the camera in 3D space with respect to the object which is represented.)
-*/
+    /*!
+     * Sets a predefined point of view (FRONT, BACK, LEFT, RIGHT, TOP, BOTTOM). (In other words it means
    * a predefined position of the camera in 3D space with respect to the object which is represented.)
+     */
     void SetView(in ViewType theType);
-    const string SetView__doc__ = "Sets a predefined point of view\n(FRONT, BACK, LEFT, RIGHT, TOP, BOTTOM).";
 
-/*!
-Sets the position of the camera in 3D space. This point is used as the first point of the vector defining
-the view direction of the camera.
-*/
+    /*!
+     * Sets the position of the camera in 3D space.
+     * This point is used as the first point of the vector
+     * defining the view direction of the camera.
+     */
     void SetPointOfView(in XYZ theCoord);
-    const string SetPointOfView__doc__ = "Sets the position of the camera in 3D space.";
-/*!
-Gets the position of the camera in 3D space.This point is used as the first point of the vector defining
-the view direction of the camera.
-*/
+
+    /*!
+     * Gets the position of the camera in 3D space.
+     * This point is used as the first point of the vector
+     * defining the view direction of the camera.
+     */
     XYZ GetPointOfView();
-    const string GetPointOfView__doc__ = "Gets the position of the camera in 3D space.";
-/*!
-Sets the vertical line of the camera in 3D space.
-*/
+
+    /*!
+     * Sets the vertical line of the camera in 3D space.
+     */
     void SetViewUp(in XYZ theDir);
-    const string SetViewUp__doc__ = "Sets the vertical line of the camera in 3D space.";
-/*!
-Gets the vertical line of the camera in 3D space.
-*/
+
+    /*!
+     * Gets the vertical line of the camera in 3D space.
+     */
     XYZ GetViewUp();
-    const string GetViewUp__doc__ = "Gets the vertical line of the camera in 3D space.";
-/*!
-Sets the point of sight of the camera. This point is used as the second point of the vector defining
-the view direction of the camera.
-*/
+
+    /*!
+     * Sets the point of sight of the camera. This point is used as the
+     * second point of the vector defining the view direction of the camera.
+     */
     void SetFocalPoint(in XYZ theDir);
-    const string SetFocalPoint__doc__ = "Sets the point of sight of the camera.";
-/*!
-Gets the point of sight of the camera. This point is used as the second point of the vector defining
-the view direction of the camera.
-*/
+
+    /*!
+     * Gets the point of sight of the camera. This point is used as the
+     * second point of the vector defining the view direction of the camera.
+     */
     XYZ GetFocalPoint();
-    const string GetFocalPoint__doc__ = "Gets the point of sight of the camera.";
-/*!
-Zooming of the presentable object. Sets the scale.
-*/
+
+    /*!
+     * Zooming of the presentable object. Sets the scale.
+     */
     void SetParallelScale(in double theScale);
-    const string SetParallelScale__doc__ = "Zooming of the presentable object. Sets the scale.";
-/*!
-Zooming of the presentable object. Gets the scale.
-*/
+
+    /*!
+     * Zooming of the presentable object. Gets the scale.
+     */
     double GetParallelScale();
-    const string GetParallelScale__doc__ = "Zooming of the presentable object. Gets the scale.";
-/*!
-Scaling of the view along a definite axis.
-\param theAxis The axis of the scaling
-\param theParam The coefficient of the scaling
-*/
+
+    /*!
+     * Scaling of the view along a definite axis.
+     * \param theAxis The axis of the scaling
+     * \param theParam The coefficient of the scaling
+     */
     void ScaleView(in Axis theAxis, in double theParam);
-    const string ScaleView__doc__ = "Scaling of the view along a definite axis and with a\ndefinite coefficient of the scaling.";
-/*!
-Removes the scaling of the view.
-*/
+
+    /*!
+     * Removes the scaling of the view.
+     */
     void RemoveScale();
-    const string RemoveScale__doc__ = "Removes the scaling of the view.";
-/*!
-Returns True if the view parameters have been created, False if the parameters have been modified.
-*/
+
+    /*!
+     * Saves view parameters.
+     * \return True if the view parameters have been created, False if the parameters have been modified.
+     * \param theName The name under which the view parameters will be saved.
+     */
     boolean SaveViewParams(in string theName);
-    const string SaveViewParams__doc__ = "Returns True if the view parameters have been created,\nFalse if the parameters have been modified.";
-/*!
-Returns True if the view parameters have been found and applied to the view,
-False if the parameters with this name don't exist.
-*/
+
+    /*! Restores view parameters.
+     * \return True if the view parameters have been found and applied to the view,
+     * False if the parameters with this name don't exist.
+     * \param theName The name of the view parameters which will be restored.
+     */
     boolean RestoreViewParams(in string theName);
-    const string RestoreViewParams__doc__ = "Returns True if the view parameters have been found and\napplied to the view, False if the parameters with this name don't exist.";
   };
-    const string View3D__doc__ = "This interface contains a set of methods necessary for representation\nof objects in 3D space.";
-
 
   //-------------------------------------------------------
+  /*! \brief Interface of the Table view
+   *
+   * This interface is used for creation of a view necessary for presentation of a table.
+   */
   interface TableView : View {
-   
   };
 
-
   //-------------------------------------------------------
+  /*! \brief Interface of the 2D plot view
+   *
+   * This interface is used for creation of a view necessary for presentation
+   * of a XY plot generated on the basis of one or several curve lines.
+   */
   interface XYPlot : View {
+    /*! Sets the title of the XY plot
+     * \param theTitle  The title of the XY plot
+     */
     void SetSubTitle(in string theTitle);
+
+    /*! Gets the title of the XY plot
+     */
     string GetSubTitle();
 
+    /*!
+     * This enumeration contains a set of elements determining the type
+     * of the curve lines, which will be displayed in your XY plot.
+     */
     enum CurveType { POINTS, MULTYLINE, SPLINE};
+
+    /*! Sets the type of the curve lines.
+     * \param theType The type of the curve lines taken from <VAR>CurveType</VAR> enumeration.
+     */
     void SetCurveType(in CurveType theType);
+
+    /*! Gets the type of the curve lines.
+     */
     CurveType GetCurveType();
-       
+
+    /*! Sets the size of the markers (data points) with help of
+     * which the curve is constructed on the graphics.
+     * \param theSize Long value defining the size of the markers.
+     */
     void SetMarkerSize(in long theSize);
+
+    /*! Gets the size of the markers (data points) with help of
+     * which the curve is constructed on the graphics.
+     */
     long GetMarkerSize();
 
+    /*! Enable/disables X-axis grid of the 2D plot.
+     */
     void EnableXGrid(in boolean theMajor, in long theNumMajor, in boolean theMinor, in long theNumMinor);
+
+    /*! Enable/disables Y-axis grid of the 2D plot.
+     */
     void EnableYGrid(in boolean theMajor, in long theNumMajor, in boolean theMinor, in long theNumMinor);
+
+    /*! Sets horizontal scaling of the 2D plot.
+     * \param theScaling Type of scaling taken from <VAR>Scaling</VAR> enumeration.
+     */
     void SetHorScaling(in Scaling theScaling);
+
+    /*! Gets the type horizontal scaling of the 2D plot.
+     */
     Scaling GetHorScaling();
+
+    /*! Sets vertical scaling of the 2D plot.
+     * \param theScaling Type of scaling taken from <VAR>Scaling</VAR> enumeration.
+     */
     void SetVerScaling(in Scaling theScaling);
+
+    /*! Gets the type vertical scaling of the 2D plot.
+     */
     Scaling GetVerScaling();
 
+    /*! Sets the title of the X-axis of the plot.
+     * \param theTitle String value defining the title of the X-axis of the plot.
+     */
     void SetXTitle(in string theTitle);
+
+    /*! Gets the title of the X-axis of the plot.
+     */
     string GetXTitle();
 
+    /*! Sets the title of the Y-axis of the plot.
+     * \param theTitle String value defining the title of the X-axis of the plot.
+     */
     void SetYTitle(in string theTitle);
+
+    /*! Gets the title of the Y-axis of the plot.
+     */
     string GetYTitle();
 
+    /*! Shows/hides the legend (description) of the 2D plot.
+     */
     void ShowLegend(in boolean theShowing);
 
+    /*! Shrinks and enlarges the 2D plot to fit the 2D viewer.
+     */
     void FitAll();
-  };
 
-  //-------------------------------------------------------
-/*! \brief Interface of the %ViewManager
+    /*! Set range of the 2D plot to X axis of the 2D viewer.
+     */
+    void FitXRange(in double xMin, in double xMax);
 
-   The %ViewManager is necessary for work with view windows (creation and deletion).
-*/
+    /*! Set range of the 2D plot to Y axis of the 2D viewer.
+     */
+    void FitYRange(in double yMin, in double yMax);
 
-    interface ViewManager: Base{
-/*! \brief Getting an active %View Frame
+    /*! Set range of the 2D plot to XY axis of the 2D viewer.
+     */
+    void FitRange(in double xMin, in double xMax,
+                 in double yMin, in double yMax);
 
- Returns an object reference to the active %View Frame.
- Type of the %View must be checked.
- \note <BR>Returns nil if there are no views currently opened.
-*/
+    void GetFitRanges(out double xMin,out double xMax,
+                     out double yMin,out double yMax);
+  };
 
+  //-------------------------------------------------------
+  /*! \brief Interface of the %ViewManager
+   *
+   * The ViewManager is necessary for work with view windows (creation and deletion).
+   */
+  interface ViewManager: Base {
+    /*! \brief Getting an active %View Frame
+     *
+     * Returns an object reference to the active %View Frame.
+     * Type of the %View must be checked.
+     * \note <BR>Returns nil if there are no views currently opened.
+     */
     View GetCurrentView();
-    const string GetCurrentView__doc__ = "Getting an active View Frame.\nReturns an object reference to the active view frame.";
-/*! \brief Creation of a 3d %View.
 
- Returns an object reference to the newly created 3d %View.
-*/
+    /*! \brief Creation of a 3d %View.
+     *
+     * Returns an object reference to the newly created 3D %View.
+     */
     View3D Create3DView();
-    const string Create3DView__doc__ = "Creation of a 3d view.\nReturns an object reference to the newly created 3d view.";
 
+    /*! \brief Creation of a Table %View.
+     *
+     * Returns an object reference to the newly created Table %View.
+     */
     TableView CreateTableView(in Table theTable);
 
-    const string CreateTableView__doc__ = "Creation of a table view.\nReturns an object reference to the newly created table view.";
+    /*! \brief Creation of a 2D plot %View.
+     *
+     * Returns an object reference to the newly created 2D plot %View.
+     */
     XYPlot CreateXYPlot();
 
-    const string CreateXYPlot__doc__ = "Creation of a 2d view.\nReturns an object reference to the newly created XYPlot view.";
+    /*! Deletes a definite view.
+     * \param theView The view which should be deleted.
+     */
     void Destroy(in View theView);
-
-    const string Destroy__doc__ = "Destroying of the view";
-
-
- };
-    const string ViewManager__doc__ = "The ViewManager interface is necessary for work\nwith view windows (creation and deletion).";
+  };
 };
-#endif
-
 
+#endif