VTK  9.0.1
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 =========================================================================*/
21 #ifndef vtkCPExodusIIElementBlockCellIterator_h
22 #define vtkCPExodusIIElementBlockCellIterator_h
23 
24 #include "vtkCellIterator.h"
25 #include "vtkIOExodusModule.h" // For export macro
26 
27 #include "vtkSmartPointer.h" // For smart pointer
28 
30 class vtkCPExodusIIElementBlockPrivate;
31 
32 class VTKIOEXODUS_EXPORT vtkCPExodusIIElementBlockCellIterator : public vtkCellIterator
33 {
34 public:
35  typedef vtkCPExodusIIElementBlockPrivate StorageType;
36 
39  void PrintSelf(ostream& os, vtkIndent indent);
40 
41  bool IsValid();
43 
44 protected:
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:
59  void operator=(const vtkCPExodusIIElementBlockCellIterator&) = delete;
60 
62  vtkSmartPointer<vtkPoints> DataSetPoints;
63  vtkIdType CellId;
64 };
65 
66 #endif // vtkCPExodusIIElementBlockCellIterator_h
vtkCPExodusIIElementBlockCellIterator
vtkCellIterator subclass specialized for vtkCPExodusIIElementBlock.
Definition: vtkCPExodusIIElementBlockCellIterator.h:32
vtkIdType
int vtkIdType
Definition: vtkType.h:338
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkCPExodusIIElementBlock
Uses an Exodus II element block as a vtkMappedUnstructuredGrid's implementation.
vtkCellIterator::FetchPointIds
virtual void FetchPointIds()=0
Lookup the cell point ids in the data set and store them in this->PointIds.
vtkSmartPointer< StorageType >
vtkCellIterator::FetchCellType
virtual void FetchCellType()=0
Lookup the cell type in the data set and store it in this->CellType.
vtkCellIterator::ResetToFirstCell
virtual void ResetToFirstCell()=0
Update internal state to point to the first cell.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkSmartPointer.h
vtkCellIterator.h
vtkCPExodusIIElementBlockCellIterator::StorageType
vtkCPExodusIIElementBlockPrivate StorageType
Definition: vtkCPExodusIIElementBlockCellIterator.h:35
vtkCellIterator::IncrementToNextCell
virtual void IncrementToNextCell()=0
Update internal state to point to the next cell.
vtkCellIterator::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkCellIterator::GetCellId
virtual vtkIdType GetCellId()=0
Get the id of the current cell.
vtkCellIterator
Efficient cell iterator for vtkDataSet topologies.
Definition: vtkCellIterator.h:77
vtkCellIterator::FetchPoints
virtual void FetchPoints()=0
Lookup the cell points in the data set and store them in this->Points.