VTK
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vtkBridgeCellIterator.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkBridgeCellIterator.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 =========================================================================*/
26 #ifndef __vtkBridgeCellIterator_h
27 #define __vtkBridgeCellIterator_h
28 
29 #include "vtkBridgeExport.h" //for module export macro
30 #include "vtkGenericCellIterator.h"
31 
32 class vtkBridgeCell;
33 class vtkBridgeDataSet;
34 class vtkBridgeCell;
35 class vtkIdList;
36 class vtkBridgeDataSet;
37 class vtkPoints;
38 
39 class vtkBridgeCellIteratorStrategy;
40 class vtkBridgeCellIteratorOnDataSet;
41 class vtkBridgeCellIteratorOne;
42 class vtkBridgeCellIteratorOnCellBoundaries;
43 class vtkBridgeCellIteratorOnCellList;
44 
45 class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgeCellIterator : public vtkGenericCellIterator
46 {
47 public:
48  static vtkBridgeCellIterator *New();
49  vtkTypeMacro(vtkBridgeCellIterator,vtkGenericCellIterator);
50  void PrintSelf(ostream& os, vtkIndent indent);
51 
53  void Begin();
54 
56  int IsAtEnd();
57 
59  vtkGenericAdaptorCell *NewCell();
60 
63  void GetCell(vtkGenericAdaptorCell *c);
64 
67  vtkGenericAdaptorCell *GetCell();
68 
71  void Next();
72 
74 
77  void InitWithDataSet(vtkBridgeDataSet *ds,
78  int dim);
80 
82 
85  void InitWithDataSetBoundaries(vtkBridgeDataSet *ds,
86  int dim,
87  int exterior_only);
89 
91 
94  void InitWithOneCell(vtkBridgeDataSet *ds,
95  vtkIdType cellid);
97 
100  void InitWithOneCell(vtkBridgeCell *c);
101 
103 
106  void InitWithCellBoundaries(vtkBridgeCell *cell,
107  int dim);
109 
111 
114  void InitWithCells(vtkIdList *cells,
115  vtkBridgeDataSet *ds);
117 
119 
124  void InitWithPoints(vtkPoints *coords,
125  vtkIdList *pts,
126  int dim,
127  vtkIdType cellid);
129 
130 protected:
132  virtual ~vtkBridgeCellIterator();
133 
134  vtkBridgeCellIteratorStrategy *CurrentIterator;
135  vtkBridgeCellIteratorOnDataSet *IteratorOnDataSet;
136  vtkBridgeCellIteratorOne *IteratorOneCell;
137  vtkBridgeCellIteratorOnCellBoundaries * IteratorOnCellBoundaries;
138  vtkBridgeCellIteratorOnCellList *IteratorOnCellList;
139 
140  vtkBridgeDataSet *DataSet; // the structure on which the objet iterates.
141  vtkIdType Id; // the id at current position.
142  int OneCell; // Is in one cell mode?
143  vtkIdType Size; // size of the structure.
144  vtkBridgeCell *Cell; // cell at current position.
145 
146 private:
147  vtkBridgeCellIterator(const vtkBridgeCellIterator&); // Not implemented
148  void operator=(const vtkBridgeCellIterator&); // Not implemented
149 };
150 
151 #endif
Implementation of vtkGenericCellIterator. It is just an example that show how to implement the Generi...
vtkBridgeDataSet * DataSet
vtkBridgeCellIteratorStrategy * CurrentIterator
vtkBridgeCellIteratorOnDataSet * IteratorOnDataSet
vtkBridgeCellIteratorOnCellList * IteratorOnCellList
vtkBridgeCellIteratorOne * IteratorOneCell
vtkBridgeCellIteratorOnCellBoundaries * IteratorOnCellBoundaries