Salome HOME
Merge remote branch 'origin/master' into V9_3_BR
[modules/smesh.git] / src / SMESH / SMESH_Mesh.hxx
index ee881f1fc6e4e650b5369654313a37a6fdac7d24..e20d578ce387abd36805185c5945bfecf2f99594 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2019  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
@@ -235,6 +235,11 @@ class SMESH_EXPORT SMESH_Mesh
    */
   bool HasModificationsToDiscard() const;
 
+  /*!
+   * \brief Return true if all sub-meshes are computed OK - to update an icon
+   */
+  bool IsComputedOK();
+
   /*!
    * \brief Return data map of descendant to ancestor shapes
    */
@@ -246,12 +251,14 @@ class SMESH_EXPORT SMESH_Mesh
    */
   bool HasDuplicatedGroupNamesMED();
 
-  void ExportMED(const char *        theFile, 
-                 const char*         theMeshName = NULL, 
-                 bool                theAutoGroups = true, 
+  void ExportMED(const char *        theFile,
+                 const char*         theMeshName = NULL,
+                 bool                theAutoGroups = true,
+                 int                 theVersion = -1,
                  const SMESHDS_Mesh* theMeshPart = 0,
                  bool                theAutoDimension = false,
                  bool                theAddODOnVertices = false,
+                 double              theZTolerance = -1.,
                  bool                theAllElemsToGroup = false)
     throw(SALOME_Exception);
 
@@ -265,7 +272,8 @@ class SMESH_EXPORT SMESH_Mesh
                  const SMESHDS_Mesh* meshPart = 0) throw(SALOME_Exception);
   void ExportCGNS(const char *        file,
                   const SMESHDS_Mesh* mesh,
-                  const char *        meshName = 0);
+                  const char *        meshName = 0,
+                  const bool          groupElemsByType = false);
   void ExportGMF(const char *        file,
                  const SMESHDS_Mesh* mesh,
                  bool                withRequiredGroups = true );
@@ -294,6 +302,8 @@ class SMESH_EXPORT SMESH_Mesh
   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);
   
@@ -305,9 +315,9 @@ class SMESH_EXPORT SMESH_Mesh
 
   SMESH_Group* AddGroup (const SMDSAbs_ElementType theType,
                          const char*               theName,
-                         int&                      theId,
-                         const TopoDS_Shape&       theShape=TopoDS_Shape(),
-                         const SMESH_PredicatePtr& thePredicate=SMESH_PredicatePtr());
+                         const int                 theId = -1,
+                         const TopoDS_Shape&       theShape = TopoDS_Shape(),
+                         const SMESH_PredicatePtr& thePredicate = SMESH_PredicatePtr());
 
   SMESH_Group* AddGroup (SMESHDS_GroupBase* groupDS) throw(SALOME_Exception);
 
@@ -316,7 +326,7 @@ class SMESH_EXPORT SMESH_Mesh
   
   std::list<int> GetGroupIds() const;
   
-  SMESH_Group* GetGroup (const int theGroupID);
+  SMESH_Group* GetGroup (const int theGroupID) const;
 
   bool RemoveGroup (const int theGroupID);
 
@@ -325,7 +335,7 @@ class SMESH_EXPORT SMESH_Mesh
   struct TCallUp // callback from SMESH to SMESH_I level
   {
     virtual void RemoveGroup (const int theGroupID)=0;
-    virtual void HypothesisModified ()=0;
+    virtual void HypothesisModified (int theHypID)=0;
     virtual void Load ()=0;
     virtual ~TCallUp() {}
   };