00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkBridgeCellIteratorOnDataSet.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 __vtkBridgeCellIteratorOnDataSet_h 00025 #define __vtkBridgeCellIteratorOnDataSet_h 00026 00027 #include "vtkBridgeCellIteratorStrategy.h" 00028 00029 class vtkBridgeCell; 00030 class vtkBridgeDataSet; 00031 class vtkBridgeCell; 00032 class vtkIdList; 00033 00034 class VTK_BRIDGE_EXPORT vtkBridgeCellIteratorOnDataSet : public vtkBridgeCellIteratorStrategy 00035 { 00036 public: 00037 static vtkBridgeCellIteratorOnDataSet *New(); 00038 vtkTypeRevisionMacro(vtkBridgeCellIteratorOnDataSet, 00039 vtkBridgeCellIteratorStrategy); 00040 void PrintSelf(ostream& os, vtkIndent indent); 00041 00043 void Begin(); 00044 00046 int IsAtEnd(); 00047 00050 void GetCell(vtkGenericAdaptorCell *c); 00051 00054 vtkGenericAdaptorCell *GetCell(); 00055 00058 void Next(); 00059 00061 00064 void InitWithDataSet(vtkBridgeDataSet *ds, 00065 int dim); 00067 00068 protected: 00069 vtkBridgeCellIteratorOnDataSet(); 00070 virtual ~vtkBridgeCellIteratorOnDataSet(); 00071 00072 int Dim; // Dimension of cells over which to iterate (-1 to 3) 00073 00074 vtkBridgeDataSet *DataSet; // the structure on which the objet iterates. 00075 vtkIdType Id; // the id at current position. 00076 vtkIdType Size; // size of the structure. 00077 vtkBridgeCell *Cell; // cell at current position. 00078 00079 private: 00080 vtkBridgeCellIteratorOnDataSet(const vtkBridgeCellIteratorOnDataSet&); // Not implemented 00081 void operator=(const vtkBridgeCellIteratorOnDataSet&); // Not implemented 00082 }; 00083 00084 #endif