Salome HOME
Merge tag 'V8_3_0a2' into ngr/python3_dev
[modules/smesh.git] / src / SMESH / SMESH_Mesh.hxx
index d8ac1f2d576681457d197d07f460aa318a7d3a11..a8ec5dfae4e0fdfc1762cd981c82ddcccc53dea1 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  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
 #include "SMESH_SMESH.hxx"
 
 #include "SMDSAbs_ElementType.hxx"
-#include "SMESHDS_Command.hxx"
-#include "SMESHDS_Mesh.hxx"
 #include "SMESH_ComputeError.hxx"
 #include "SMESH_Controls.hxx"
 #include "SMESH_Hypothesis.hxx"
+#include "SMDS_Iterator.hxx"
 
 #include "Utils_SALOME_Exception.hxx"
 
 #include <TopoDS_Shape.hxx>
 #include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
+#include <TopTools_ListOfShape.hxx>
 
 #include <map>
 #include <list>
-
+#include <vector>
 
 #ifdef WIN32
 #pragma warning(disable:4251) // Warning DLL Interface ...
 #pragma warning(disable:4290) // Warning Exception ...
 #endif
 
-class SMESH_Gen;
+class SMESHDS_Command;
 class SMESHDS_Document;
+class SMESHDS_GroupBase;
+class SMESHDS_Hypothesis;
+class SMESHDS_Mesh;
+class SMESH_Gen;
 class SMESH_Group;
-class TopTools_ListOfShape;
-class SMESH_subMesh;
 class SMESH_HypoFilter;
+class SMESH_subMesh;
 class TopoDS_Solid;
 
 typedef std::list<int> TListOfInt;
@@ -118,7 +121,7 @@ class SMESH_EXPORT SMESH_Mesh
 
   int MEDToMesh(const char* theFileName, const char* theMeshName);
   
-  int STLToMesh(const char* theFileName);
+  std::string STLToMesh(const char* theFileName);
 
   int CGNSToMesh(const char* theFileName, const int theMeshIndex, std::string& theMeshName);
   
@@ -169,8 +172,10 @@ class SMESH_EXPORT SMESH_Mesh
   
   bool MeshExists( int meshId ) const;
   
+  SMESH_Mesh* FindMesh( int meshId ) const;
+
   SMESHDS_Mesh * GetMeshDS() { return _myMeshDS; }
-  
+
   const SMESHDS_Mesh * GetMeshDS() const { return _myMeshDS; }
   
   SMESH_Gen *GetGen()        { return _gen; }
@@ -201,14 +206,14 @@ class SMESH_EXPORT SMESH_Mesh
   bool IsUsedHypothesis(SMESHDS_Hypothesis *  anHyp,
                         const SMESH_subMesh * aSubMesh);
   /*!
-   * \brief check if a hypothesis alowing notconform mesh is present
+   * \brief check if a hypothesis allowing 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
+   *        that lower dimension shapes come first
    */
   const TopTools_ListOfShape& GetAncestors(const TopoDS_Shape& theSubShape) const;
 
@@ -248,7 +253,8 @@ class SMESH_EXPORT SMESH_Mesh
                  int                 theVersion = 0,
                  const SMESHDS_Mesh* theMeshPart = 0,
                  bool                theAutoDimension = false,
-                 bool                theAddODOnVertices = false)
+                 bool                theAddODOnVertices = false,
+                 bool                theAllElemsToGroup = false)
     throw(SALOME_Exception);
 
   void ExportDAT(const char *        file,
@@ -257,9 +263,11 @@ class SMESH_EXPORT SMESH_Mesh
                  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 SMESHDS_Mesh* mesh,
+                  const char *        meshName = 0);
   void ExportGMF(const char *        file,
                  const SMESHDS_Mesh* mesh,
                  bool                withRequiredGroups = true );
@@ -280,7 +288,7 @@ class SMESH_EXPORT SMESH_Mesh
   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() 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);
@@ -341,7 +349,7 @@ class SMESH_EXPORT SMESH_Mesh
   bool IsOrderOK( const SMESH_subMesh* smBefore,
                   const SMESH_subMesh* smAfter ) const;
 
-  ostream& Dump(ostream & save);
+  std::ostream& Dump(ostream & save);
   
 private: