VTK
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 
44 
46 {
47 public:
48  static vtkBridgeCellIterator *New();
50  void PrintSelf(ostream& os, vtkIndent indent);
51 
53  void Begin();
54 
56  int IsAtEnd();
57 
60 
64 
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 
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
void PrintSelf(ostream &os, vtkIndent indent)
Implementation of vtkGenericCellIterator. It is just an example that show how to implement the Generi...
vtkBridgeDataSet * DataSet
vtkBridgeCellIteratorStrategy * CurrentIterator
virtual void Begin()=0
Implementation of vtkGenericAdaptorCell.
Definition: vtkBridgeCell.h:37
#define VTKTESTINGGENERICBRIDGE_EXPORT
Iterate over one cell only of a dataset.
int vtkIdType
Definition: vtkType.h:275
virtual vtkGenericAdaptorCell * GetCell()=0
Implementation of vtkGenericDataSet.
iterator used to traverse cells
defines cell interface
vtkBridgeCellIteratorOnDataSet * IteratorOnDataSet
Interface used by vtkBridgeCellIterator vtkBridgeCellIterator has different behaviors depending on th...
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkBridgeCellIteratorOnCellList * IteratorOnCellList
list of point or cell ids
Definition: vtkIdList.h:35
virtual void Next()=0
virtual int IsAtEnd()=0
vtkBridgeCellIteratorOne * IteratorOneCell
Iterate over cells of a dataset.
vtkBridgeCellIteratorOnCellBoundaries * IteratorOnCellBoundaries
Iterate over a list of cells defined on a dataset. See InitWithCells().
static vtkObject * New()
virtual vtkGenericAdaptorCell * NewCell()=0
represent and manipulate 3D points
Definition: vtkPoints.h:38