00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkArrayCoordinateIterator.h,v $ 00005 00006 ------------------------------------------------------------------------- 00007 Copyright 2008 Sandia Corporation. 00008 Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 00009 the U.S. Government retains certain rights in this software. 00010 ------------------------------------------------------------------------- 00011 00012 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00013 All rights reserved. 00014 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00015 00016 This software is distributed WITHOUT ANY WARRANTY; without even 00017 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00018 PURPOSE. See the above copyright notice for more information. 00019 00020 =========================================================================*/ 00021 00048 #ifndef __vtkArrayCoordinateIterator_h 00049 #define __vtkArrayCoordinateIterator_h 00050 00051 #include "vtkArrayExtents.h" 00052 #include "vtkArrayCoordinates.h" 00053 #include "vtkObject.h" 00054 00055 class VTK_COMMON_EXPORT vtkArrayCoordinateIterator : public vtkObject 00056 { 00057 public: 00058 static vtkArrayCoordinateIterator* New(); 00059 vtkTypeRevisionMacro(vtkArrayCoordinateIterator, vtkObject); 00060 void PrintSelf(ostream &os, vtkIndent indent); 00061 00062 //BTX 00065 void SetExtents(const vtkArrayExtents&); 00066 //ETX 00067 00070 bool HasNext(); 00071 00073 vtkArrayCoordinates Next(); 00074 00075 protected: 00076 vtkArrayCoordinateIterator(); 00077 ~vtkArrayCoordinateIterator(); 00078 00079 private: 00080 vtkArrayCoordinateIterator(const vtkArrayCoordinateIterator&); // Not implemented 00081 void operator=(const vtkArrayCoordinateIterator&); // Not implemented 00082 00083 vtkArrayExtents Extents; 00084 vtkArrayCoordinates Coordinates; 00085 vtkIdType Current; 00086 vtkIdType End; 00087 }; 00088 00089 #endif 00090