]> SALOME platform Git repositories - modules/smesh.git/blobdiff - src/SMESH_I/SMESH_MeshPartDS.hxx
Salome HOME
Revert "23418: [OCC] Mesh: Minimization of memory usage of SMESH"
[modules/smesh.git] / src / SMESH_I / SMESH_MeshPartDS.hxx
index 4c81674a2e069eefdf212f784b21676aa9028f33..986ee3c06ad4ffa93801c99a3f1b5fd76c453842 100644 (file)
@@ -47,10 +47,10 @@ public:
   SMESH_MeshPartDS(SMESH::SMESH_IDSource_ptr                    meshPart);
   SMESH_MeshPartDS(const std::list< const SMDS_MeshElement* > & badElems );
 
-  virtual SMDS_NodeIteratorPtr   nodesIterator  () const;
-  virtual SMDS_EdgeIteratorPtr   edgesIterator  () const;
-  virtual SMDS_FaceIteratorPtr   facesIterator  () const;
-  virtual SMDS_VolumeIteratorPtr volumesIterator() const;
+  virtual SMDS_NodeIteratorPtr   nodesIterator     (bool idInceasingOrder=false) const;
+  virtual SMDS_EdgeIteratorPtr   edgesIterator     (bool idInceasingOrder=false) const;
+  virtual SMDS_FaceIteratorPtr   facesIterator     (bool idInceasingOrder=false) const;
+  virtual SMDS_VolumeIteratorPtr volumesIterator   (bool idInceasingOrder=false) const;
 
   virtual SMDS_ElemIteratorPtr elementsIterator(SMDSAbs_ElementType type=SMDSAbs_All) const;
   virtual SMDS_ElemIteratorPtr elementGeomIterator(SMDSAbs_GeometryType type) const;
@@ -61,6 +61,24 @@ public:
 private:
   TIDSortedElemSet _elements[ SMDSAbs_NbElementTypes ];
   SMESHDS_Mesh*    _meshDS;
+  /*!
+   * \brief Class used to access to protected data of SMDS_MeshInfo
+   */
+  struct TMeshInfo : public SMDS_MeshInfo
+  {
+    void Add(const SMDS_MeshElement* e) { SMDS_MeshInfo::addWithPoly( e ); }
+  };
+  /*!
+   * \brief Element holing its ID only
+   */
+  struct TElemID : public SMDS_MeshElement
+  {
+    TElemID(int ID) : SMDS_MeshElement( ID ) {}
+    virtual SMDSAbs_ElementType  GetType() const { return SMDSAbs_All; }
+    virtual SMDSAbs_EntityType   GetEntityType() const { return SMDSEntity_Last; }
+    virtual SMDSAbs_GeometryType GetGeomType() const { return SMDSGeom_NONE; }
+    virtual vtkIdType            GetVtkType() const { return -1; }
+  };
 };
 
 #endif