-// Copyright (C) 2003 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2012 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
//-------------------------------------------------------
typedef string IdType;
+ 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. */
- };
+ 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 */
- };
+ 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,
+ MT_POINT_SPRITE /*!< VISU specific */
+ };
+
+ /*!
+ * 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.
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 */
+ TISOSURFACES, /*!< Iso surface 3D presentation object */
TDEFORMEDSHAPE, /*!< Deformed shape 3D presentation object */
- TSCALARMAPONDEFORMEDSHAPE, /*!< Scalar map on 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 */
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.
interface PrsObject : RemovableObject {
};
- //-------------------------------------------------------
- /*! \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();
- };
-
//-------------------------------------------------------
/*! \brief Interface of curve representation.
*
* which the curve is constructed on the graphics.
*/
enum MarkerType { NONE,
- CIRCLE,
- RECTANGLE,
- DIAMOND,
- DTRIANGLE,
- UTRIANGLE,
- LTRIANGLE,
- RTRIANGLE,
- CROSS,
- XCROSS
+ CIRCLE,
+ RECTANGLE,
+ DIAMOND,
+ DTRIANGLE,
+ UTRIANGLE,
+ LTRIANGLE,
+ RTRIANGLE,
+ CROSS,
+ XCROSS
};
/*!
* \return Long value corresponding to the width of the curve line.
*/
long GetLineWidth();
+
+ /*! Sets scaling coefficient of the curve.
+ * \param coef Double value defining the scale.
+ */
+ void SetScale(in double theCoef);
+
+ /*! Gets the scale coefficient of the curve lines.
+ */
+ double GetScale();
+
+ /*! Sets scaling coefficient of the curve to 1.0.
+ */
+ void RemoveScale();
+
+ /*!
+ * Switches on/off displaying of the deviation labels
+ * on the curve.
+ * \param flag is used to switch on/off the deviation
+ * labels on the curve.
+ */
+ void ShowDeviation(in boolean flag);
};
//-------------------------------------------------------
};
//-------------------------------------------------------
+ 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 {
- //interface Prs3d : PrsObject{
+ 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();
};
/*!
* type of presentation of the mesh.
*/
enum PresentationType{ POINT,
- WIREFRAME,
- SHADED,
- INSIDEFRAME,
- SURFACEFRAME,
- SHRINK
+ WIREFRAME,
+ SHADED,
+ INSIDEFRAME,
+ SURFACEFRAME,
+ FEATURE_EDGES,
+ SHRINK
+ };
+
+ /*!
+ * 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.
* \return The type of representation of the mesh.
*/
PresentationType GetPresentationType();
+
+
+ /*!
+ * 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();
};
* bar is displayed along with each colored field presentation and serves for
* consulting the correspondance between colors and data values.
*/
- interface ColoredPrs3d : Prs3d {
- /*! Sets the method of coloring of the elements composing a 3D presentation.
- */
- void SetScalarMode(in long theScalarMode);
-
- /*! Gets the method of coloring of the elements composing a 3D presentation.
+ 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.
*/
- long GetScalarMode();
+ void SetRange(in double theMin, in double theMax);
/*!
* Gets the min boundary of the scalar bar.
*/
double GetMax();
+ /*!
+ * 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.
* will be used for visualization of this presentable object.
*/
long GetNbColors();
-
/*!
* Sets the number of labels which will be used for indication of color gradation
* of the scalar bar.
*/
long GetLabels();
+ /*! %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.
* Gets the title of the scalar bar.
*/
string GetTitle();
+
+ /*! 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();
+ };
+
+
+ //-------------------------------------------------------
+ interface View3D;
+ interface ColoredPrs3dCache;
+
+
+ //-------------------------------------------------------
+ /*! \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);
};
* bar is displayed along with each colored field presentation and serves for
* consulting the correspondance between colors and data values.
*/
- interface ScalarMap : ColoredPrs3d {
+
+ 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.
* Gets the type of scaling of the values reflected by this presentation.
*/
Scaling GetScaling();
+ };
+
+ interface ScalarMap : ColoredPrs3d, ScaledPrs3d {
/*!
- * 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.
+ * Returns visibility state of scalar bar
*/
- void SetRange(in double theMin, in double theMax);
+ boolean IsBarVisible();
- /*! %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 visibility state of scalar bar
+ */
+ void SetBarVisible(in boolean theVisible);
/*!
- * 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.
+ * Sets the gauss metric for the presentation.
+ * \param theGaussMetric The value of this parameter is taken from the <VAR>GaussMetric</VAR> enumeration.
*/
- void SetBarOrientation(in Orientation theOrientation);
+ void SetGaussMetric(in GaussMetric theGaussMetric);
/*!
- * Gets the type of orientation of the scalar bar (to provide backward compatibility).
+ * Gets the gauss metric of the presentation.
*/
- Orientation GetBarOrientation();
+ 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();
};
//-------------------------------------------------------
* Presentation parameters of the Gauss Points presentation.
*/
//-------------------------------------------------------
- interface GaussPoints : ColoredPrs3d {
- };
+ 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();
- /*! \brief Deformed shape presentation interface
- *
- * Presentation parameters of the deformed shape presentation.
- */
- interface DeformedShape : ScalarMap {
/*!
- * Sets the scale of the presentatable object.
- * \param theScale Double value defining the scale of this presentable object.
+ * Returns visibility state of scalar bar
*/
- void SetScale(in double theScale);
+ boolean IsBarVisible();
/*!
- * Gets the scale of the presentatable object.
+ * Sets visibility state of scalar bar
*/
- double GetScale();
+ 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.
*/
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);
+
+ /*!
+ * Gets the scale of the presentatable object.
+ */
+ double GetScale();
+
+ };
+
//-------------------------------------------------------
- /*! \brief Scalar Map on Deformed shape presentation interface
+ /*! \brief Deformation interface
*
- * Presentation parameters of the scalar map on deformed shape presentation.
+ * This is base interface for building of the deformed presentations
*/
- interface ScalarMapOnDeformedShape : ScalarMap {
-
+ interface Deformation{
/*!
- * Sets the source ranges of pipeline
+ * Sets the scale of the presentatable object.
+ * \param theScale Double value defining the scale of this presentable object.
*/
- void SetSourceRange(in double theMinRange,in double theMaxRange);
+ void SetScale(in double theScale);
+
+ /*!
+ * 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{
+
/*!
- * Gets the minimum source range of pipeline
+ * Sets the deformation flag of the presentatable object.
+ * \param theFlag Boolean value defining the deformation flag of this presentable object.
*/
- double GetSourceRangeMin();
+ void UseDeformation(in boolean theFlag);
+
/*!
- * Gets the maximum source range of pipeline
+ * Gets the deformation flag of the presentatable object.
*/
- double GetSourceRangeMax();
-
+ 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.
/*!
* Sets the scalar field
- * \param theMeshName - mesh name
- * \param theFieldName - the name of scalar field
- * \param theIteration - the iteration number for scalar field
* \param theEntity - entity of scalar field
+ * \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
*/
- void SetScalarField(in string theMeshName,in string theFieldName,
- in long theIteration,in Entity theEntity);
+ string GetScalarFieldName();
+ /*!
+ * Get timestamp number for the scalar field
+ */
+ long GetScalarTimeStampNumber();
};
+
+
//-------------------------------------------------------
/*!
* \brief Plot3D interface
* consists of deforming initial planar mesh according to values assigned to the mesh elements.
* If mesh not planar but volumic one, it is possible to generate intermediate planar mesh.
*/
- interface Plot3D : ScalarMap {
+ 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. */
+ 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 theIsRelative Define, whether the input position is relative.
*/
void SetPlanePosition (in double thePlanePosition,
- in boolean theIsRelative);
+ in boolean theIsRelative);
/*!
* Gets the position of the cutting plane
* 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 scale factor for scalar values
- * (how much corresponding mesh elements should be translated).
- * \param theScaleFactor The scaling factor.
+ * Sets the title of the table.
+ * \param theTitle String parameter defining the title of this table.
*/
- void SetScaleFactor (in double theScaleFactor);
+ void SetTitle(in string theTitle);
/*!
- * Gets the scale factor for scalar values.
- * (how much corresponding mesh elements is translated)
+ * 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.
*/
- double GetScaleFactor();
+ enum Orientation {
+ HORIZONTAL, /*!< Horizontal orientation of the table. */
+ VERTIACAL /*!< Vertical orientation of the table. */
+ };
/*!
- * Sets presentation type: contour or surface.
- * \param theIsContourPrs Define, whether presentation type is contour.
+ * 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 SetContourPrs (in boolean theIsContourPrs );
+ void SetOrientation(in Orientation theOrientation);
/*!
- * Returns true if presentation type is contour.
+ * 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.
*/
- boolean GetIsContourPrs();
+ Orientation GetOrientation();
/*!
- * Sets the number of contours.
- * \param theNb The number of contours.
+ * Gets the number of rows of the table.
+ * \return Long value corresponding to the number of rows of the table
*/
- void SetNbOfContours (in long theNb);
+ long GetNbRows();
/*!
- * Gets the number of contours.
+ * Gets the number of columns of the table.
+ * \return Long value corresponding to the number of columns of the table
*/
- long GetNbOfContours();
+ 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 {
};
//-------------------------------------------------------
* 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 {
+ 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. */
+ 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.
long GetNbPlanes();
};
+ //-------------------------------------------------------
+ /*! \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.
*
* operation is a regular array of lines in space, belonging to the same plane
* and having the same orientation. They are located inside or on the mesh.
*/
- interface CutLines : ScalarMap {
+ 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.
* \return True if this cutting plane has default position.
*/
boolean IsDefaultPosition(in long thePlaneNumber);
+ };
+ //-------------------------------------------------------
+ /*! \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 the number of cut lines.
- * \param theNb The number of cut lines.
+ * 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 SetNbLines(in long theNb);
+ void SetPoint1(in double theX, in double theY, in double theZ);
/*!
- * Gets the number of cut lines.
+ * 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
*/
- long GetNbLines();
+ 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
* 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 {
+ interface StreamLines : MonoColorPrs {
/*! This enumerations contains a set of elements necessary
* for definition of direction of the stream lines.
*/
enum Direction{ FORWARD,
- BACKWARD,
- BOTH
+ BACKWARD,
+ BOTH
};
/*! Sets the parameters of the stream lines presentation.
* \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);
+ 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.
*/
* values on the cells and on the basis of them constructs
* isobaric surfaces, which form this presentation.
*/
- interface IsoSurfaces : ScalarMap {
+ interface IsoSurfaces : MonoColorPrs {
/*!
* Sets the number of isometric surfaces.
* \param theNb A long value defining the number of isometric surfaces
* Gets the number of isometric surfaces
*/
long GetNbSurfaces();
+
+ /*!
+ * 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();
+
};
//-------------------------------------------------------
* <BR><B>Time stamp</B> represents a subfield: the results
* of calculations are taken in one definite moment.
*/
- interface Animation : Base {
+ 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.
*/
- void addField(in SALOMEDS::SObject theObject);
+ 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
/*! 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>.
+ * 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);
*/
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.
*/
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();
*/
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);
+ };
+
+
+ //-------------------------------------------------------
+ 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 {
+ interface Result : RemovableObject, SALOME::GenericObj
+ {
/*! Reads all data from the corresponding sources. By default the data is loaded on demand.
*/
boolean BuildAll();
/*! 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);
};
//-------------------------------------------------------
interface ViewManager;
- interface View3D;
/*! \brief %VISU_Gen interface
*
* post-processing presentations from given %Result and %Table object reference,
* using the views provided by %ViewManager.
*/
- interface VISU_Gen : Engines::Component, SALOMEDS::Driver, Base {
+ interface VISU_Gen : Engines::EngineComponent, SALOMEDS::Driver, Base
+ {
/*! Sets a definite study to be current.
*/
void SetCurrentStudy(in SALOMEDS::Study theStudy);
ViewManager GetViewManager();
/*!
- * Imports tables from a file and create TableAttribute in Sudy
+ * Imports tables from a file and create TableAttribute in Study
*/
- SALOMEDS::SObject ImportTables(in string theFileName);
+ SALOMEDS::SObject ImportTables(in string theFileName,
+ in boolean theFirstStrAsTitle);
/*!
* Export table to a file
* \param theNewName Name to be given to the study object.
*/
void RenameEntityInStudy(in Result theResult,
- in string theMeshName,
- in Entity theEntity,
- in string theNewName);
+ 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);
+ 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);
+ 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 theEntity Type of entity where the field is defined.
*/
Mesh FamilyMeshOnEntity(in Result theResult, in string theMeshName,
- in Entity theEntity, in string theFamilyName);
+ in Entity theEntity, in string theFamilyName);
/*!
* Creates a mesh on the basis of a group of families.
* \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
+ * \param theTimeStampNumber Number of iteration on the field
*/
ScalarMap ScalarMapOnField(in Result theResult, in string theMeshName,
- in Entity theEntity, in string theFieldName,
- in double theIteration);
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
/*!
* Creates a Gauss Points presentation.
* \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
+ * \param theTimeStampNumber Number of iteration on the field
*/
GaussPoints GaussPointsOnField(in Result theResult, in string theMeshName,
- in Entity theEntity, in string theFieldName,
- in double theIteration);
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
/*!
* Creates a deformed shape presentation.
* \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
+ * \param theTimeStampNumber Number of iteration on the field
*/
DeformedShape DeformedShapeOnField(in Result theResult, in string theMeshName,
- in Entity theEntity, in string theFieldName,
- in double theIteration);
+ 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 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
+ * \param theTimeStampNumber Number of iteration on the field
*/
- ScalarMapOnDeformedShape ScalarMapOnDeformedShapeOnField(in Result theResult, in string theMeshName,
- in Entity theEntity, in string theFieldName,
- in double theIteration);
+ DeformedShapeAndScalarMap DeformedShapeAndScalarMapOnField(in Result theResult, in string theMeshName,
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
/*!
* Creates a vector presentation.
* \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
+ * \param theTimeStampNumber Number of iteration on the field
*/
Vectors VectorsOnField(in Result theResult, in string theMeshName,
- in Entity theEntity, in string theFieldName,
- in double theIteration);
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
/*!
* Creates an iso surface presentation.
* \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
+ * \param theTimeStampNumber Number of iteration on the field
*/
IsoSurfaces IsoSurfacesOnField(in Result theResult, in string theMeshName,
- in Entity theEntity, in string theFieldName,
- in double theIteration);
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
/*!
* Creates an stream lines presentation.
* \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
+ * \param theTimeStampNumber Number of iteration on the field
*/
StreamLines StreamLinesOnField(in Result theResult, in string theMeshName,
- in Entity theEntity, in string theFieldName,
- in double theIteration);
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
/*!
* Creates a presentation of cut planes.
* \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
+ * \param theTimeStampNumber Number of iteration on the field
*/
CutPlanes CutPlanesOnField(in Result theResult, in string theMeshName,
- in Entity theEntity, in string theFieldName,
- in double theIteration);
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
/*!
* Creates a presentation of cut lines.
* \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
+ * \param theTimeStampNumber Number of iteration on the field
*/
CutLines CutLinesOnField(in Result theResult, in string theMeshName,
- in Entity theEntity, in string theFieldName,
- in double theIteration);
+ 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 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
+ * \param theTimeStampNumber Number of iteration on the field
*/
Plot3D Plot3DOnField(in Result theResult, in string theMeshName,
- in Entity theEntity, in string theFieldName,
- in double theIteration);
+ in Entity theEntity, in string theFieldName,
+ in long theTimeStampNumber);
/*!
* Creates a table presentation.
/*!
* 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.
+ * \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);
+ /*!
+ * 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.
*/
*/
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);
};
/*! \brief %View interface
* the following types: 3d, Table, XY plot.
* %View interface is a base for all types of %view interfaces.
*/
- interface View: Base {
-
+ interface View: Base, SALOME::GenericObj
+ {
/*! \brief %ViewRepresentation enumeration
*
* displaying part ("ALL" isn't setable)
*/
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.
/*! 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);
+ in double yMin, in double yMax);
void GetFitRanges(out double xMin,out double xMax,
- out double yMin,out double yMax);
+ out double yMin,out double yMax);
};
//-------------------------------------------------------
*/
void Destroy(in View theView);
};
+
+
};
#endif