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