-// 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
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
*/
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
*/
* 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
*/
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);
* - 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.
* - '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
* 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)
* 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