-// 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) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE
+//
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
+// 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};
-/*!
- 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};
+
+ typedef sequence<string> string_array;
+ typedef sequence<double> double_array;
+
+ /*!
+ * 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
+ * what kind of value will be extracted from gauss points data.
+ */
+ enum GaussMetric {
+ AVERAGE, /*!< Average value (default). */
+ MINIMUM, /*!< Minimum value. */
+ MAXIMUM /*!< Maximum value. */
+ };
+
+ /*!
+ * 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 */
+ NONE /*!< Indicates undefined entity value */
+ };
+
+ /*!
+ * Marker type (used for point rendering)
+ */
+ enum MarkerType {
+ MT_NONE,
+ MT_POINT,
+ MT_PLUS,
+ MT_STAR,
+ MT_O,
+ MT_X,
+ MT_O_POINT,
+ MT_O_PLUS,
+ MT_O_STAR,
+ MT_O_X,
+ MT_USER
+ };
+
+ /*!
+ * Marker scale (used for point rendering)
+ */
+ enum MarkerScale {
+ MS_NONE,
+ MS_10,
+ MS_15,
+ MS_20,
+ MS_25,
+ MS_30,
+ MS_35,
+ MS_40,
+ MS_45,
+ MS_50,
+ MS_55,
+ MS_60,
+ MS_65,
+ MS_70
+ };
+
+ /*!
+ * Tables' sort order
+ */
+ enum SortOrder {
+ AscendingOrder, /*!< The table items are sorted ascending */
+ DescendingOrder /*!< The table items are sorted descending */
+ };
+
+ /*!
+ * Tables' sort policy (specifies how empty cells are taken into account when sorting)
+ */
+ enum SortPolicy {
+ EmptyLowest, /*!< Empty cells are considered as lowest values */
+ EmptyHighest, /*!< Empty cells are considered as highest values */
+ EmptyFirst, /*!< Empty cells are always first */
+ EmptyLast, /*!< Empty cells are always last */
+ EmptyIgnore /*!< Empty cells are ignored (stay at initial positions) */
+ };
+
+ /*!
+ * 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 */
+ TISOSURFACES, /*!< Iso surface 3D presentation object */
+ TDEFORMEDSHAPE, /*!< Deformed shape 3D presentation object */
+ TSCALARMAPONDEFORMEDSHAPE, /*!< Scalar map on deformed shape 3D presentation object. It is obsolete. Use TDEFORMEDSHAPEANDSCALARMAP instead */
+ TDEFORMEDSHAPEANDSCALARMAP, /*!< Deformed shape and scalar map 3D presentation object */
+ TGAUSSPOINTS, /*!< Gauss Points 3D presentation object */
+ TPLOT3D, /*!< Plot3D 3D presentation object */
+ TPOINTMAP3D, /*!< 3D presentation for table object */
+ TCUTPLANES, /*!< Cut planes 3D presentation object */
+ TCUTLINES, /*!< Cut lines 3D presentation object */
+ TCUTSEGMENT, /*!< Cut segment 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. */
+ TEVOLUTION, /*!< Represents Evolution object. */
+ TCOLOREDPRS3DHOLDER, /*!< Colored 3D presentation holder */
+ TCOLOREDPRS3DCACHE, /*!< Colored 3D presentation cache */
+ TPART, /*!< MULTIPR: part of a mesh */
+ TALL
+ };
+
+ /* Clipping planes management */
+ struct ClippingPlane {
+ double X;
+ double Y;
+ double Z;
+ double dX;
+ double dY;
+ double dZ;
+ boolean isAuto;
+ string name;
+ };
+
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.
-*/
- interface Table : PrsObject {
-/*!
-Sets the title of the table.
-*/
- void SetTitle(in string theTitle);
- const string SetTitle__doc__ = "Sets the title of the table.";
-/*!
-Gets 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.
-*/
- void SetOrientation(in Orientation theOrientation);
- const string SetOrientation__doc__ = "Sets orientation of the table.";
-/*!
-Gets orientation of the table.
-*/
- Orientation GetOrientation();
- const string GetOrientation__doc__ = "Gets orientation of the table.";
- /*!
-Gets 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
- */
- long GetNbColumns();
- const string GetNbColumns__doc__ ="Gets the number of columns of the table.";
+ /*! \brief Presentable object interface
+ *
+ * Presentable object interface is the root class of all presentable objects.
+ */
+ interface PrsObject : RemovableObject {
};
- 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.
-*/
+ interface Result;
+ /*! \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
+ {
+ /*!
+ * Move the 3D presentation according to the given offset parameters
+ */
+ void SetOffset(in float theDx, in float theDy, in float theDz);
+
+ /*!
+ * Gets offset parameters for the 3D presentation
+ */
+ void GetOffset(out float theDx, out float theDy, out float theDz);
+
+ /*!
+ * Set standard point marker for the object
+ * \param theType standard marker type
+ * \param theScale standard marker scale
+ */
+ void SetMarkerStd(in MarkerType theType, in MarkerScale theScale);
+
+ /*!
+ * Set custom point marker for the object. The texture can be added
+ * by LoadTexture() function
+ * \param theTextureId texture ID
+ */
+ void SetMarkerTexture(in long theTextureId);
+
+ /*!
+ * Get type of the point marker assigned to the object
+ * \return current marker type (MT_NONE if no marker is set)
+ */
+ MarkerType GetMarkerType();
+
+ /*!
+ * Get scale of the point marker assigned to the object
+ * \return current marker scale (MS_NONE if no marker is set)
+ */
+ MarkerScale GetMarkerScale();
+
+ /*!
+ * Get texture idenifier of the point marker assigned to the object
+ * \return marker texture ID (0 if no marker set)
+ */
+ long GetMarkerTexture();
+
+ /*!
+ * Gets memory size actually used by the presentation (Mb).
+ */
+ float GetMemorySize();
+ };
- 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,
+ FEATURE_EDGES,
+ SHRINK
+ };
-This interface manages the presentation parameters of the mesh.
-*/
- interface Mesh : PrsObject{
-/*!
-Sets the color of mesh cells.
-*/
+ /*!
+ * This enumeration contains a set of elements defining the
+ * type of presentation of the 2D quadratic mesh elements.
+ */
+ enum Quadratic2DPresentationType{
+ LINES,
+ ARCS
+ };
+
+ /*! \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.";
+
+
+ /*!
+ * Sets the type of representation of a 2D quadratic mesh elements.
+ * \param theType The type of representation of 2D quadratic mesh elements.
+ * This parameter is taken from
+ * <VAR>Quadratic2DPresentationType</VAR> enumeration.
+ */
+ void SetQuadratic2DPresentationType(in Quadratic2DPresentationType theType);
+
+ /*!
+ * Gets the type of representation of the 2D quadratic mesh elements.
+ * \return The type of representation of the 2D quadratic mesh elements.
+ */
+ Quadratic2DPresentationType GetQuadratic2DPresentationType();
+
+ /*!
+ * Switches shrink mode of presentation
+ * Note: SetPresentationType(SHRINK) is same as SetShrink(True)
+ */
+ void SetShrink(in boolean toShrink);
+
+ /*!
+ * Returns current state of shrink mode
+ */
+ boolean IsShrank();
};
- 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);
- 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.
-*/
+
+ //-------------------------------------------------------
+ /*! \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 ColoredPrs3dBase : Prs3d
+ {
+ /*!
+ * 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);
- 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.
-*/
+ /*!
+ * Sets scalar range that corresponds to the source data.
+ */
+ void SetSourceRange();
+
+ /*!
+ * Gets the min boundary of the scalar bar from source data.
+ */
+ double GetSourceMin();
+
+ /*!
+ * Gets the max boundary of the scalar bar from source data.
+ */
+ double GetSourceMax();
+
+ /*!
+ * Defines whether the scalar range corresponds to the source data or not.
+ */
+ boolean IsRangeFixed();
+
+ /*! \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.
-*/
+ /*! %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 Additional Interface for the %Colored 3D Presentations
+ *
+ */
+
+ interface ColoredPrs3d : ColoredPrs3dBase
+ {
+ /*!
+ * 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.";
+
+ /*! 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();
+
+ /*!
+ * Set the visibility of a distribution curve.
+ * \param theIs is used to switch on/off the visibility of a distribution curve.
+ */
+ void SetIsDistributionVisible(in boolean theIs);
+
+ //! Gets current visibility of a distribution curve
+ boolean GetIsDistributionVisible();
+
+ //! Gets current filtering by scalars mode
+ boolean IsScalarFilterUsed();
+
+ void UseScalarFiltering( in boolean theUseScalarFilter );
+
+ /*!
+ * 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.
+ * \param theIsFilter if true then filter by scalars.
+ */
+ void SetScalarFilterRange( in double theMin, in double theMax );
+
+ double GetScalarFilterMin();
+
+ double GetScalarFilterMax();
+
+ /*!
+ * Add group as geometry of presentation.
+ * \param theMeshName - mesh name
+ * \param theGroupName - group name
+ */
+ void AddMeshOnGroup(in string theGroupName);
+
+ /*!
+ * PrsMerger method:
+ * Remove all groups.(The scalar map will be placed on all mesh).
+ */
+ void RemoveAllGeom();
};
- const string ScalarMap__doc__ = "The scalarmap interface contains presentation\nparameters of the ScalarMap presentation.";
+
+
//-------------------------------------------------------
-/*! \brief Deformed shape presentation interface
+ interface View3D;
+ interface ColoredPrs3dCache;
-Presentation parameters of the deformed shape presentation.
-*/
- interface DeformedShape : ScalarMap{
-/*!
-Sets the scale of the presentatable object.
-*/
+
+ //-------------------------------------------------------
+ /*! \brief %ColoredPrs3dHolder interface.
+ * Interface of 3d presentation's holder, which represents colored 3d presentations,
+ * created on fields. It is publishing in the object browser in a separate folder
+ * and can be controled by viewer's slider.
+ */
+ interface ColoredPrs3dHolder : PrsObject, SALOME::GenericObj
+ {
+ /*!
+ * Presentation input parameters.
+ */
+ struct BasicInput
+ {
+ Result myResult;
+ string myMeshName;
+ Entity myEntity;
+ string myFieldName;
+ long myTimeStampNumber;
+ };
+
+ /*!
+ * Apply input parameters to last visited presentation in the cache.
+ */
+ boolean Apply(in ColoredPrs3d thePrs3d,
+ in BasicInput theInput,
+ in View3D theView3D);
+
+ /*!
+ * Gets the last visited presentation in the cache.
+ */
+ ColoredPrs3d GetDevice();
+
+ /*!
+ * Gets type of the managed presentations.
+ */
+ VISUType GetPrsType();
+
+ /*! Defines timestamp representation.
+ */
+ struct TimeStampInfo
+ {
+ string myTime;
+ long myNumber;
+ };
+
+ /*! Defines representation range of timestamps.
+ */
+ typedef sequence<TimeStampInfo> TimeStampsRange;
+
+ /*!
+ * Gets TimeStampsRange information from the last visited presentation.
+ */
+ TimeStampsRange GetTimeStampsRange();
+
+ /*!
+ * Gets input parameters of the last visited presentation.
+ */
+ BasicInput GetBasicInput();
+
+ /*!
+ * Gets a %ColoredPrs3dCache, to which the holder belongs
+ */
+ ColoredPrs3dCache GetCache();
+
+ /*!
+ * Gets memory size actually used by the holder (Mb).
+ */
+ float GetMemorySize();
+ };
+
+
+ //-------------------------------------------------------
+ /*! \brief %ColoredPrs3dCache interface.
+ * This interface is responsible for memory management of 3d presentations.
+ * One cache corresponds to one study.
+ */
+ interface ColoredPrs3dCache : RemovableObject, SALOME::GenericObj
+ {
+ /*! This enumeration contains the cache memory modes. */
+ enum MemoryMode {
+ MINIMAL, /*!< Minimal memory mode (default behaviour). */
+ LIMITED /*!< Limited memory mode (fixed memory size for presentations). */
+ };
+
+ /*! This enumeration defines how to enlarge the cache limited memory. */
+ enum EnlargeType {
+ NO_ENLARGE, /*!< No need to enlarge (default behaviour). */
+ ENLARGE, /*!< Enlarge limited memory. */
+ IMPOSSIBLE /*!< Impossible to enlarge (not enough free memory). */
+ };
+
+ /*! Sets a memory mode.*/
+ void SetMemoryMode(in MemoryMode theMode);
+
+ /*! Gets a memory mode.*/
+ MemoryMode GetMemoryMode();
+
+ /*! Sets a memory size for limited mode (Mb). */
+ void SetLimitedMemory(in float theMemorySize);
+
+ /*! Gets a memory size for limited mode (Mb). */
+ float GetLimitedMemory();
+
+ /*!
+ * Gets memory size actually used by the cache system (Mb).
+ */
+ float GetMemorySize();
+
+ /*! Creates %ColoredPrs3dHolder.*/
+ ColoredPrs3dHolder CreateHolder(in VISUType theType,
+ in ColoredPrs3dHolder::BasicInput theInput);
+
+ /*! Gets a memory which is required to create a holder. */
+ EnlargeType GetRequiredMemory(in VISUType theType,
+ in ColoredPrs3dHolder::BasicInput theInput,
+ out float theRequiredMemory);
+ };
+
+
+ //-------------------------------------------------------
+ /*! \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 ScaledPrs3d {
+ /*!
+ * Sets the type of scaling of the values reflected by the scalar bar.
+ * \param theScaling The value of this parameter is taken from the <VAR>Scaling</VAR> enumeration.
+ */
+ void SetScaling(in Scaling theScaling);
+
+ /*!
+ * Gets the type of scaling of the values reflected by this presentation.
+ */
+ Scaling GetScaling();
+ };
+
+ interface ScalarMap : ColoredPrs3d, ScaledPrs3d {
+
+ /*!
+ * Returns visibility state of scalar bar
+ */
+ boolean IsBarVisible();
+
+ /*!
+ * Sets visibility state of scalar bar
+ */
+ void SetBarVisible(in boolean theVisible);
+
+ /*!
+ * Sets the gauss metric for the presentation.
+ * \param theGaussMetric The value of this parameter is taken from the <VAR>GaussMetric</VAR> enumeration.
+ */
+ void SetGaussMetric(in GaussMetric theGaussMetric);
+
+ /*!
+ * Gets the gauss metric of the presentation.
+ */
+ GaussMetric GetGaussMetric();
+
+ /*!
+ * 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);
+
+ /*!
+ * Gets the color of mesh links.
+ */
+ SALOMEDS::Color GetLinkColor();
+ };
+
+ //-------------------------------------------------------
+ /*! \brief Gauss Points presentation interface
+ *
+ * Presentation parameters of the Gauss Points presentation.
+ */
+ //-------------------------------------------------------
+ interface GaussPoints : ColoredPrs3d
+ {
+ //! Set flag indicating which scalar bar is active.
+ void SetIsActiveLocalScalarBar(in boolean theFlag);
+
+ //! Get flag indicating which scalar bar is active.
+ boolean GetIsActiveLocalScalarBar();
+
+ //! Set flag indicating visibility of global scalar bar.
+ void SetIsDispGlobalScalarBar(in boolean theFlag);
+
+ //! Get flag indicating visibility of global scalar bar.
+ boolean GetIsDispGlobalScalarBar();
+
+ //! Set value of the distance between global and local scalar bars.
+ void SetSpacing(in double theSpacing);
+
+ //! Get value of the distance between global and local scalar bars.
+ double GetSpacing();
+
+ /*!
+ * Returns visibility state of scalar bar
+ */
+ boolean IsBarVisible();
+
+ /*!
+ * Sets visibility state of scalar bar
+ */
+ void SetBarVisible(in boolean theVisible);
+
+ /*!
+ * Set the Multicolored mode.
+ * \param theIsColored is used to switch between Results and Geometry modes.
+ * Multiple colors are using when the presentation is
+ * drawing in the Results mode, one color - in the Geometry mode.
+ */
+ void SetIsColored(in boolean theIsColored);
+
+ //! Gets current color mode
+ boolean GetIsColored();
+
+ /*! Sets the color of this presentation in case of IsColored switched off.
+ * \param theColor The color of this presentation. This parameter
+ * is taken from the <VAR>Color</VAR> enumeration.
+ */
+ void SetColor(in SALOMEDS::Color theColor);
+
+ /*!
+ * When the Bicolor parameter is set to true, scalar bars are
+ * drawing with two colors : red color correspoonds to positive
+ * scalar values, blue color - to negative values.
+ */
+ void SetBiColor(in boolean theIsBiColor);
+
+ //! Get the Bicolor mode.
+ boolean GetBiColor();
+
+ //! Checks whether the Gauss Points will be deformed or not
+ boolean GetIsDeformed();
+
+ //! Apply deformation on the Gauss Points
+ void SetIsDeformed(in boolean theIsDeformed);
+
+ /*!
+ * 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();
+
+ /*!
+ * This enumeration contains a set of elements defining the type of representation of the vector head.
+ */
+ enum PrimitiveType {
+ SPRITE,
+ POINT,
+ SPHERE
+ };
+
+ //! Set type of the primitives which is used for drawing the Gauss Points
+ void SetPrimitiveType(in PrimitiveType thePrimitiveType);
+
+ //! Get type of the primitives which is used for drawing the Gauss Points
+ PrimitiveType GetPrimitiveType();
+
+ //! Sets Point Sprite clamp
+ void SetClamp(in double theClamp);
+
+ //! Gets Point Sprite clamp
+ double GetClamp();
+
+ //! Sets minimum size of Point Sprites
+ void SetMinSize(in double theMinSize);
+
+ //! Gets minimum size of Point Sprites
+ double GetMinSize();
+
+ //! Sets maximum size of Point Sprites
+ void SetMaxSize(in double theMaxSize);
+
+ //! Gets maximum size of Point Sprites
+ double GetMaxSize();
+
+ //! Sets magnification for Point Sprites
+ void SetMagnification(in double theMagnification);
+
+ //! Gets magnification for Point Sprites
+ double GetMagnification();
+
+ //! Sets the increment of changing Magnification parameter
+ void SetMagnificationIncrement(in double theIncrement);
+
+ //! Gets the increment of changing Magnification parameter
+ double GetMagnificationIncrement();
+
+ //! Sets Point Sprites size
+ void SetGeomSize(in double theGeomSize);
+
+ //! Sets size of Point Sprite
+ double GetGeomSize();
+
+ //! Get path to the image using for Main Point Sprite texture
+ string GetMainTexture();
+
+ //! Get path to the image using for Alpha Point Sprite texture
+ string GetAlphaTexture();
+
+ //! Points Main and AlphaMask images to be used by Point Sprites
+ void SetTextures(in string theMainTexture, in string theAlphaTexture);
+
+ //! Sets Point Sprite Alpha threshold
+ void SetAlphaThreshold(in double theAlphaThreshold);
+
+ //! Gets Point Sprite Alpha threshold
+ double GetAlphaThreshold();
+
+ //! Sets resolution of the Geometrical Sphere
+ void SetResolution(in long theResolution);
+
+ //! Sets resolution of the Geometrical Sphere
+ long GetResolution();
+
+ //! Sets how many faces of can be drawn in the Geometrical Sphere primitive mode
+ void SetFaceLimit(in long theFaceLimit);
+
+ //! Defines how many faces of can be drawn in the Geometrical Sphere primitive mode
+ long GetFaceLimit();
+
+
+ };
+
+
+ /*! \brief MonoColor presentation presentation interface
+ *
+ * Presentation parameters of the MonoColor presentation.
+ */
+ interface MonoColorPrs : ScalarMap {
+
+ /*! 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 Deformed shape presentation interface
+ *
+ * Presentation parameters of the deformed shape presentation.
+ */
+ interface DeformedShape : MonoColorPrs
+ {
+ /*!
+ * 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();
- const string GetScale__doc__ = "Gets the scale of the deformed shape";
+
};
- const string DeformedShape__doc__ = "The deformed shape interface contains\nthe presentation parameters of the deformed shape.";
+
//-------------------------------------------------------
-/*! \brief Cut planes interface
+ /*! \brief Deformation interface
+ *
+ * This is base interface for building of the deformed presentations
+ */
+ interface Deformation{
+ /*!
+ * Sets the scale of the presentatable object.
+ * \param theScale Double value defining the scale of this presentable object.
+ */
+ void SetScale(in double theScale);
-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 the scale of the presentatable object.
+ */
+ double GetScale();
+
+ /*!
+ * Sets the vectorial field
+ * \param theEntity - entity of vectorial field
+ * \param theFieldName - the name of vectorial field
+ */
+ void SetVectorialField(in Entity theEntity,
+ in string theFieldName);
+
+ /*!
+ * Get vectorial entity
+ */
+ Entity GetVectorialFieldEntity();
+
+ /*!
+ * Get scalar field name
+ */
+ string GetVectorialFieldName();
+
+ };
+
+ //-------------------------------------------------------
+ /*! \brief OptionalDeformation interface
+ *
+ * This is interface for switch on/off of the deformation of the presentation
+ */
+ interface OptionalDeformation : Deformation{
+
+ /*!
+ * Sets the deformation flag of the presentatable object.
+ * \param theFlag Boolean value defining the deformation flag of this presentable object.
+ */
+ void UseDeformation(in boolean theFlag);
+
+ /*!
+ * Gets the deformation flag of the presentatable object.
+ */
+ boolean IsDeformed();
+ };
+
+ //-------------------------------------------------------
+ /*! \brief Scalar Map on Deformed shape presentation interface
+ *
+ * Presentation parameters of the scalar map on deformed shape presentation.
+ */
+ interface DeformedShapeAndScalarMap : ScalarMap {
+
+ /*!
+ * Sets the scale of the presentatable object.
+ * \param theScale Double value defining the scale of this presentable object.
+ */
+ void SetScale(in double theScale);
+
+ /*!
+ * Gets the scale of the presentatable object.
+ */
+ double GetScale();
+
+ /*!
+ * Sets the scalar field
+ * \param theEntity - entity of scalar field
+ * \param theFieldName - the name of scalar field
+ * \param theTimeStampNumber - the timestamp number for the scalar field
+ */
+ void SetScalarField(in Entity theEntity,
+ in string theFieldName,
+ in long theTimeStampNumber);
+
+
+ /*!
+ * Get scalar entity
+ */
+ Entity GetScalarEntity();
+
+ /*!
+ * Get scalar field name
+ */
+ string GetScalarFieldName();
+
+ /*!
+ * Get timestamp number for the scalar field
+ */
+ long GetScalarTimeStampNumber();
+ };
+
+
+ //-------------------------------------------------------
+ /*!
+ * \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 Plot3dBase {
+ /*!
+ * 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();
+ };
+
+ interface Plot3D : ScalarMap, Plot3dBase {
+ /*!
+ * 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();
- 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 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();
+ };
+
+ //-------------------------------------------------------
+ /*! \brief %Table representation interface
+ *
+ * Presentation parameters of the %Table view.
+ */
+ interface Table : PrsObject {
+ /*!
+ * Sets the title of the table.
+ * \param theTitle String parameter defining the title of this table.
+ */
+ void SetTitle(in string theTitle);
+
+ /*!
+ * Gets the title of the table.
+ * \return A string value containing the title of the table.
+ */
+ string GetTitle();
+
+ /*!
+ * 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);
+
+ /*!
+ * 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();
+
+ /*!
+ * Gets the number of rows of the table.
+ * \return Long value corresponding to the number of rows of the table
+ */
+ long GetNbRows();
+
+ /*!
+ * Gets the number of columns of the table.
+ * \return Long value corresponding to the number of columns of the table
+ */
+ long GetNbColumns();
+
+ /*!
+ * Sorts the specified row of the table.
+ * \param theRow Index of the row to sort
+ * \param theSortOrder Sort order (see <VAR>SortOrder</VAR> enumeration)
+ * \param theSortPolicy Sort policy (see <VAR>SortPolicy</VAR> enumeration)
+ */
+ void SortRow(in long theRow, in SortOrder theSortOrder, in SortPolicy theSortPolicy);
+
+ /*!
+ * Sorts the specified column of the table.
+ * \param theRow Index of the column to sort
+ * \param theSortOrder Sort order (see <VAR>SortOrder</VAR> enumeration)
+ * \param theSortPolicy Sort policy (see <VAR>SortPolicy</VAR> enumeration)
+ */
+ void SortColumn(in long theColumn, in SortOrder theSortOrder, in SortPolicy theSortPolicy);
+
+ /*!
+ * Sorts the table by the specified row.
+ * \param theRow Index of the row, by which the table has to be sort
+ * \param theSortOrder Sort order (see <VAR>SortOrder</VAR> enumeration)
+ * \param theSortPolicy Sort policy (see <VAR>SortPolicy</VAR> enumeration)
+ */
+ void SortByRow(in long theRow, in SortOrder theSortOrder, in SortPolicy theSortPolicy);
+
+ /*!
+ * Sorts the table by the specified column.
+ * \param theColumn Index of the column, by which the table has to be sort
+ * \param theSortOrder Sort order (see <VAR>SortOrder</VAR> enumeration)
+ * \param theSortPolicy Sort policy (see <VAR>SortPolicy</VAR> enumeration)
+ */
+ void SortByColumn(in long theColumn, in SortOrder theSortOrder, in SortPolicy theSortPolicy);
+ };
+
+ //-------------------------------------------------------
+ /*! \brief %PointMap3d representation interface
+ *
+ * Presentation parameters of the %Table Point Map in 3d view.
+ */
+ interface PointMap3d : ColoredPrs3dBase, ScaledPrs3d, Plot3dBase, Table {
+ };
+
+ //-------------------------------------------------------
+ /*! \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, OptionalDeformation {
+ /*!
+ * 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();
+
+ /*!
+ * 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 Base interface for Cut Lines and Cut Segment tools
+ *
+ */
+ interface CutLinesBase : ScalarMap {
+ /*!
+ * 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();
+
+ /*! Invert all curves of corresponding table
+ * \param theInvert - Invert all curves, if value is TRUE, else not.
+ */
+ void SetAllCurvesInverted(in boolean theInvert);
+
+ /*! Checks the orientation of all curves
+ * \retval TRUE - if all curves are inverted, else FALSE
+ */
+ boolean IsAllCurvesInverted();
+
+ /*! Sets values which cutlines would be shown: aboslute or relative values
+ * \param theAbsLength - boolean value, TRUE or false.
+ */
+ void SetUseAbsoluteLength(in boolean theAbsLength);
+
+ /*! Checks values of cutlines: using aboslute or relative values
+ */
+ boolean IsUseAbsoluteLength();
+ };
+
+ //-------------------------------------------------------
+ /*! \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 : CutLinesBase {
+ /*!
+ * 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);
};
- 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 Cut segment presentation.
+ *
+ * Presentation parameters of a Cut segment presentation.
+ * Cut Segment is a simplified variant of Cut Lines presentation, which is used
+ * to display a single line instead of set of them. Axis of this line is defined
+ * by coordinates of two points in 3D space.
+ */
+ interface CutSegment : CutLinesBase {
+ /*!
+ * Sets coordinates of the first point of axis of the segment.
+ * \param theX X coordinate of the point
+ * \param theY Y coordinate of the point
+ * \param theZ Z coordinate of the point
+ */
+ void SetPoint1(in double theX, in double theY, in double theZ);
+
+ /*!
+ * Gets coordinates of the first point of axis of the segment.
+ * \param theX X coordinate of the point
+ * \param theY Y coordinate of the point
+ * \param theZ Z coordinate of the point
+ */
+ void GetPoint1(out double theX, out double theY, out double theZ);
+
+ /*!
+ * Sets coordinates of the second point of axis of the segment.
+ * \param theX X coordinate of the point
+ * \param theY Y coordinate of the point
+ * \param theZ Z coordinate of the point
+ */
+ void SetPoint2(in double theX, in double theY, in double theZ);
+
+ /*!
+ * Gets coordinates of the second point of axis of the segment.
+ * \param theX X coordinate of the point
+ * \param theY Y coordinate of the point
+ * \param theZ Z coordinate of the point
+ */
+ void GetPoint2(out double theX, out double theY, out double theZ);
+ };
+
+ /*! \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 : MonoColorPrs {
+ /*! 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__ = "";
+ /*! 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();
+ };
-/*! \brief Interface of the isometric surface representation
-
- 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 : MonoColorPrs {
+ /*!
+ * 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.";
+
+ /*!
+ * Returns TRUE if labels with values are shown
+ */
+ boolean IsLabeled();
+
+ /*!
+ * Set show or not value labels
+ */
+ void ShowLabels(in boolean theShow, in long theNb);
+
+ /*!
+ * Returns Nb of labels per surface
+ */
+ long GetNbLabels();
+
};
- 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
+ {
+ /*!
+ * This enumeration contains a set of available animation modes.
+ */
+ enum AnimationMode{ PARALLEL, /*!< parallel mode of animation. */
+ SUCCESSIVE /*!< succcessive mode of animation. */
+ };
+
+ /*! Defines the field which will be used as a base for generation of the animation.
+ * \param theObject The %SObject corresponding to the field.
+ */
+ boolean addField(in SALOMEDS::SObject theObject);
+
+ /*! Remove all fields from Animation object.
+ */
+ void clearFields();
+
+ /*! 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>.
+ * \note \c addField() method should be called before in order to add field
+ * with number theFieldNum.
+ */
+ 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>.
+ * \note \c addField() method should be called before in order to add field
+ * with number theFieldNum.
+ */
+ 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();
+
+ /*! Sets the sequence of the animation. The sequence 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 set the sequence 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.
+ * Format of the sequence: '1,9,2-5,7-8'
+ * \param theSequence The sequence of time stamps indices which will be used for generation of the animation.
+ */
+ void setAnimationSequence(in string theSequence);
+
+ /*! Gets the animation sequence.
+ */
+ string getAnimationSequence();
+
+ /*! Returns True if the sequence of the animation has been defined
+ * by the method <VAR>setAnimationSequence</VAR>. Otherwise
+ * the animation will be generated on the basis of all time stamps contained in the field.
+ */
+ boolean isSequenceDefined();
+
+ /*! 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);
+
+ /*! Set frequency of timestamps used to generate AVI file.
+ * \param theFrequency The frequency of timestamps to use.
+ */
+ void setTimeStampFrequency(in long theFrequency);
+
+ /*! Get frequency of timestamps used to generate AVI file.
+ * \return The frequency of timestamps to use.
+ */
+ long getTimeStampFrequency();
+
+ /*! 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);
+
+ boolean isCleaningMemoryAtEachFrame();
+ void setCleaningMemoryAtEachFrame(in boolean theCycle);
+
+ SALOMEDS::SObject publishInStudy();
+
+ void saveAnimation();
+
+ void restoreFromStudy(in SALOMEDS::SObject theSObj);
+
+ boolean isSavedInStudy();
+
+ /*!
+ * Sets the animation mode.
+ * \param theMode The value of this parameter is taken from the <VAR>AnimationMode</VAR> enumeration.
+ */
+ void setAnimationMode(in AnimationMode theMode);
+
+ /*!
+ * Gets the animation mode.
+ */
+ AnimationMode getAnimationMode();
+
+ /*!
+ * Apply the presentation properties to all fields. The exception is raised in the following cases:
+ * 1) presentations for the given field is not yet created;
+ * 2) invalid dynamic cast of the given presentation to VISU::ColoredPrs3d_i;
+ * 3) the MED file is not the same;
+ * 4) the mesh name is not the same;
+ * 5) the field name is not the same;
+ * 6) the entity is not the same.
+ */
+ void ApplyProperties(in long theFieldNum, in ColoredPrs3d thePrs)
+ raises (SALOME::SALOME_Exception);
+ };
-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 {
+
+ //-------------------------------------------------------
+ interface XYPlot;
+
+ //-------------------------------------------------------
+ /*! \brief Interface %Evolution
+ *
+ */
+ interface Evolution : Base
+ {
+ /*!
+ * Defines the field which will be used as a base for generation of the evolution.
+ * \param theObject The %SObject corresponding to the field.
+ */
+ boolean setField(in SALOMEDS::SObject theObject);
+
+ /*!
+ * Sets id of the point for which the evolution will be generated.
+ * \param thePointId id of the point.
+ */
+ void setPointId(in long thePointId);
+
+ /*!
+ * Sets id of the component for which the evolution will be generated.
+ * \param thePointId id of the component.
+ */
+ void setComponentId(in long theComponentId);
+
+ /*!
+ * Shows the evolution.
+ */
+ boolean showEvolution();
+
+ /*!
+ * Restores the evolution from study.
+ * \param theSObj the study object from which the evolution should be restored.
+ */
+ void restoreFromStudy(in SALOMEDS::SObject theSObj);
+ };
+
+
+ /*! \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();
+
+ /*! Allow to check is corresponding multi resolution structure already loaded or not */
+ boolean IsPartsDone();
+
+ typedef sequence<Entity> Entities;
+
+ typedef string EntityName;
+
+ typedef sequence<EntityName> EntityNames;
+
+ typedef long TimeStampNumber;
+
+ typedef sequence<TimeStampNumber> TimeStampNumbers;
+
+ enum Resolution {
+ FULL,
+ MEDIUM,
+ LOW,
+ HIDDEN
+ };
+
+ typedef sequence<Resolution> Resolutions;
+
+ /*! Gets existing mesh names */
+ EntityNames GetMeshNames();
+
+ /*! Gets existing mesh entites for the given mesh name */
+ Entities GetEntities(in EntityName theMeshName);
+
+ /*! Gets existing families for the given mesh name and entity */
+ EntityNames GetFamilies(in EntityName theMeshName, in Entity theEntity);
+
+ /*! Gets existing families for the given mesh name */
+ EntityNames GetGroups(in EntityName theMeshName);
+
+ /*! Gets existing fields for the given mesh name and entity */
+ EntityNames GetFields(in EntityName theMeshName, in Entity theEntity);
+
+ /*! Gets number of components for the given mesh name, entity and name of field */
+ long GetNumberOfComponents(in EntityName theMeshName, in Entity theEntity, in EntityName theFieldName);
+
+ /*! Gets existing numbers of time stamps for the given mesh name, entity and name of field */
+ TimeStampNumbers GetTimeStampNumbers(in EntityName theMeshName, in Entity theEntity, in EntityName theFieldName);
+
+ /*! Gets time values of time stamps for the given mesh name, entity and name of field */
+ double_array GetTimeStampValues(in EntityName theMeshName, in Entity theEntity, in EntityName theFieldName);
+
+ /*! Gets existing parts of multi resolution structure for the given mesh name */
+ EntityNames GetPartNames(in EntityName theMeshName);
+
+ /*! Gets available resolutions of multi resolution structure for the given mesh and part names */
+ Resolutions GetResolutions(in EntityName theMeshName, in EntityName thePartName);
+
+ /*! Gets current resolution of multi resolution structure for the given mesh and part names */
+ Resolution GetResolution(in EntityName theMeshName, in EntityName thePartName);
+
+ /*! Gets current resolution of multi resolution structure for the given mesh and part names */
+ void SetResolution(in EntityName theMeshName, in EntityName thePartName, in Resolution theResolution);
+
+ /*! Gets information about imported MED file */
+ SALOME_MED::MedFileInfo GetMEDFileInfo();
+
+ /*! Export MED file from temp object. */
+ boolean ExportMED(in string theFileName);
};
- 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.
-*/
+ /*! \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
-*/
- SALOMEDS::SObject ImportTables(in string theFileName);
-/*!
-Imports data from a file.
-*/
+ /*!
+ * Imports tables from a file and create TableAttribute in Study
+ */
+ SALOMEDS::SObject ImportTables(in string theFileName,
+ in boolean theFirstStrAsTitle);
+
+ /*!
+ * 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.
-*/
- Result ImportMed(in SALOME_MED::FIELD theField);
- const string ImportMed__doc__ = "Imports data from a MED object field.";
-/*!
-Imports data from a %MED object mesh.
-*/
- Result ImportMedMesh(in SALOME_MED::MESH theMesh);
- const string ImportMedMesh__doc__ = "Imports data from a MED object mesh.";
-
-/*!
-Imports data from a %MED object SUPPORT.
-*/
- Result ImportMedSupport(in SALOME_MED::SUPPORT theSupport);
- const string ImportMedSupport__doc__ = "Imports data from a MED support.";
-/*!
-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).";
+ /*!
+ * 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);
+
+ /*!
+ * Imports data from a %MED field.
+ */
+ Result ImportMedField(in SALOME_MED::FIELD theField);
+
+ /*!
+ * Rename a study object, representing a mesh, specified by given values.
+ * \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 theSubMeshName Name of sub-mesh (group or family).
+ * \param theNewName Name to be given to the study object.
+ */
+ void RenameEntityInStudy(in Result theResult,
+ in string theMeshName,
+ in Entity theEntity,
+ in string theNewName);
+ void RenameFamilyInStudy(in Result theResult,
+ in string theMeshName,
+ in Entity theEntity,
+ in string theSubMeshName,
+ in string theNewName);
+ void RenameGroupInStudy(in Result theResult,
+ in string theMeshName,
+ in string theSubMeshName,
+ in string theNewName);
+
+ /*!
+ * 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 theTimeStampNumber Number of iteration on the field
+ */
+ ScalarMap ScalarMapOnField(in Result theResult, in string theMeshName,
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
+
+ /*!
+ * 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 theTimeStampNumber Number of iteration on the field
+ */
+ GaussPoints GaussPointsOnField(in Result theResult, in string theMeshName,
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
+
+ /*!
+ * 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 theTimeStampNumber Number of iteration on the field
+ */
+ DeformedShape DeformedShapeOnField(in Result theResult, in string theMeshName,
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
+
+ /*!
+ * Creates a deformed shape presentation. This function is obsolete. Use DeformedShapeAndScalarMapOnField instead.
+ * \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 theTimeStampNumber Number of iteration on the field
+ */
+ DeformedShapeAndScalarMap ScalarMapOnDeformedShapeOnField(in Result theResult, in string theMeshName,
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
+
+ /*!
+ * 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 theTimeStampNumber Number of iteration on the field
+ */
+ DeformedShapeAndScalarMap DeformedShapeAndScalarMapOnField(in Result theResult, in string theMeshName,
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
+
+ /*!
+ * 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 theTimeStampNumber Number of iteration on the field
+ */
+ Vectors VectorsOnField(in Result theResult, in string theMeshName,
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
+
+ /*!
+ * 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 theTimeStampNumber Number of iteration on the field
+ */
+ IsoSurfaces IsoSurfacesOnField(in Result theResult, in string theMeshName,
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
+
+ /*!
+ * 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 theTimeStampNumber Number of iteration on the field
+ */
+ StreamLines StreamLinesOnField(in Result theResult, in string theMeshName,
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
+
+ /*!
+ * 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 theTimeStampNumber Number of iteration on the field
+ */
+ CutPlanes CutPlanesOnField(in Result theResult, in string theMeshName,
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
+
+ /*!
+ * 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 theTimeStampNumber Number of iteration on the field
+ */
+ CutLines CutLinesOnField(in Result theResult, in string theMeshName,
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
+
+ /*!
+ * Creates a presentation of cut segment.
+ * \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 theTimeStampNumber Number of iteration on the field
+ */
+ CutSegment CutSegmentOnField(in Result theResult, in string theMeshName,
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
+
+ /*!
+ * 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 theTimeStampNumber Number of iteration on the field
+ */
+ Plot3D Plot3DOnField(in Result theResult, in string theMeshName,
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
+
+ /*!
+ * 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 theHRow Index of the row in the table: abscissa of the point.
+ * \param theVRow 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 curve on the basis of points, whose values are taken from the table.
+ * Each point has also assigned value, that will be shown as tooltip in Plot2d
+ * \param theTable Table containing the data for construction of curves.
+ * \param theHRow Index of the row in the table: abscissa of the point.
+ * \param theVRow Index of the row in the table: ordinate of the point.
+ * \param theZRow Index of the row in the table: assigned value (so-called as Z).
+ */
+ Curve CreateCurveWithZ( in Table theTable, in long theHRow, in long theVRow, in long theZRow );
+
+ /*!
+ * Creates a curve on the basis of points, whose values are taken from the table.
+ * Each point has also assigned value, that will be shown as tooltip in Plot2d.
+ * The curve can be displayed using right axis of Plot2d view.
+ * \param theTable Table containing the data for construction of curves.
+ * \param theHRow Index of the row in the table: abscissa of the point.
+ * \param theVRow Index of the row in the table: ordinate of the point.
+ * \param theZRow Index of the row in the table: assigned value (so-called as Z).
+ * \param theIsV2 Flag allowed to display the curve using right axis of Plot2d view.
+ */
+ Curve CreateCurveWithZExt( in Table theTable, in long theHRow, in long theVRow, in long theZRow,
+ in boolean theIsV2 );
+
+ /*!
+ * 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);
+
+ /*! Creates an evolution in the XY plot.
+ * \param theXYPlot The XY plot, where the evolution will be rendered.
+ */
+ Evolution CreateEvolution(in XYPlot theXYPlot);
+
+ void DeleteResult(in Result theResult);
+
+ void DeletePrs3d(in Prs3d thePrs3d);
+
+ /*!
+ * Get or create %ColoredPrs3dCache object.
+ */
+ ColoredPrs3dCache GetColoredPrs3dCache(in SALOMEDS::Study theStudy);
+
+
+ /* Clipping planes management */
+
+ /*Create a clipping plane and return its ID (position in corresponded array)
+ Id of clipping plane could be changed after deletion of other clipping plane
+ */
+ long CreateClippingPlane(in double X, in double Y, in double Z,
+ in double dX, in double dY, in double dZ,
+ in boolean auto, in string name);
+
+ void EditClippingPlane(in long id, in double X, in double Y, in double Z,
+ in double dX, in double dY, in double dZ,
+ in boolean auto, in string name);
+
+ /* Returns clipping plane by its Id */
+ ClippingPlane GetClippingPlane(in long id);
+
+ /* Deletes clipping plane by its Id */
+ boolean DeleteClippingPlane(in long id);
+
+ /* Applyes a clipping plane with Id to presentation thePrs */
+ boolean ApplyClippingPlane(in Prs3d thePrs, in long id);
+
+ /* Detaches a clipping plane with Id from presentation thePrs */
+ boolean DetachClippingPlane(in Prs3d thePrs, in long id);
+
+
+ /* Get number of clipping planes */
+ long GetClippingPlanesNb();
+
+ /*! Converts set of VTK files to the one MED-file
+ * \param theVTKFiles sequence of VTK files
+ * \param out MED-file
+ * \param theMeshName mesh name. This parameter can be empty. In this case name
+ of mesh is equal vtk2med
+ * \param theTSNames values of time stamps. This array can be empty, in
+ this case values of time stamps will be generated automatically ( 0, 1, 2 ... )
+ * \return TRUE if operation has been completed successfully, FALSE otherwise
+ */
+ boolean VTK2MED( in string_array theVTKFiles,
+ in string theMEDFile,
+ in string theMeshName,
+ in double_array theTStamps );
+
+ /*!
+ * Load texture from file
+ * \param theTextureFile texture file name
+ * \return unique texture identifier
+ */
+ long LoadTexture(in string theTextureFile);
};
- 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, SALOME::GenericObj
+ {
+ /*! \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.";
+ /*! Get representation type of the given presentation in this view.
+ * \param thePrs Object to get a representation type of.
+ * \return <VAR>PresentationType</VAR> Representation type of object in this view.
+ */
+ PresentationType GetPresentationType(in ScalarMap thePrs);
+
+ /*! Set representation type of the given presentation in this view.
+ * \param thePrs Object to set a representation type of.
+ * \param thePrsType Representation type to be set to the given object.
+ * \return Empty string in case of success, error description in case of failure.
+ */
+ string SetPresentationType(in ScalarMap thePrs, in PresentationType thePrsType);
+
+
+ /*! Set representation type of 2D quadratic elements
+ * of the given presentation in this view.
+ * \param thePrs Object to set a representation type of 2D quadratic elements.
+ * \param theType Representation type of 2D quadratic elements to be set to the given object.
+ * \return Empty string in case of success, error description in case of failure.
+ */
+ string SetQuadratic2DPresentationType(in ScalarMap thePrs,in Quadratic2DPresentationType theType);
+
+
+ /*! Get representation type of the 2D quadratic mesh elements of given presentation in this view.
+ * \param thePrs Object to get a representation type of 2D quadratic mesh elements.
+ * \return <VAR>Quadratic2DPresentationType</VAR> Representation type of 2D quadratic mesh elements
+ * in this view.
+ */
+ Quadratic2DPresentationType GetQuadratic2DPresentationType(in ScalarMap thePrs);
+
+
+ /*! Get shrink state of the given presentation in this view.
+ * \param thePrs Object to get a shrink state of.
+ * \return TRUE if \a thePrs is shrinked in this view, FALSE overwise.
+ */
+ boolean IsShrinked(in ScalarMap thePrs);
+
+ /*! Make the given presentation shrinked or not shrinked in this view.
+ * \param thePrs Object to change a shrink state of.
+ * \param isShrinked Pass TRUE to make \a thePrs shrinked, FALSE overwise.
+ * \return Empty string in case of success, error description in case of failure.
+ */
+ string SetShrinked(in ScalarMap thePrs, in boolean isShrinked);
+
+ /*! Get shading state of the given presentation in this view.
+ * \param thePrs Object to get a shading state of.
+ * \return TRUE if \a thePrs is shaded in this view, FALSE overwise.
+ */
+ boolean IsShaded(in ScalarMap thePrs);
+
+ /*! Make the given presentation shaded or not shaded in this view.
+ * \param thePrs Object to set a shading state of.
+ * \param isShaded Pass TRUE to make \a thePrs shaded, FALSE overwise.
+ * \return Empty string in case of success, error description in case of failure.
+ */
+ string SetShaded(in ScalarMap thePrs, in boolean isShaded);
+
+ /*! Get opacity of the given presentation in this view.
+ * \param thePrs Object to get an opacity of.
+ * \return Opacity value in range [0, 1], 0 - transparent, 1 - opaque.
+ */
+ double GetOpacity(in ScalarMap thePrs);
+
+ /*! Set opacity of the given presentation in this view.
+ * \param thePrs Object to set an opacity of.
+ * \param theOpacity Opacity value [0, 1]. 0 - transparent, 1 - opaque.
+ * \return Empty string in case of success, error description in case of failure.
+ */
+ string SetOpacity(in ScalarMap thePrs, in double theOpacity);
+
+ /*! Get line width of the given presentation in this view.
+ * \param thePrs Object to get a line width of.
+ * \return Line width of \a thePrs in this view.
+ */
+ double GetLineWidth(in ScalarMap thePrs);
+
+ /*! Set line width of the given presentation in this view.
+ * \param thePrs Object to set a line width of.
+ * \param theLineWidth Line width value. Recommended values are in range [1, 10].
+ * \return Empty string in case of success, error description in case of failure.
+ */
+ string SetLineWidth(in ScalarMap thePrs, in double theLineWidth);
+ };
+
//-------------------------------------------------------
+ /*! \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