Salome HOME
IPAL54452: Compact mesh after merge operations
[modules/smesh.git] / src / SMDS / SMDS_Mesh.hxx
index e81735e44bab581ea7814238190f96468ba4899e..3da801f598891de96fcb6ec2b957ef86a5421904 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
@@ -66,8 +66,12 @@ public:
   virtual SMDS_ElemIteratorPtr elementGeomIterator(SMDSAbs_GeometryType type) const;
   virtual SMDS_ElemIteratorPtr elementEntityIterator(SMDSAbs_EntityType type) const;
 
-  virtual SMDS_NodeIteratorPtr shapeNodesIterator   (int shapeID, size_t nbElemsToReturn=-1) const;
-  virtual SMDS_ElemIteratorPtr shapeElementsIterator(int shapeID, size_t nbElemsToReturn=-1) const;
+  virtual SMDS_NodeIteratorPtr shapeNodesIterator   (int                  shapeID,
+                                                     size_t               nbElemsToReturn=-1,
+                                                     const SMDS_MeshNode* sm1stNode=0) const;
+  virtual SMDS_ElemIteratorPtr shapeElementsIterator(int                     shapeID,
+                                                     size_t                  nbElemsToReturn=-1,
+                                                     const SMDS_MeshElement* sm1stElem=0) const;
 
   SMDSAbs_ElementType GetElementType( const int id, const bool iselem ) const;
 
@@ -614,7 +618,8 @@ public:
   // Renumber all nodes or elements.
 
   virtual void CompactMesh();
-  bool IsCompacted();
+  virtual bool IsCompacted();
+  virtual bool HasNumerationHoles();
 
   template<class ELEMTYPE>
     static const ELEMTYPE* DownCast( const SMDS_MeshElement* e )
@@ -673,10 +678,10 @@ public:
    */
   static int CheckMemory(const bool doNotRaise=false) throw (std::bad_alloc);
 
-  int MaxNodeID() const;
-  int MinNodeID() const;
-  int MaxElementID() const;
-  int MinElementID() const;
+  virtual int MaxNodeID() const;
+  virtual int MinNodeID() const;
+  virtual int MaxElementID() const;
+  virtual int MinElementID() const;
 
   const SMDS_MeshInfo& GetMeshInfo() const { return myInfo; }