// 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 /*! \file VISU_Gen.idl This file conatins a set of interfaces of the %VISU module. * This module provides various forms of data visualization in %SALOME application. * These forms include data tables, XY plots, 3d representations * and combination of these forms. */ #ifndef __VISU_GEN__ #define __VISU_GEN__ #include "SALOME_Exception.idl" #include "SALOME_GenericObj.idl" #include "SALOME_Component.idl" #include "SALOMEDS.idl" #include "SALOMEDS_Attributes.idl" #include "MED.idl" /*! The main package of interfaces of the post-processing module %VISU. */ module VISU { //------------------------------------------------------- typedef string IdType; typedef sequence string_array; typedef sequence double_array; /*! * This enumeration contains a set of elements defining the type * of the scaling, which can be applied on different presentations. */ enum Scaling{ LINEAR, /*!< Linear type of scaling. */ LOGARITHMIC /*!< Logarithmic type of scaling. */ }; /*! * This enumeration contains a set of elements defining * what kind of value will be extracted from gauss points data. */ enum GaussMetric { AVERAGE, /*!< Average value (default). */ MINIMUM, /*!< Minimum value. */ MAXIMUM /*!< Maximum value. */ }; /*! * This enumeration contains a set of elements defining the * type of the %entity (topological units) constituting a mesh. */ enum Entity { NODE, /*!< Node corresponds to a geometrical point. */ EDGE, /*!< Edge corresponds to a geometrical line connecting two points. */ FACE, /*!< Face corresponds to a geometrical plane bounded by several lines. */ CELL, /*!< Cell is a volumic element of a mesh */ NONE /*!< Indicates undefined entity value */ }; /*! * Marker type (used for point rendering) */ enum MarkerType { MT_NONE, MT_POINT, MT_PLUS, MT_STAR, MT_O, MT_X, MT_O_POINT, MT_O_PLUS, MT_O_STAR, MT_O_X, MT_USER, 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. * This enumeration is used for navigation between a set of %VISU interfaces. */ enum VISUType { TNONE, /*!< Not a %VISU object */ TCURVE, /*!< Curve line object for construction of 2D XY plots */ TTABLE, /*!< Table containing numerical data */ TCONTAINER, /*!< Container object used for storing a set of curve lines */ TMESH, /*!< Meshing object */ TSCALARMAP, /*!< Scalarmap 3D presentation object */ TISOSURFACES, /*!< Iso surface 3D presentation object */ TDEFORMEDSHAPE, /*!< Deformed shape 3D presentation object */ TSCALARMAPONDEFORMEDSHAPE, /*!< Scalar map on deformed shape 3D presentation object. It is obsolete. Use TDEFORMEDSHAPEANDSCALARMAP instead */ TDEFORMEDSHAPEANDSCALARMAP, /*!< Deformed shape and scalar map 3D presentation object */ TGAUSSPOINTS, /*!< Gauss Points 3D presentation object */ TPLOT3D, /*!< Plot3D 3D presentation object */ TPOINTMAP3D, /*!< 3D presentation for table object */ TCUTPLANES, /*!< Cut planes 3D presentation object */ TCUTLINES, /*!< Cut lines 3D presentation object */ TCUTSEGMENT, /*!< Cut segment 3D presentation object */ TVECTORS, /*!< Vectors 3D presentation object */ TSTREAMLINES, /*!< Streamlines 3D presentation object */ TVISUGEN, /*!< %VISU generator used for performing operations with different %VISU objects */ TVIEWMANAGER, /*!< View manager used for performing operations with different views */ TRESULT, /*!< The data on which different presentations are based */ TXYPLOT, /*!< 2D XY plot consisting of one or several curve lines */ TTABLEVIEW, /*!< Table view is used for displaying data tables */ TVIEW3D, /*!< 3D view is used for displaying 3D graphical presentations */ TGAUSSVIEW, /*!< 3D view is used for displaying Gauss Points graphical presentations */ TENTITY, /*!< An element composing a mesh: node, edge, face or cell */ TFAMILY, /*!< The whole mesh can be divided into one or several submeshes, called families, which are defined by the user. Each family in its turn is composed of entities of a definite type. */ TGROUP, /*!< A group of families */ TFIELD, /*!< Field represents the results of calculations (it can be scalar or vector values), grouped together under one physical concept. */ TTIMESTAMP, /*!