00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkBridgeCellIteratorOnCellList.h,v $ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00024 #ifndef __vtkBridgeCellIteratorOnCellList_h 00025 #define __vtkBridgeCellIteratorOnCellList_h 00026 00027 #include "vtkBridgeCellIteratorStrategy.h" 00028 00029 class vtkBridgeCell; 00030 class vtkIdList; 00031 class vtkBridgeDataSet; 00032 00033 class VTK_BRIDGE_EXPORT vtkBridgeCellIteratorOnCellList : public vtkBridgeCellIteratorStrategy 00034 { 00035 public: 00036 static vtkBridgeCellIteratorOnCellList *New(); 00037 vtkTypeRevisionMacro(vtkBridgeCellIteratorOnCellList, 00038 vtkBridgeCellIteratorStrategy); 00039 void PrintSelf(ostream& os, vtkIndent indent); 00040 00042 void Begin(); 00043 00045 int IsAtEnd(); 00046 00049 void GetCell(vtkGenericAdaptorCell *c); 00050 00053 vtkGenericAdaptorCell *GetCell(); 00054 00057 void Next(); 00058 00060 00063 void InitWithCells(vtkIdList *cells, 00064 vtkBridgeDataSet *ds); 00066 00067 protected: 00068 vtkBridgeCellIteratorOnCellList(); 00069 virtual ~vtkBridgeCellIteratorOnCellList(); 00070 00071 vtkIdList *Cells; // cells traversed by the iterator. 00072 vtkBridgeDataSet *DataSet; 00073 vtkIdType Id; // the id at current position. 00074 vtkBridgeCell *Cell; // cell at current position. 00075 00076 private: 00077 vtkBridgeCellIteratorOnCellList(const vtkBridgeCellIteratorOnCellList&); // Not implemented 00078 void operator=(const vtkBridgeCellIteratorOnCellList&); // Not implemented 00079 }; 00080 00081 #endif