X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=idl%2FSMESH_Mesh.idl;h=5597f5b2bda800c1500d8f45e26f04aab1ac9a4b;hp=46f4a40b749a09092f4c66147db2258c1bf7cd40;hb=2cf6435f1492b63b9adf4e8256d88968638ed9bf;hpb=e330934ca6f8bb1f67b5367bb65a861868998aeb diff --git a/idl/SMESH_Mesh.idl b/idl/SMESH_Mesh.idl index 46f4a40b7..5597f5b2b 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-2021 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 @@ -347,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 */ @@ -516,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 */ @@ -622,10 +642,13 @@ module SMESH * the groups Group_On_All_Nodes, Group_On_All_Faces, ... ; * the typical use is auto_groups=false. * - overwrite : boolean parameter for overwriting/not overwriting the file, if it exists - * - minor : define the minor version of MED file format. + * - 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 minor is equal to -1, the minor version is not changed (default). - * The major version cannot be changed. + * 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 @@ -634,7 +657,7 @@ module SMESH */ void ExportMED( in string fileName, in boolean auto_groups, - in long minor, + in long version, in boolean overwrite, in boolean autoDimension) raises (SALOME::SALOME_Exception); @@ -644,10 +667,13 @@ module SMESH * - meshPart : a part of mesh to store * - 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. + * - 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 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. + * 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. @@ -659,15 +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 fileName, in boolean auto_groups, - in long minor, + in long version, in boolean overwrite, in boolean autoDimension, in GEOM::ListOfFields fields, - in string geomAssocFields ) raises (SALOME::SALOME_Exception); + in string geomAssocFields, + in double ZTolerance) raises (SALOME::SALOME_Exception); /*! * Export Mesh to SAUV formatted file @@ -680,7 +710,13 @@ module SMESH * Return string representation of a MED file version comprising 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) @@ -872,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