00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkBridgeCellIteratorOnCellList.h 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 =========================================================================*/ 00026 #ifndef __vtkBridgeCellIteratorOnCellList_h 00027 #define __vtkBridgeCellIteratorOnCellList_h 00028 00029 #include "vtkBridgeCellIteratorStrategy.h" 00030 00031 class vtkBridgeCell; 00032 class vtkIdList; 00033 class vtkBridgeDataSet; 00034 00035 class VTK_BRIDGE_EXPORT vtkBridgeCellIteratorOnCellList : public vtkBridgeCellIteratorStrategy 00036 { 00037 public: 00038 static vtkBridgeCellIteratorOnCellList *New(); 00039 vtkTypeMacro(vtkBridgeCellIteratorOnCellList, 00040 vtkBridgeCellIteratorStrategy); 00041 void PrintSelf(ostream& os, vtkIndent indent); 00042 00044 void Begin(); 00045 00047 int IsAtEnd(); 00048 00051 void GetCell(vtkGenericAdaptorCell *c); 00052 00055 vtkGenericAdaptorCell *GetCell(); 00056 00059 void Next(); 00060 00062 00065 void InitWithCells(vtkIdList *cells, 00066 vtkBridgeDataSet *ds); 00068 00069 protected: 00070 vtkBridgeCellIteratorOnCellList(); 00071 virtual ~vtkBridgeCellIteratorOnCellList(); 00072 00073 vtkIdList *Cells; // cells traversed by the iterator. 00074 vtkBridgeDataSet *DataSet; 00075 vtkIdType Id; // the id at current position. 00076 vtkBridgeCell *Cell; // cell at current position. 00077 00078 private: 00079 vtkBridgeCellIteratorOnCellList(const vtkBridgeCellIteratorOnCellList&); // Not implemented 00080 void operator=(const vtkBridgeCellIteratorOnCellList&); // Not implemented 00081 }; 00082 00083 #endif