VTK
vtkCPExodusIIElementBlockCellIterator.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCPExodusIIElementBlockCellIterator.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 =========================================================================*/
20 #ifndef vtkCPExodusIIElementBlockCellIterator_h
21 #define vtkCPExodusIIElementBlockCellIterator_h
22 
23 #include "vtkCellIterator.h"
24 #include "vtkIOExodusModule.h" // For export macro
25 
26 #include "vtkSmartPointer.h" // For smart pointer
27 
29 class vtkCPExodusIIElementBlockPrivate;
30 
32  : public vtkCellIterator
33 {
34 public:
35  typedef vtkCPExodusIIElementBlockPrivate StorageType;
36 
39  void PrintSelf(ostream &os, vtkIndent indent);
40 
41  bool IsValid();
42  vtkIdType GetCellId();
43 
44 protected:
46  ~vtkCPExodusIIElementBlockCellIterator();
47 
48  void ResetToFirstCell();
49  void IncrementToNextCell();
50  void FetchCellType();
51  void FetchPointIds();
52  void FetchPoints();
53 
54  friend class ::vtkCPExodusIIElementBlock;
55  void SetStorage(vtkCPExodusIIElementBlock *eb);
56 
57 private:
58  vtkCPExodusIIElementBlockCellIterator(const vtkCPExodusIIElementBlockCellIterator &); // Not implemented.
59  void operator=(const vtkCPExodusIIElementBlockCellIterator &); // Not implemented.
60 
61  vtkSmartPointer<StorageType> Storage;
62  vtkSmartPointer<vtkPoints> DataSetPoints;
63  vtkIdType CellId;
64 };
65 
66 #endif //vtkCPExodusIIElementBlockCellIterator_h
Hold a reference to a vtkObjectBase instance.
int vtkIdType
Definition: vtkType.h:247
a simple class to control print indentation
Definition: vtkIndent.h:38
#define VTKIOEXODUS_EXPORT
Uses an Exodus II element block as a vtkMappedUnstructuredGrid's implementation.
Efficient cell iterator for vtkDataSet topologies.
static vtkObject * New()
represent and manipulate 3D points
Definition: vtkPoints.h:38
vtkCellIterator subclass specialized for vtkCPExodusIIElementBlock.