*/
#ifndef __VISU_GEN__
-#define __VISU_GEN__
-
-#include "SALOME_Exception.idl"
-#include "SALOME_Component.idl"
-#include "SALOMEDS.idl"
-#include "SALOMEDS_Attributes.idl"
-#include "MED.idl"
-
-/*!
- The main package of interfaces of the post-processing module %VISU.
-*/
+#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"
+
+/*!
+ The main package of interfaces of the post-processing module %VISU.
+*/
module VISU {
- //-------------------------------------------------------
- typedef string IdType;
-/*!
- 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. */
- };
- enum Entity{ NODE, EDGE, FACE, CELL};
-/*!
- This enumeration contains a set of elements defining the type of the %VISU object.
-*/
- enum VISUType{ TNONE,
- TCURVE, TTABLE, TCONTAINER, TMESH, TSCALARMAP,
- TISOSURFACE, TDEFORMEDSHAPE, TCUTPLANES, TCUTLINES, TVECTORS, TSTREAMLINES,
- TVISUGEN, TVIEWMANAGER, TRESULT,
- TXYPLOT, TTABLEVIEW, TVIEW3D,
- TENTITY, TFAMILY, TGROUP, TFIELD, TTIMESTAMP,
- TALL};
+ //-------------------------------------------------------
+ typedef string IdType;
+/*!
+ This enumeration contains a set of elements defining the type of the scaling, which
+can be applied on different presentations.
+*/
+ enum Scaling{ LINEAR, /*!< Linear type of scaling. */
+ LOGARITHMIC /*!< Logarithmic type of scaling. */
+ };
+/*!
+ This enumeration contains a set of elements defining the type of the %entity (topological units) constituting a mesh.
+*/
+
+ enum Entity{ NODE, /*!< Node corresponds to a geometrical point. */
+ EDGE, /*!< Edge corresponds to a geometrical line connecting two points. */
+ FACE, /*!< Face corresponds to a geometrical plane bounded by several lines. */
+ CELL /*!< Cell is a volumic element of a mesh */
+ };
+/*!
+ This enumeration contains a set of elements defining the type of the %VISU object. This enumeration is used for navigation between a set of %VISU interfaces.
+*/
+ enum VISUType{ TNONE, /*!< Not a %VISU object */
+ TCURVE, /*!< Curve line object for construction of 2D XY plots */
+ TTABLE, /*!< Table containing numerical data */
+ TCONTAINER, /*!< Container object used for storing a set of curve lines */
+ TMESH, /*!< Meshing object */
+ TSCALARMAP, /*!< Scalarmap 3D presentation object */
+ TISOSURFACE, /*!< Iso surface 3D presentation object */
+ TDEFORMEDSHAPE, /*!< Deformed shape 3D presentation object */
+ TCUTPLANES, /*!< Cut planes 3D presentation object */
+ TCUTLINES, /*!< Cut lines 3D presentation object */
+ TVECTORS, /*!< Vectors 3D presentation object */
+ TSTREAMLINES, /*!< Streamlines 3D presentation object */
+ TVISUGEN, /*!< %VISU generator used for performing operations with different %VISU objects */
+ TVIEWMANAGER, /*!< View manager used for performing operations with different views */
+ TRESULT, /*!< The data on which different presentations are based */
+ TXYPLOT, /*!< 2D XY plot consisting of one or several curve lines */
+ TTABLEVIEW, /*!< Table view is used for displaying data tables */
+ TVIEW3D, /*!< 3D view is used for displaying 3D graphical presentations */
+ 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. */
+ TALL
+ };
interface Base {
/*!
Returns ID of the object.
Returns the type of the presentable object
*/
VISUType GetType();
- };
+ };
/*! \brief Presentable object interface
Presentable object interface is the root class of all presentable objects.
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();
/*!
};
/*!
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
+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
+Gets the number of columns of the table.
+\return Long value corresponding to the number of columns of the table
+
*/
long GetNbColumns();
};
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);
/*!
Gets the title of the curve.
+\return String value corresponding to the title of the curve.
*/
string GetTitle();
/*!
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);
/*!
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();
/*!
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 };
+ 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);
/*!
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();
/*!
enum LineType{ VOIDLINE, SOLIDLINE, DASHLINE, DOTLINE, DASHDOTLINE, DASHDOTDOTLINE};
/*!
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);
/*!
Gets the type of representation of curve lines on the graphics.
+\return The type of representation of curve lines on the graphics.
*/
LineType GetLine();
/*!
Gets the width of the curve line.
+\return Long value corresponding to the width of the curve line.
*/
long GetLineWidth();
};
//-------------------------------------------------------
-/*! \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.
+/*! \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);
/*!
Removes a curve from the container.
+\param theCurve The removed curve.
*/
void RemoveCurve(in Curve theCurve);
/*!
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();
/*!
This is a root class for all 3D presentations, which can be displayed in %VISU module.
*/
- interface Prs3d : PrsObject{
-/*! Kills a 3D presentation.
-*/
- void Destroy();
- };
+ interface Prs3d : PrsObject, SALOME::GenericObj{
+ //interface Prs3d : PrsObject{
+ };
/*!
This enumeration contains a set of elements defining the
type of presentation of the mesh.
};
/*! \brief Interface of the mesh.
-This interface manages the presentation parameters 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);
/*!
SALOMEDS::Color GetCellColor();
/*!
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);
/*!
/*!
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);
/*!
*/
SALOMEDS::Color GetLinkColor();
/*!
-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);
/*!
Gets the type of representation of the mesh.
+\return The type of representation of the mesh.
*/
PresentationType GetPresentationType();
};
//-------------------------------------------------------
-/*! \brief Interface of the %Scalar Map presentation
+/*! \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.
-This interface contains presentation parameters of the ScalarMap presentation
*/
interface ScalarMap : Prs3d{
- void SetScalarMode(in long theScaling);
+/*! 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();
+/*!
+Sets the type of scaling of the values reflected by the scalar bar.
+\param theScaling The value of this parameter is taken from the <VAR>Scaling</VAR> enumeration.
+*/
void SetScaling(in Scaling theScaling);
/*!
Gets the type of scaling of the values reflected by this presentation.
*/
Scaling GetScaling();
/*!
-Sets scalar range - min and max boundaries of this presentable object.
-\param theMin Min boundary of this presentable object.
-\param theMax Max boundary of this presentable object.
+Sets scalar range - min and max boundaries of the scalar bar.
+\param theMin Min boundary of the scalar bar.
+\param theMax Max boundary of the scalar bar.
*/
void SetRange(in double theMin, in double theMax);
/*!
- Gets the min boundary of this presentable object.
+ Gets the min boundary of the scalar bar.
*/
double GetMin();
/*!
- Gets the max boundary of this presentable object.
+ Gets the max boundary of the scalar bar.
*/
double GetMax();
-/*! %Orientation of this presentable object. */
+/*! %Orientation of the scalar bar. */
enum Orientation{
- HORIZONTAL, /*!< Horizontal orientation of this presentable object.*/
- VERTICAL /*!< Vertical orientation of this presentable object.*/
+ HORIZONTAL, /*!< Horizontal orientation of the scalar bar.*/
+ VERTICAL /*!< Vertical orientation of the scalar bar.*/
};
/*!
- Sets the type of orientation of this presentable object.
+ Sets the type of orientation of the scalar bar.
+ \param theOrientation This parameter defines the orientation of the scalar bar. It is taken from the <VAR>Orientaton</VAR> enumeration.
*/
- void SetOrientation(in Orientation theOrientation);
+ void SetBarOrientation(in Orientation theOrientation);
/*!
- Gets the type of orientation of this presentable object.
+ Gets the type of orientation of the scalar bar.
*/
- Orientation GetOrientation();
+ Orientation GetBarOrientation();
-/*! \brief Position of this presentable object.
+/*! \brief Position of the scalar bar.
-Sets the position of this presentable object origin on the screen.
+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);
/*!
- Gets horizontal position of this presentable object origin.
+ Gets horizontal position of the scalar bar origin.
*/
double GetPosX();
/*!
- Gets vertical position of this presentable object origin.
+ Gets vertical position of the scalar bar origin.
*/
double GetPosY();
/*! \brief Size of this presentable object.
void SetSize(in double theWidth, in double theHeight);
/*!
Gets the width of this presentable object.
+\return A double value corresponding to the width of this presentable object.
*/
double GetWidth();
/*!
Gets the height of this presentable object.
+\return A double value corresponding to the height of this presentable object.
*/
double GetHeight();
/*!
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);
/*!
-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();
/*!
-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);
/*!
-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();
/*!
-Sets the title of this presentable object. For scalar bar by default - the name of the selected result is used.
+Sets the title of the scalar bar. By default - the name of the selected result is used.
+\param theName String parameter defining the name of the scalar bar.
*/
void SetTitle(in string theName);
/*!
-Gets the title of this presentable object.
+Gets the title of the scalar bar.
*/
string GetTitle();
};
interface DeformedShape : ScalarMap{
/*!
Sets the scale of the presentatable object.
+\param theScale Double value defining the scale of this presentable object.
*/
void SetScale(in double theScale);
/*!
Gets the scale of the presentatable object.
*/
double GetScale();
-
+/*! This boolean method returns True if this deformed shape presentation is colored.
+*/
boolean IsColored();
+/*! Shows this presentation in colored mode.
+\param theColored If this boolean parameter is True this presentable object will be shown in colored mode.
+*/
void ShowColored(in boolean theColored);
-
+/*! Gets the color of this presentable object.
+\return The color of this presentable object.
+*/
SALOMEDS::Color GetColor();
+/*! Sets the color of this presentation.
+\param theColor The color of this presentation. This parameter is taken from the <VAR>Color</VAR> enumeration.
+*/
void SetColor(in SALOMEDS::Color theColor);
};
//-------------------------------------------------------
*/
interface CutPlanes : ScalarMap{
/*!
- This enumeration contains a set of elements defining the orientation in 3D space
+ This enumeration contains a set of elements defining the type of orientation in 3D space
of the cut planes.
*/
- enum Orientation {XY, YZ, ZX};
+ 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 SetOrientationType(in Orientation theNb);
+ 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 equal. If the value is higher or lower than 0.5, the planes will be displaced
+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);
*/
double GetDisplacement();
/*!
-Sets the position of a definite cut plane
+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
+Sets the position of the choosen plane to default value.
+\param thePlaneNumber The number of this cut plane.
*/
void SetDefault(in long thePlaneNumber);
double GetPlanePosition(in long thePlaneNumber);
/*!
-Determines whether the choosen plane has default position
+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);
/*!
Gets the number of cut planes.
*/
long GetNbPlanes();
-/*! Rotation around X-axis.
-Sets rotation angle of the cut plane presentation.
-*/
- void SetRotateX(in double theAngle);
-/*! Rotation around X-axis.
-Gets rotation angle of the cut plane presentation.
-*/
- double GetRotateX();
-/*! Rotation around Y-axis.
-Sets rotation angle of the cut plane presentation.
-*/
- void SetRotateY(in double theAngle);
-/*! Rotation around Y-axis.
-Sets rotation angle of the cut plane presentation.
-*/
- double GetRotateY();
};
//-------------------------------------------------------
-/*! \brief Cut lines interface
+/*! \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.
-Presentation parameters of Cut lines presentation.
*/
interface CutLines : ScalarMap{
- void SetOrientationType(in CutPlanes::Orientation theNb);
- void SetOrientationType2(in CutPlanes::Orientation theNb);
+ /*!
+ 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();
+/*!
+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();
+/*!
+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);
- boolean IsDefaultPosition(in long thePlaneNumber);
+/*!
+Determines whether the choosen cutting plane has default position.
+\param thePlaneNumber The number of this cutting plane.
+\return True if this cutting plane has default position.
+*/
+ boolean IsDefaultPosition(in long thePlaneNumber);
+/*!
+Sets the number of cut lines.
+\param theNb The number of cut lines.
+*/
void SetNbLines(in long theNb);
+/*!
+Gets the number of cut lines.
+*/
long GetNbLines();
-
- void SetRotateX(in double theAngle);
- void SetRotateX2(in double theAngle);
-
- double GetRotateX();
- double GetRotateX2();
-
- void SetRotateY(in double theAngle);
- void SetRotateY2(in double theAngle);
-
- double GetRotateY();
- double GetRotateY2();
};
/*! \brief Interface of the stream lines representation
+
This interface contains presentation parameters of
stream lines presentations.
+<BR>Stream lines is a type of presentation transforming into lines the cells with vectors having most similar direction.
+A stream line can be thought of as the path that a massless particle takes in a vector field. Streamlines are used to convey the structure of a vector field.
+Usually streamlines are created to explore the most interesting features in the field.
*/
interface StreamLines : DeformedShape{
+/*! This enumerations contains a set of elements necessary
+for definition of direction of the stream lines.
+
+*/
enum Direction{ FORWARD,
BACKWARD,
BOTH
};
-
- void SetDirection(in Direction theDirection);
- Direction GetDirection();
-
- void SetStepLength(in double theStep);
- double GetStepLength();
-
- void SetPropagationTime(in double theTime);
- double GetPropagationTime();
-
- void SetIntegrationStep(in double theStep);
+/*! 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();
-
- void SetSource(in Prs3d thePrs3d);
+/*! 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();
-
- void SetUsedPoints(in double thePercents);
+/*! 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
+/*! \brief Interface of the isometric surface presentation
This interface contains presentation parameters of
isometric surface presentations.
+<BR>Iso surfaces presentation combines all equal scalar values on the cells and on the basis of them constructs
+isobaric surfaces, which form this presentation.
*/
interface IsoSurfaces : ScalarMap{
/*!
Sets the number of isometric surfaces.
+\param theNb A long value defining the number of isometric surfaces which will be used for construction of this presentation.
*/
void SetNbSurfaces(in long theNb);
/*!
//-------------------------------------------------------
/*! \brief Interface of the vector presentation.
-This interface contains presentation parameters of the vector.
+This interface contains presentation parameters of vector presentations.
*/
interface Vectors : DeformedShape{
/*!
-Sets the width of the line of the vector.
+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);
/*!
-Gets the width of the line of the vector.
+Gets the width of the lines of the vectors.
*/
double GetLineWidth();
/*!
};
/*!
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);
/*!
};
/*!
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);
/*!
GlyphPos GetGlyphPos();
};
//-------------------------------------------------------
+/*! \brief %Animation class
+
+This class provides a set of methods used for:<br>
+<ul>
+ <li> generating different animations on the basis of a field,
+ <li> setting the parameters of the animations,
+ <li> playing these animations in the %VISU module.
+</ul>
+\note
+<BR><B>Field</B> represents the results of calculations (it can be scalar or vector values), grouped together under one physical concept.
+<BR><B>Time stamp</B> represents a subfield: the results of calculations are taken in one definite moment.
+*/
+
interface Animation : Base{
+/*! Defines the field which will be used as a base for generation of the animation.
+\param theObject The %SObject corresponding to the field.
+*/
void addField(in SALOMEDS::SObject theObject);
-
+/*! Generates presentations on the basis of the field.
+\param theFieldNum The number of the field, which will be used as the basis for construction of the presentation.
+*/
void generatePresentations(in long theFieldNum);
+/*! Generates a set of frames from the created by the method <VAR>generatePresentations</VAR>3D presentations. A sequence of these frames will be
+transformed into an animation.
+\return True, if the frames have been successfully generated.
+*/
boolean generateFrames();
+/*! Clears the view before starting an animation.
+*/
void clearView();
+/*! \name Playback of an animation:
+*/
+/*@{*/
+
+/*! Starts an animation.
+*/
void startAnimation();
+/*! Stops an animation.
+*/
void stopAnimation();
+/*! Forwards to the next frame.
+*/
void nextFrame();
+/*! Returns to the previous frame.
+*/
void prevFrame();
+/*! Returns to the first frame of the animation.
+*/
void firstFrame();
+/*! Forwards to the last frame of the animation.
+*/
void lastFrame();
+/*! Passes to a definite frame of the animation.
+\param theFrame A long value defining the number of the frame.
+*/
void gotoFrame(in long theFrame);
+/*@}*/
+/*! Gets the number of time stamps (subfields) contained in the given field.
+*/
long getNbFields();
+/*! Gets the number of generated frames
+*/
long getNbFrames();
+/*! Returns True, if the animation is currently running.
+*/
boolean isRunning();
+/*! Returns the number of the current frame.
+*/
long getCurrentFrame();
-
+/*!
+*/
ScalarMap getPresentation(in long theField, in long theFrame);
-
+/*! Sets the type of presentation (vectors, deformed shape etc.) which will be generated by the method <VAR>generatePresentations</VAR>.
+*/
void setPresentationType(in long theFieldNum, in VISUType theType);
+/*! Gets the type of presentation (vectors, deformed shape etc.) which will
+be generated by the method <VAR>generatePresentations</VAR>.
+*/
VISUType getPresentationType(in long theFieldNum);
+/*! Sets the speed of the animation.
+\param theSpeed The speed of the animation. The value varies from 1 to 99.
+*/
void setSpeed(in long theSpeed);
+/*! Gets the speed of the animation.
+*/
long getSpeed();
-
+/*! Ruturns True, if playback of the animation is proportional.
+This option allows to render your animation with proportional periods of time between every frame (not depending on the time stamps).
+*/
boolean isProportional();
+/*! Sets the range of the animation. The range is defined on the basis of
+the time stamps of the field which have been used for generation of the animation. This method allows to bound the range of generated frames.
+If this method is not used, the animation will be generated on the basis of all time stamps contained in the field.
+/param theMin The value of the first time stamp which will be used for generation of the animation.
+/param theMax The value of the last time stamp which will be used for generation of the animation.
+*/
void setAnimationRange(in double theMin, in double theMax);
+/*! Gets the number of the first time stamp which will be used for generation of the animation.
+*/
double getMinRange();
+/*! Gets the number of the last time stamp which will be used for generation of the animation.
+*/
double getMaxRange();
+/*! Returns True if the range of the animation has been defined by the method <VAR>setAnimationRange</VAR>. Otherwise
+the animation will be generated on the basis of all time stamps contained in the field.
+*/
boolean isRangeDefined();
-
+/*! Saves all the frames composing the animation into a definite directory.
+\param thePath The directory where all the frames will be saved.
+*/
void dumpTo(in string thePath);
+/*! 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);
};
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 Result : Base, SALOME::GenericObj{
+ //interface Result : Base{
+/*! Reads all data from the corresponding sources. By default the data is loaded on demand.
+*/
boolean BuildAll();
};
//-------------------------------------------------------
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 %ViewManager which is used for creation of
+ Gets the %View Manager which is used for creation of
post-processing presentations.
*/
ViewManager GetViewManager();
*/
SALOMEDS::SObject ImportTables(in string theFileName);
/*!
-Imports data from a file.
+Export table to a file
+*/
+ boolean ExportTableToFile(in SALOMEDS::SObject theTable, in string theFileName);
+
+/*!
+Imports data from a file. The access to this file will be conserved outside of the application.
+\param theFileName String parameter defining the name of the file from which the data will
+be imported.
*/
Result ImportFile(in string theFileName);
/*!
+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);
*/
Result ImportMedField(in SALOME_MED::FIELD theField);
/*!
-Creates a %Mesh on the basis of the data generated in other sources (MED object or file).
+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);
+/*!
+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 scalar bar 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 theEntity Type of entity where the field is defined
\param theFieldName Group of data attributed to the %MESH. The data can be scalar or vector.
\param theIteration Number of iteration on the field
-*/
+*/
StreamLines StreamLinesOnField(in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration);
/*!
/*!
Creates a table presentation.
+\param theTableEntry The entry of the table which will be displayed.
+
*/
Table CreateTable(in string theTableEntry);
/*!
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);
};
/*! \brief %View interface
interface View: Base{
/*!
Sets the title of the %View frame.
+\param theTitle String parameter defining the title of the %View frame.
*/
void SetTitle(in string theTitle);
/*!
string GetTitle();
/*!
Sets background color of the %View frame.
+\param theColor Background color defined in <VAR>SALOMEDS::Color</VAR> enumeration.
*/
void SetBackground(in SALOMEDS::Color theColor);
/*!
void DisplayAll();
/*!
Removes a definite presentation (presentable object) from the %view.
+\param thePrsObj The presentation (presentable object) which should be deleted.
*/
void Erase(in PrsObject thePrsObj);
/*!
Displays a definite presentation (presentable object) in the %view.
+\param thePrsObj The presentation (presentable object) which should be displayed.
*/
void Display(in PrsObject thePrsObj);
/*!
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);
/*!
/*!
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);
};
*/
void RemoveScale();
/*!
-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);
-/*!
-Returns True if the view parameters have been found and applied to the view,
+/*! 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);
};
//-------------------------------------------------------
-/*! \brief Interface of the XY plot 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.
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);
- CurveType GetCurveType();
+/*! 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();
};
View GetCurrentView();
/*! \brief Creation of a 3d %View.
- Returns an object reference to the newly created 3d %View.
+ Returns an object reference to the newly created 3D %View.
*/
View3D Create3DView();
+/*! \brief Creation of a Table %View.
+
+ Returns an object reference to the newly created Table %View.
+*/
TableView CreateTableView(in Table theTable);
+/*! \brief Creation of a 2D plot %View.
+
+ Returns an object reference to the newly created 2D plot %View.
+*/
+
XYPlot CreateXYPlot();
+/*! Deletes a definite view.
+\param theView The view which should be deleted.
+*/
void Destroy(in View theView);
+/*! Runs a cycle of events in GUI (desktop).
+\note This method is one-way.
+*/
void ProcessEvents();
};
};