forked from Kitware/VTK
/
vtkBridgePointIteratorOnCell.h
92 lines (71 loc) · 2.67 KB
/
vtkBridgePointIteratorOnCell.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/*=========================================================================
Program: Visualization Toolkit
Module: vtkBridgePointIteratorOnCell.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkBridgePointIteratorOnCell - Implementation of vtkGenericPointIterator.
// .SECTION Description
// It iterates over the corner points of a cell.
// .SECTION See Also
// vtkGenericPointIterator, vtkBridgeDataSet
#ifndef vtkBridgePointIteratorOnCell_h
#define vtkBridgePointIteratorOnCell_h
#include "vtkBridgeExport.h" //for module export macro
#include "vtkGenericPointIterator.h"
class vtkBridgeDataSet;
class vtkBridgeCell;
class vtkIdList;
class VTKTESTINGGENERICBRIDGE_EXPORT vtkBridgePointIteratorOnCell : public vtkGenericPointIterator
{
public:
static vtkBridgePointIteratorOnCell *New();
vtkTypeMacro(vtkBridgePointIteratorOnCell,vtkGenericPointIterator);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Move iterator to first position if any (loop initialization).
void Begin();
// Description:
// Is there no point at iterator position? (exit condition).
int IsAtEnd();
// Description:
// Move iterator to next position. (loop progression).
// \pre not_off: !IsAtEnd()
void Next();
// Description:
// Point at iterator position.
// \pre not_off: !IsAtEnd()
// \post result_exists: result!=0
double *GetPosition();
// Description:
// Point at iterator position.
// \pre not_off: !IsAtEnd()
// \pre x_exists: x!=0
void GetPosition(double x[3]);
// Description:
// Unique identifier for the point, could be non-contiguous
// \pre not_off: !IsAtEnd()
vtkIdType GetId();
// Description:
// The iterator will iterate over the point of a cell
// \pre cell_exists: cell!=0
void InitWithCell(vtkBridgeCell *cell);
protected:
// Description:
// Default constructor.
vtkBridgePointIteratorOnCell();
// Description:
// Destructor.
virtual ~vtkBridgePointIteratorOnCell();
vtkBridgeDataSet *DataSet; // the structure on which the objet iterates.
vtkIdType Cursor; // current position
vtkIdList *PtIds; // list of points of the cell
private:
vtkBridgePointIteratorOnCell(const vtkBridgePointIteratorOnCell&); // Not implemented
void operator=(const vtkBridgePointIteratorOnCell&); // Not implemented
};
#endif