Salome HOME
IPAL53870: Dump study script creates an excess sub-mesh
[modules/smesh.git] / src / SMESH_I / SMESH_Mesh_i.hxx
index cd9a7a9166388121dc1a630f64fef47988f8102e..8aaa79bae4201174e2019ce25b9c2f7b2d427c81 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  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
@@ -31,6 +31,7 @@
 #include "SMESH_Hypothesis.hxx"
 #include "SMESH_Mesh.hxx"
 #include "SMESH_subMesh.hxx"
+#include "SMDS_ElemIterator.hxx"
 
 #include <SALOME_GenericObj_i.hh>
 #include <SALOMEconfig.h>
@@ -86,21 +87,22 @@ public:
   void ClearSubMesh(CORBA::Long ShapeID)
     throw (SALOME::SALOME_Exception);
 
-  SMESH::Hypothesis_Status AddHypothesis(GEOM::GEOM_Object_ptr aSubShapeObject,
-                                         SMESH::SMESH_Hypothesis_ptr anHyp)
+  SMESH::Hypothesis_Status AddHypothesis(GEOM::GEOM_Object_ptr       aSubShape,
+                                         SMESH::SMESH_Hypothesis_ptr anHyp,
+                                         CORBA::String_out           anErrorText)
     throw (SALOME::SALOME_Exception);
 
-  SMESH::Hypothesis_Status RemoveHypothesis(GEOM::GEOM_Object_ptr aSubShapeObject,
+  SMESH::Hypothesis_Status RemoveHypothesis(GEOM::GEOM_Object_ptr       aSubShape,
                                             SMESH::SMESH_Hypothesis_ptr anHyp)
     throw (SALOME::SALOME_Exception);
 
-  SMESH::ListOfHypothesis* GetHypothesisList(GEOM::GEOM_Object_ptr aSubShapeObject)
+  SMESH::ListOfHypothesis* GetHypothesisList(GEOM::GEOM_Object_ptr aSubShape)
     throw (SALOME::SALOME_Exception);
 
   SMESH::submesh_array* GetSubMeshes()
     throw (SALOME::SALOME_Exception);
 
-  SMESH::SMESH_subMesh_ptr GetSubMesh(GEOM::GEOM_Object_ptr aSubShapeObject, const char* theName)
+  SMESH::SMESH_subMesh_ptr GetSubMesh(GEOM::GEOM_Object_ptr aSubShape, const char* theName)
     throw (SALOME::SALOME_Exception);
 
   void RemoveSubMesh( SMESH::SMESH_subMesh_ptr theSubMesh )
@@ -159,9 +161,11 @@ public:
                                           const char* theName )
     throw (SALOME::SALOME_Exception);
 
-  SMESH::SMESH_Group_ptr CreateDimGroup( const SMESH::ListOfGroups& theGroups,
-                                         SMESH::ElementType theElemType,
-                                         const char* theName )
+  SMESH::SMESH_Group_ptr CreateDimGroup( const SMESH::ListOfIDSources& theGroups,
+                                         SMESH::ElementType            theElemType,
+                                         const char*                   theName,
+                                         SMESH::NB_COMMON_NODES_ENUM   theNbCommonNodes,
+                                         CORBA::Boolean                theUnderlyingOnly )
     throw (SALOME::SALOME_Exception);
 
 
@@ -315,6 +319,9 @@ public:
   CORBA::Long NbPolygons()
     throw (SALOME::SALOME_Exception);
 
+  CORBA::Long NbPolygonsOfOrder(SMESH::ElementOrder order=SMESH::ORDER_ANY)
+    throw (SALOME::SALOME_Exception);
+
   CORBA::Long NbVolumes()
     throw (SALOME::SALOME_Exception);
 
@@ -404,10 +411,11 @@ public:
 
   // Internal methods not available through CORBA
   // They are called by corresponding interface methods
-  SMESH_Hypothesis::Hypothesis_Status addHypothesis(GEOM::GEOM_Object_ptr aSubShapeObject,
-                                                    SMESH::SMESH_Hypothesis_ptr anHyp);
+  SMESH_Hypothesis::Hypothesis_Status addHypothesis(GEOM::GEOM_Object_ptr       aSubShape,
+                                                    SMESH::SMESH_Hypothesis_ptr anHyp,
+                                                    std::string*                anErrorText=0);
 
-  SMESH_Hypothesis::Hypothesis_Status removeHypothesis(GEOM::GEOM_Object_ptr aSubShapeObject,
+  SMESH_Hypothesis::Hypothesis_Status removeHypothesis(GEOM::GEOM_Object_ptr aSubShape,
                                                        SMESH::SMESH_Hypothesis_ptr anHyp);
 
   static SMESH::Hypothesis_Status
@@ -648,6 +656,10 @@ public:
    * happen if mesh data is not yet fully loaded from the file of study.
    */
   bool IsMeshInfoCorrect();
+   /*!
+    * Returns mesh unstructed grid information.
+    */
+   virtual SALOMEDS::TMPFile* GetVtkUgStream();
 
   std::map<int, SMESH_subMesh_i*> _mapSubMesh_i; //NRI
   std::map<int, ::SMESH_subMesh*> _mapSubMesh;   //NRI