VTK
dox/Common/DataModel/vtkPointSetCellIterator.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkPointSetCellIterator.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 =========================================================================*/
00023 #ifndef __vtkPointSetCellIterator_h
00024 #define __vtkPointSetCellIterator_h
00025 
00026 #include "vtkCommonDataModelModule.h" // For export macro
00027 #include "vtkCellIterator.h"
00028 #include "vtkSmartPointer.h" // For vtkSmartPointer
00029 
00030 class vtkPoints;
00031 class vtkPointSet;
00032 
00033 class VTKCOMMONDATAMODEL_EXPORT vtkPointSetCellIterator: public vtkCellIterator
00034 {
00035 public:
00036   static vtkPointSetCellIterator *New();
00037   vtkTypeMacro(vtkPointSetCellIterator, vtkCellIterator)
00038   virtual void PrintSelf(ostream &os, vtkIndent indent);
00039 
00040   bool IsDoneWithTraversal();
00041   vtkIdType GetCellId();
00042 
00043 protected:
00044   vtkPointSetCellIterator();
00045   ~vtkPointSetCellIterator();
00046 
00047   void ResetToFirstCell();
00048   void IncrementToNextCell();
00049   void FetchCellType();
00050   void FetchPointIds();
00051   void FetchPoints();
00052 
00053   friend class vtkPointSet;
00054   void SetPointSet(vtkPointSet *ds);
00055 
00056   vtkSmartPointer<vtkPointSet> PointSet;
00057   vtkSmartPointer<vtkPoints> PointSetPoints;
00058   vtkIdType CellId;
00059 
00060 private:
00061   vtkPointSetCellIterator(const vtkPointSetCellIterator &); // Not implemented.
00062   void operator=(const vtkPointSetCellIterator &);   // Not implemented.
00063 };
00064 
00065 #endif //__vtkPointSetCellIterator_h