00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkBridgeCellIteratorOnCellBoundaries.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 __vtkBridgeCellIteratorOnCellBoundaries_h 00025 #define __vtkBridgeCellIteratorOnCellBoundaries_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 vtkBridgeCellIteratorOnCellBoundaries : public vtkBridgeCellIteratorStrategy 00035 { 00036 public: 00037 static vtkBridgeCellIteratorOnCellBoundaries *New(); 00038 vtkTypeRevisionMacro(vtkBridgeCellIteratorOnCellBoundaries, 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 InitWithCellBoundaries(vtkBridgeCell *cell, 00065 int dim); 00067 00068 protected: 00069 vtkBridgeCellIteratorOnCellBoundaries(); 00070 virtual ~vtkBridgeCellIteratorOnCellBoundaries(); 00071 00072 int Dim; // Dimension of cells over which to iterate (-1 to 3) 00073 00074 vtkBridgeCell *DataSetCell; // the structure on which the objet iterates. 00075 vtkIdType Id; // the id at current position. 00076 vtkBridgeCell *Cell; // cell at current position. 00077 vtkIdType NumberOfFaces; 00078 vtkIdType NumberOfEdges; 00079 vtkIdType NumberOfVertices; 00080 private: 00081 vtkBridgeCellIteratorOnCellBoundaries(const vtkBridgeCellIteratorOnCellBoundaries&); // Not implemented 00082 void operator=(const vtkBridgeCellIteratorOnCellBoundaries&); // Not implemented 00083 }; 00084 00085 #endif