X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=idl%2FSMESH_Mesh.idl;h=46f4a40b749a09092f4c66147db2258c1bf7cd40;hb=e330934ca6f8bb1f67b5367bb65a861868998aeb;hp=593272ab041154ef960366d3ce0ec1811e91858a;hpb=ae32dcd34f98b91cdb4f5800063a394feb0df408;p=modules%2Fsmesh.git diff --git a/idl/SMESH_Mesh.idl b/idl/SMESH_Mesh.idl index 593272ab0..46f4a40b7 100644 --- a/idl/SMESH_Mesh.idl +++ b/idl/SMESH_Mesh.idl @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 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 @@ -66,6 +66,7 @@ module SMESH ADD_QUADEDGE, ADD_QUADTRIANGLE, ADD_QUADQUADRANGLE, + ADD_QUADPOLYGON, ADD_QUADTETRAHEDRON, ADD_QUADPYRAMID, ADD_QUADPENTAHEDRON, @@ -89,18 +90,18 @@ module SMESH struct PointStruct { double x; double y; - double z; } ; + double z; }; typedef sequence nodes_array; - struct DirStruct { PointStruct PS ; } ; // analog to OCCT gp_Vec + struct DirStruct { PointStruct PS; }; // analog to OCCT gp_Vec struct AxisStruct { double x; double y; double z; double vx; double vy; - double vz; } ; + double vz; }; /*! * Node location on a shape */ @@ -132,7 +133,7 @@ module SMESH BALL, NB_ELEMENT_TYPES }; - typedef sequence array_of_ElementType ; + typedef sequence array_of_ElementType; /*! * Enumeration for element geometry type, like SMDSAbs_GeometryType in SMDSAbs_ElementType.hxx @@ -150,7 +151,8 @@ module SMESH Geom_PENTA, Geom_HEXAGONAL_PRISM, Geom_POLYHEDRA, - Geom_BALL + Geom_BALL, + Geom_LAST }; /*! @@ -189,6 +191,7 @@ module SMESH Entity_TriQuad_Hexa, Entity_Penta, Entity_Quad_Penta, + Entity_BiQuad_Penta, Entity_Hexagonal_Prism, Entity_Polyhedra, Entity_Quad_Polyhedra, @@ -203,14 +206,14 @@ module SMESH { HYP_OK, HYP_MISSING, // algo misses a hypothesis - HYP_CONCURENT, // several applicable hypotheses + HYP_CONCURRENT, // several applicable hypotheses HYP_BAD_PARAMETER,// hypothesis has a bad parameter value HYP_HIDDEN_ALGO, // an algo is hidden by an upper dim algo generating all-dim elements HYP_HIDING_ALGO, // an algo hides lower dim algos by generating all-dim elements HYP_UNKNOWN_FATAL,// --- all statuses below should be considered as fatal // for Add/RemoveHypothesis operations HYP_INCOMPATIBLE, // hypothesis does not fit algo - HYP_NOTCONFORM, // not conform mesh is produced appling a hypothesis + HYP_NOTCONFORM, // not conform mesh is produced applying a hypothesis HYP_ALREADY_EXIST,// such hypothesis already exist HYP_BAD_DIM, // bad dimension HYP_BAD_SUBSHAPE, // shape is neither the main one, nor its sub-shape, nor a group @@ -233,15 +236,6 @@ module SMESH DRS_FAIL // general failure (exception etc.) }; - /*! - * Enumeration for ExportToMED*() - */ - enum MED_VERSION - { - MED_V2_1, - MED_V2_2 - }; - /*! * \brief A structure containing information about MED file */ @@ -253,7 +247,15 @@ module SMESH }; /*! - * Auxilary flags for advanced extrusion. + * Enumeration for CreateDimGroup() + */ + enum NB_COMMON_NODES_ENUM + { + ALL_NODES, MAIN, AT_LEAST_ONE, MAJORITY + }; + + /*! + * Auxiliary flags for advanced extrusion. * BOUNDARY: create or not boundary for result of extrusion * SEW: try to use existing nodes or create new nodes in any case */ @@ -313,6 +315,11 @@ module SMESH * happen if mesh data is not yet fully loaded from the file of study. */ boolean IsMeshInfoCorrect(); + + /*! + * Returns mesh unstructed grid information. + */ + SALOMEDS::TMPFile GetVtkUgStream(); }; interface SMESH_Group; @@ -325,7 +332,7 @@ module SMESH typedef sequence submesh_array; typedef sequence submesh_array_array; - interface SMESH_Mesh : SALOME::GenericObj, SMESH_IDSource + interface SMESH_Mesh : SMESH_IDSource { /*! * Return true if there is a geometry to be meshed @@ -334,7 +341,7 @@ module SMESH raises (SALOME::SALOME_Exception); /*! - * Get geom shape to mesh. A result sould not be nil. Use HasShapeToMesh() + * Get geom shape to mesh. A result should not be nil. Use HasShapeToMesh() * to know if a returned shape */ GEOM::GEOM_Object GetShapeToMesh() @@ -374,7 +381,7 @@ module SMESH * Get the subMesh object associated to a Sub-shape. The subMesh object * gives access to nodes and elements IDs. * SubMesh will be used instead of Sub-shape in a next idl version to - * adress a specific subMesh... + * address a specific subMesh... */ SMESH_subMesh GetSubMesh(in GEOM::GEOM_Object aSubObject, in string name) raises (SALOME::SALOME_Exception); @@ -492,14 +499,21 @@ module SMESH raises (SALOME::SALOME_Exception); /*! - * Create groups of entities from existing groups of superior dimensions - * New group is created. System - * 1) extracts all nodes from each group, - * 2) combines all elements of specified dimension laying on these nodes. + * Create a group of entities basing on nodes of other groups. + * \param [in] aListOfGroups - list of either groups, sub-meshes or filters. + * \param [in] anElemType - a type of elements to include to the new group. + * \param [in] name - a name of the new group. + * \param [in] nbCommonNodes - criterion of inclusion of an element to the new group. + * \param [in] underlyingOnly - if \c True, an element is included to the + * new group provided that it is based on nodes of an element of + * \a aListOfGroups + * \return SMESH_Group - the created group */ - SMESH_Group CreateDimGroup( in ListOfGroups aListOfGroups, - in ElementType anElemType, - in string name ) + SMESH_Group CreateDimGroup( in ListOfIDSources aListOfGroups, + in ElementType anElemType, + in string name, + in NB_COMMON_NODES_ENUM nbCommonNodes, + in boolean underlyingOnly ) raises (SALOME::SALOME_Exception); /*! @@ -528,7 +542,7 @@ module SMESH raises (SALOME::SALOME_Exception); /*! - * Remove an hypothesis previouly added with AddHypothesis. + * Remove an hypothesis previously added with AddHypothesis. */ Hypothesis_Status RemoveHypothesis(in GEOM::GEOM_Object aSubObject, in SMESH_Hypothesis anHyp) @@ -575,11 +589,6 @@ module SMESH */ long GetId(); - /*! - * Get the study Id - */ - long GetStudyId(); - /*! * Obtain instance of SMESH_MeshEditor */ @@ -606,33 +615,39 @@ module SMESH boolean HasDuplicatedGroupNamesMED(); /*! - * Export Mesh to a MED Format file + * Export a Mesh to MED file. * @params - * - file : name of the MED file + * - fileName : name of the MED file * - auto_groups : boolean parameter for creating/not creating * the groups Group_On_All_Nodes, Group_On_All_Faces, ... ; * the typical use is auto_groups=false. - * - version : defines the version of format of MED file, that will be created * - overwrite : boolean parameter for overwriting/not overwriting the file, if it exists + * - minor : define the minor version of MED file format. + * The minor must be between 0 and the current minor version of MED file library. + * If minor is equal to -1, the minor version is not changed (default). + * The major version cannot be changed. * - autoDimension : if @c true, a space dimension of a MED mesh can be either * - 1D if all mesh nodes lie on OX coordinate axis, or * - 2D if all mesh nodes lie on XOY coordinate plane, or * - 3D in the rest cases. * If @a autoDimension is @c false, the space dimension is always 3. */ - void ExportToMEDX( in string file, - in boolean auto_groups, - in MED_VERSION version, - in boolean overwrite, - in boolean autoDimension) raises (SALOME::SALOME_Exception); + void ExportMED( in string fileName, + in boolean auto_groups, + in long minor, + in boolean overwrite, + in boolean autoDimension) raises (SALOME::SALOME_Exception); /*! * Export a [part of] Mesh into a MED file * @params * - meshPart : a part of mesh to store - * - file : name of the MED file - * - version : define the version of format of MED file, that will be created + * - fileName : name of the MED file * - overwrite : boolean parameter for overwriting/not overwriting the file, if it exists + * - minor : define the minor version (y, where version is x.y.z) of MED file format. + * The minor must be between 0 and the current minor version of MED file library. + * If minor is equal to -1, the minor version is not changed (default). + * The major version (x, where version is x.y.z) cannot be changed. * - autoDimension : if @c True, a space dimension for export is defined by mesh * configuration; for example a planar mesh lying on XOY plane * will be exported as a mesh in 2D space. @@ -646,42 +661,25 @@ module SMESH * - 's' stands for _solids_ field. */ void ExportPartToMED( in SMESH_IDSource meshPart, - in string file, + in string fileName, in boolean auto_groups, - in MED_VERSION version, + in long minor, in boolean overwrite, in boolean autoDimension, in GEOM::ListOfFields fields, in string geomAssocFields ) raises (SALOME::SALOME_Exception); - /*! - * Export Mesh to a MED Format file - * Works, just the same as ExportToMEDX, with overwrite parameter equal to true. - * The method is kept in order to support old functionality - */ - void ExportToMED( in string file, in boolean auto_groups, in MED_VERSION theVersion ) - raises (SALOME::SALOME_Exception); - - /*! - * Export Mesh to MED_V2_1 MED format - * Works, just the same as ExportToMEDX with MED_VERSION parameter equal to MED_V2_1 - * and overwrite parameter equal to true - * The method is kept in order to support old functionality - */ - void ExportMED( in string file, in boolean auto_groups ) - raises (SALOME::SALOME_Exception); - /*! * Export Mesh to SAUV formatted file * Write a temporary med file and use med2sauv */ void ExportSAUV( in string file, in boolean auto_groups ) raises (SALOME::SALOME_Exception); - + /*! * Return string representation of a MED file version comprising nbDigits */ - string GetVersionString(in MED_VERSION version, in short nbDigits); + string GetVersionString(in long minor, in short nbDigits); /*! * Export Mesh to different Formats @@ -693,7 +691,8 @@ module SMESH in boolean isascii ) raises (SALOME::SALOME_Exception); void ExportCGNS( in SMESH_IDSource meshPart, in string file, - in boolean overwrite ) raises (SALOME::SALOME_Exception); + in boolean overwrite, + in boolean groupElemsByType) raises (SALOME::SALOME_Exception); void ExportGMF( in SMESH_IDSource meshPart, in string file, in boolean withRequiredGroups) raises (SALOME::SALOME_Exception); @@ -710,7 +709,7 @@ module SMESH double GetComputeProgress(); /*! - * Get informations about mesh contents + * Get information about mesh contents */ long NbNodes() raises (SALOME::SALOME_Exception); @@ -757,6 +756,9 @@ module SMESH long NbPolygons() raises (SALOME::SALOME_Exception); + long NbPolygonsOfOrder(in ElementOrder order) + raises (SALOME::SALOME_Exception); + long NbVolumes() raises (SALOME::SALOME_Exception); @@ -950,6 +952,11 @@ module SMESH */ long FindElementByNodes(in long_array nodes); + /*! + * Return elements including all given nodes. + */ + long_array GetElementsByNodes(in long_array nodes, in ElementType elem_type); + /*! * Returns true if given element is polygon */ @@ -992,7 +999,7 @@ module SMESH string_array GetLastParameters(); }; - interface SMESH_subMesh : SALOME::GenericObj, SMESH_IDSource + interface SMESH_subMesh : SMESH_IDSource { /*! * @@ -1019,7 +1026,7 @@ module SMESH raises (SALOME::SALOME_Exception); /*! - * Return type of submesh element + * Returns type of mesh element (same as SMESH_Mesh::GetElementType() ) */ ElementType GetElementType( in long id, in boolean iselem ) raises (SALOME::SALOME_Exception);