X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=idl%2FSMESH_Mesh.idl;h=9fdde321ff58874b5ff198ccf35681e4679bf41e;hp=74619a175b81847b1015b226d0ee61131f29adac;hb=907c315580012ca7e75c640c88f79e3ff2239276;hpb=51760fb76f57da9ab446585e6f87b101679c58cb diff --git a/idl/SMESH_Mesh.idl b/idl/SMESH_Mesh.idl index 74619a175..9fdde321f 100644 --- a/idl/SMESH_Mesh.idl +++ b/idl/SMESH_Mesh.idl @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2020 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 @@ -206,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 @@ -236,32 +236,6 @@ module SMESH DRS_FAIL // general failure (exception etc.) }; - /*! - * Enumeration for ExportToMED*() - * MED_V2_1 and MED_V2_2 are here for compatibility and mean respectively obsolete and MED_LATEST. - * MED_MINOR_0 to MED_MINOR_9 are use to specify the minor version used by MEDfichier - * to write MED files (major version cannot be changed). - * This allows backward compatibility from a newer version of SALOME to an older one: - * for instance, a MESH produced in SALOME 8.4 (med 3.3) can be written in med 3.2 format - * to be read in SALOME 8.3. - */ - enum MED_VERSION - { - MED_V2_1, - MED_V2_2, - MED_LATEST, - MED_MINOR_0, - MED_MINOR_1, - MED_MINOR_2, - MED_MINOR_3, - MED_MINOR_4, - MED_MINOR_5, - MED_MINOR_6, - MED_MINOR_7, - MED_MINOR_8, - MED_MINOR_9 - }; - /*! * \brief A structure containing information about MED file */ @@ -358,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 @@ -373,6 +347,12 @@ module SMESH GEOM::GEOM_Object GetShapeToMesh() raises (SALOME::SALOME_Exception); + /*! + * Replaces a shape in the mesh + */ + void ReplaceShape(in GEOM::GEOM_Object theNewGeom) + raises (SALOME::SALOME_Exception); + /*! * Return false if the mesh is not yet fully loaded from the study file */ @@ -542,6 +522,20 @@ module SMESH in boolean underlyingOnly ) raises (SALOME::SALOME_Exception); + /*! + * Distribute all faces of the mesh among groups using sharp edges and optionally + * existing 1D elements as group boundaries. + * \param [in] sharpAngle - edge is considered sharp if an angle between normals of + * adjacent faces is more than \a sharpAngle in degrees. + * \param [in] createEdges - to create 1D elements for detected sharp edges. + * \param [in] useExistingEdges - to use existing edges as group boundaries + * \return ListOfGroups - the created groups + */ + ListOfGroups FaceGroupsSeparatedByEdges( in double sharpAngle, + in boolean createEdges, + in boolean useExistingEdges ) + raises (SALOME::SALOME_Exception); + /*! * Convert group on geometry or on filter into standalone group */ @@ -568,7 +562,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) @@ -615,11 +609,6 @@ module SMESH */ long GetId(); - /*! - * Get the study Id - */ - long GetStudyId(); - /*! * Obtain instance of SMESH_MeshEditor */ @@ -646,33 +635,45 @@ 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 + * - version : define the version of MED file format, coded with major and minor digits (release digit not used) + * for instance med 3.2.1 is coded 3*10+2 = 32, med 4.0.0 is coded 4*10+0 = 40. + * The rules of compatibility to write a mesh in an older version than the current version + * depend on the current version. For instance, with med 4.0 it is possible to write/append + * med files in 4.0.0 (default format) or 3.2.1 or 3.3.1 formats. + * The minor must be between 0 and the current minor version of MED file library. + * If version is equal to -1, the version is not changed (default). * - 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 version, + 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 + * - version : define the version of MED file format, coded with major and minor digits (release digit not used) + * for instance med 3.2.1 is coded 3*10+2 = 32, med 4.0.0 is coded 4*10+0 = 40. + * The rules of compatibility to write a mesh in an older version than the current version + * depend on the current version. For instance, with med 4.0 it is possible to write/append + * med files in 4.0.0 (default format) or 3.2.1 or 3.3.1 formats. + * The minor must be between 0 and the current minor version of MED file library. + * If version is equal to -1, the version is not changed (default). * - 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. @@ -684,32 +685,19 @@ module SMESH * - 'e' stands for _edges_ field; * - 'f' stands for _faces_ field; * - 's' stands for _solids_ field. + * - ZTolerance : tolerance in Z direction. If Z coordinate of a node is close to zero + * within a given tolerance, the coordinate is set to zero. + * If @a ZTolerance is negative, the node coordinates are kept as is. */ void ExportPartToMED( in SMESH_IDSource meshPart, - in string file, + in string fileName, in boolean auto_groups, - in MED_VERSION version, + in long version, 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_LATEST MED format - * Works, just the same as ExportToMEDX with MED_VERSION parameter equal to MED_LATEST - * 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); + in string geomAssocFields, + in double ZTolerance) raises (SALOME::SALOME_Exception); /*! * Export Mesh to SAUV formatted file @@ -717,12 +705,18 @@ module SMESH */ 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); + + /*! + * Return the list of med versions compatibles for write/append, + * encoded in 10*major+minor (for instance, code for med 3.2.1 is 32) + */ + long_array GetMEDVersionsCompatibleForAppend(); + /*! * Export Mesh to different Formats * (UNV supported version is I-DEAS 10) @@ -751,7 +745,7 @@ module SMESH double GetComputeProgress(); /*! - * Get informations about mesh contents + * Get information about mesh contents */ long NbNodes() raises (SALOME::SALOME_Exception); @@ -914,7 +908,7 @@ module SMESH * For given node returns list of IDs of inverse elements * If there is not node for given ID - returns empty list */ - long_array GetNodeInverseElements(in long id); + long_array GetNodeInverseElements(in long id, in ElementType elemType); /*! * \brief Return position of a node on shape @@ -1041,7 +1035,7 @@ module SMESH string_array GetLastParameters(); }; - interface SMESH_subMesh : SALOME::GenericObj, SMESH_IDSource + interface SMESH_subMesh : SMESH_IDSource { /*! *