+ /*!
+ * \brief Set the flag meaning that the mesh has been edited "manually".
+ * It is to set to false after Clear() and to set to true by MeshEditor
+ */
+ void SetIsModified(bool isModified);
+
+ bool GetIsModified() const { return _isModified; }
+
+ /*!
+ * \brief Return true if the mesh has been edited since a total re-compute
+ * and those modifications may prevent successful partial re-compute.
+ * As a side effect reset _isModified flag if mesh is empty
+ */
+ bool HasModificationsToDiscard() const;
+
+ /*!
+ * \brief Return data map of descendant to ancestor shapes
+ */
+ typedef TopTools_IndexedDataMapOfShapeListOfShape TAncestorMap;
+ const TAncestorMap& GetAncestorMap() const { return _mapAncestors; }
+ /*!
+ * \brief Check group names for duplications.
+ * Consider maximum group name length stored in MED file
+ */
+ bool HasDuplicatedGroupNamesMED();
+
+ void ExportMED(const char * theFile,
+ const char* theMeshName = NULL,
+ bool theAutoGroups = true,
+ int theVersion = 0,
+ const SMESHDS_Mesh* theMeshPart = 0,
+ bool theAutoDimension = false,
+ bool theAddODOnVertices = false,
+ bool theAllElemsToGroup = false)
+ throw(SALOME_Exception);
+
+ void ExportDAT(const char * file,
+ const SMESHDS_Mesh* meshPart = 0) throw(SALOME_Exception);
+ void ExportUNV(const char * file,
+ const SMESHDS_Mesh* meshPart = 0) throw(SALOME_Exception);
+ void ExportSTL(const char * file,
+ const bool isascii,
+ const char * name = 0,
+ const SMESHDS_Mesh* meshPart = 0) throw(SALOME_Exception);
+ void ExportCGNS(const char * file,
+ const SMESHDS_Mesh* mesh,
+ const char * meshName = 0,
+ const bool groupElemsByType = false);
+ void ExportGMF(const char * file,
+ const SMESHDS_Mesh* mesh,
+ bool withRequiredGroups = true );
+ void ExportSAUV(const char *file,
+ const char* theMeshName = NULL,
+ bool theAutoGroups = true) throw(SALOME_Exception);
+
+ double GetComputeProgress() const;
+
+ int NbNodes() const throw(SALOME_Exception);
+ int Nb0DElements() const throw(SALOME_Exception);
+ int NbBalls() const throw(SALOME_Exception);
+
+ int NbEdges(SMDSAbs_ElementOrder order = ORDER_ANY) const throw(SALOME_Exception);
+
+ int NbFaces(SMDSAbs_ElementOrder order = ORDER_ANY) const throw(SALOME_Exception);
+ int NbTriangles(SMDSAbs_ElementOrder order = ORDER_ANY) const throw(SALOME_Exception);
+ int NbQuadrangles(SMDSAbs_ElementOrder order = ORDER_ANY) const throw(SALOME_Exception);
+ int NbBiQuadQuadrangles() const throw(SALOME_Exception);
+ int NbBiQuadTriangles() const throw(SALOME_Exception);
+ int NbPolygons(SMDSAbs_ElementOrder order = ORDER_ANY) const throw(SALOME_Exception);
+
+ int NbVolumes(SMDSAbs_ElementOrder order = ORDER_ANY) const throw(SALOME_Exception);
+ int NbTetras(SMDSAbs_ElementOrder order = ORDER_ANY) const throw(SALOME_Exception);
+ int NbHexas(SMDSAbs_ElementOrder order = ORDER_ANY) const throw(SALOME_Exception);
+ int NbTriQuadraticHexas() const throw(SALOME_Exception);
+ int NbPyramids(SMDSAbs_ElementOrder order = ORDER_ANY) const throw(SALOME_Exception);
+ int NbPrisms(SMDSAbs_ElementOrder order = ORDER_ANY) const throw(SALOME_Exception);
+ int NbQuadPrisms() const throw(SALOME_Exception);
+ int NbBiQuadPrisms() const throw(SALOME_Exception);
+ int NbHexagonalPrisms() const throw(SALOME_Exception);
+ int NbPolyhedrons() const throw(SALOME_Exception);
+
+ int NbSubMesh() const throw(SALOME_Exception);