00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkBridgeCellIteratorOne.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 __vtkBridgeCellIteratorOne_h 00025 #define __vtkBridgeCellIteratorOne_h 00026 00027 #include "vtkBridgeCellIteratorStrategy.h" 00028 00029 class vtkBridgeCell; 00030 class vtkBridgeDataSet; 00031 class vtkBridgeCell; 00032 class vtkIdList; 00033 class vtkPoints; 00034 class vtkCell; 00035 00036 class VTK_BRIDGE_EXPORT vtkBridgeCellIteratorOne : public vtkBridgeCellIteratorStrategy 00037 { 00038 public: 00039 static vtkBridgeCellIteratorOne *New(); 00040 vtkTypeRevisionMacro(vtkBridgeCellIteratorOne, 00041 vtkBridgeCellIteratorStrategy); 00042 void PrintSelf(ostream& os, vtkIndent indent); 00043 00045 void Begin(); 00046 00048 int IsAtEnd(); 00049 00052 void GetCell(vtkGenericAdaptorCell *c); 00053 00056 vtkGenericAdaptorCell *GetCell(); 00057 00060 void Next(); 00061 00063 00066 void InitWithOneCell(vtkBridgeDataSet *ds, 00067 vtkIdType cellid); 00069 00072 void InitWithOneCell(vtkBridgeCell *c); 00073 00075 00080 void InitWithPoints(vtkPoints *coords, 00081 vtkIdList *pts, 00082 int dim, 00083 vtkIdType cellid); 00085 00086 protected: 00087 vtkBridgeCellIteratorOne(); 00088 virtual ~vtkBridgeCellIteratorOne(); 00089 00090 int cIsAtEnd; 00091 vtkBridgeDataSet *DataSet; // the structure on which the objet iterates. 00092 vtkIdType Id; // the id at current position. 00093 vtkBridgeCell *Cell; // cell at current position. 00094 vtkCell *InternalCell; 00095 00096 private: 00097 vtkBridgeCellIteratorOne(const vtkBridgeCellIteratorOne&); // Not implemented 00098 void operator=(const vtkBridgeCellIteratorOne&); // Not implemented 00099 }; 00100 00101 #endif