+ SMESH_subMesh *GetSubMesh(const TopoDS_Shape & aSubShape)
+ throw(SALOME_Exception);
+
+ SMESH_subMesh *GetSubMeshContaining(const TopoDS_Shape & aSubShape) const
+ throw(SALOME_Exception);
+
+ SMESH_subMesh *GetSubMeshContaining(const int aShapeID) const
+ throw(SALOME_Exception);
+ /*!
+ * \brief Return submeshes of groups containing the given subshape
+ */
+ std::list<SMESH_subMesh*> GetGroupSubMeshesContaining(const TopoDS_Shape & shape) const
+ throw(SALOME_Exception);
+ /*!
+ * \brief Say all submeshes that theChangedHyp has been modified
+ */
+ void NotifySubMeshesHypothesisModification(const SMESH_Hypothesis* theChangedHyp);
+
+ const std::list < SMESH_subMesh * >&
+ GetSubMeshUsingHypothesis(SMESHDS_Hypothesis * anHyp) throw(SALOME_Exception);
+ /*!
+ * \brief Return True if anHyp is used to mesh aSubShape
+ */
+ bool IsUsedHypothesis(SMESHDS_Hypothesis * anHyp,
+ const SMESH_subMesh * aSubMesh);
+ /*!
+ * \brief check if a hypothesis alowing notconform mesh is present
+ */
+ bool IsNotConformAllowed() const;
+
+ bool IsMainShape(const TopoDS_Shape& theShape) const;
+ /*!
+ * \brief Return list of ancestors of theSubShape in the order
+ * that lower dimention shapes come first
+ */
+ const TopTools_ListOfShape& GetAncestors(const TopoDS_Shape& theSubShape) const;
+
+ void SetAutoColor(bool theAutoColor) throw(SALOME_Exception);
+
+ bool GetAutoColor() throw(SALOME_Exception);
+
+ /*!
+ * \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 *file,
+ const char* theMeshName = NULL,
+ bool theAutoGroups = true,
+ int theVersion = 0)
+ throw(SALOME_Exception);
+
+ void ExportDAT(const char *file) throw(SALOME_Exception);
+ void ExportUNV(const char *file) throw(SALOME_Exception);
+ void ExportSTL(const char *file, const bool isascii) throw(SALOME_Exception);
+
+ int NbNodes() const throw(SALOME_Exception);
+
+ int Nb0DElements() 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);