1 #ifndef _SMDS_VTKCELLITERATOR_HXX_
2 #define _SMDS_VTKCELLITERATOR_HXX_
4 #include "SMDS_ElemIterator.hxx"
5 #include "SMDS_Mesh.hxx"
6 #include "SMDSAbs_ElementType.hxx"
11 class SMDS_VtkCellIterator: public SMDS_ElemIterator
14 SMDS_VtkCellIterator(SMDS_Mesh* mesh, int vtkCellId, SMDSAbs_EntityType aType);
15 virtual ~SMDS_VtkCellIterator();
17 virtual const SMDS_MeshElement* next();
18 inline void exchange(vtkIdType a, vtkIdType b)
20 vtkIdType t = _vtkIdList->GetId(a);
21 _vtkIdList->SetId(a, _vtkIdList->GetId(b));
22 _vtkIdList->SetId(b, t);
26 SMDS_VtkCellIterator() {};
32 SMDSAbs_EntityType _type;
33 vtkIdList* _vtkIdList;
36 class SMDS_VtkCellIteratorToUNV: public SMDS_VtkCellIterator
39 SMDS_VtkCellIteratorToUNV(SMDS_Mesh* mesh, int vtkCellId, SMDSAbs_EntityType aType);
40 virtual ~SMDS_VtkCellIteratorToUNV();
43 class SMDS_VtkCellIteratorPolyH: public SMDS_VtkCellIterator
46 SMDS_VtkCellIteratorPolyH(SMDS_Mesh* mesh, int vtkCellId, SMDSAbs_EntityType aType);
47 virtual ~SMDS_VtkCellIteratorPolyH();