VTK
vtkDataSetCellIterator.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkDataSetCellIterator.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
23 #ifndef vtkDataSetCellIterator_h
24 #define vtkDataSetCellIterator_h
25 
26 #include "vtkCommonDataModelModule.h" // For export macro
27 #include "vtkCellIterator.h"
28 #include "vtkSmartPointer.h" // For vtkSmartPointer
29 
30 class vtkDataSet;
31 
33 {
34 public:
35  static vtkDataSetCellIterator *New();
37  virtual void PrintSelf(ostream &os, vtkIndent indent);
38 
39  bool IsDoneWithTraversal();
40  vtkIdType GetCellId();
41 
42 protected:
44  ~vtkDataSetCellIterator();
45 
46  void ResetToFirstCell();
47  void IncrementToNextCell();
48  void FetchCellType();
49  void FetchPointIds();
50  void FetchPoints();
51 
52  friend class vtkDataSet;
53  void SetDataSet(vtkDataSet *ds);
54 
55  vtkSmartPointer<vtkDataSet> DataSet;
56  vtkIdType CellId;
57 
58 private:
59  vtkDataSetCellIterator(const vtkDataSetCellIterator &); // Not implemented.
60  void operator=(const vtkDataSetCellIterator &); // Not implemented.
61 };
62 
63 #endif //vtkDataSetCellIterator_h
abstract class to specify dataset behavior
Definition: vtkDataSet.h:61
Hold a reference to a vtkObjectBase instance.
int vtkIdType
Definition: vtkType.h:275
Implementation of vtkCellIterator using vtkDataSet API.
a simple class to control print indentation
Definition: vtkIndent.h:38
Efficient cell iterator for vtkDataSet topologies.
static vtkObject * New()
#define VTKCOMMONDATAMODEL_EXPORT