 |
VTK
9.3.20230925
|
Go to the documentation of this file.
72 #ifndef vtkDataArrayIteratorMacro_h
73 #define vtkDataArrayIteratorMacro_h
76 #include "vtkSetGet.h"
83 #define _vtkDAIMUnused __attribute__((unused))
85 #define _vtkDAIMUnused
88 #define vtkDataArrayIteratorMacro(_array, _call) \
90 vtkAbstractArray* _aa(_array); if (vtkAOSDataArrayTemplate<VTK_TT>* _dat = \
91 vtkAOSDataArrayTemplate<VTK_TT>::FastDownCast(_aa)) { \
92 typedef VTK_TT vtkDAValueType; \
93 typedef vtkAOSDataArrayTemplate<vtkDAValueType> vtkDAContainerType; \
94 typedef vtkDAContainerType::Iterator vtkDAIteratorType; \
95 vtkDAIteratorType vtkDABegin(_dat->Begin()); \
96 vtkDAIteratorType vtkDAEnd(_dat->End()); \
100 } else if (vtkTypedDataArray<VTK_TT>* _tda = vtkTypedDataArray<VTK_TT>::FastDownCast(_aa)) { \
101 typedef VTK_TT vtkDAValueType; \
102 typedef vtkTypedDataArray<vtkDAValueType> vtkDAContainerType; \
103 typedef vtkDAContainerType::Iterator vtkDAIteratorType; \
104 vtkDAIteratorType vtkDABegin(_tda->Begin()); \
105 vtkDAIteratorType vtkDAEnd(_tda->End()); \
112 typedef VTK_TT vtkDAValueType; \
113 typedef vtkAbstractArray vtkDAContainerType _vtkDAIMUnused; \
114 typedef vtkDAValueType* vtkDAIteratorType; \
115 vtkDAIteratorType vtkDABegin = static_cast<vtkDAIteratorType>(_aa->GetVoidPointer(0)); \
116 vtkDAIteratorType vtkDAEnd = vtkDABegin + _aa->GetMaxId() + 1; \