Go to the documentation of this file.
17 #ifndef vtkmlib_Portals_h
18 #define vtkmlib_Portals_h
21 #include "vtkAcceleratorsVTKmModule.h"
22 #include "vtkmConfig.h"
29 #include <vtkm/cont/internal/IteratorFromArrayPortal.h>
33 template <
typename Type,
typename VTKDataArrayType_>
36 static const int NUM_COMPONENTS = vtkm::VecTraits<Type>::NUM_COMPONENTS;
47 VTKM_SUPPRESS_EXEC_WARNINGS
54 VTKM_SUPPRESS_EXEC_WARNINGS
58 VTKM_SUPPRESS_EXEC_WARNINGS
62 typedef vtkm::cont::internal::IteratorFromArrayPortal<vtkArrayPortal>
81 VTKDataArrayType* VTKData;
87 static const int NUM_COMPONENTS = vtkm::VecTraits<Type>::NUM_COMPONENTS;
97 VTKM_SUPPRESS_EXEC_WARNINGS
104 VTKM_SUPPRESS_EXEC_WARNINGS
108 VTKM_SUPPRESS_EXEC_WARNINGS
112 typedef vtkm::cont::internal::IteratorFromArrayPortal<vtkPointsPortal>
132 ComponentType* Array;
137 #define VTKM_TEMPLATE_EXPORT_ArrayPortal(T, S) \
138 extern template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT \
139 vtkArrayPortal<const T, S<T>>; \
140 extern template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT vtkArrayPortal<T, S<T>>; \
141 extern template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT \
142 vtkArrayPortal<const vtkm::Vec<T, 2>, S<T>>; \
143 extern template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT \
144 vtkArrayPortal<vtkm::Vec<T, 2>, S<T>>; \
145 extern template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT \
146 vtkArrayPortal<const vtkm::Vec<T, 3>, S<T>>; \
147 extern template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT \
148 vtkArrayPortal<vtkm::Vec<T, 3>, S<T>>; \
149 extern template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT \
150 vtkArrayPortal<const vtkm::Vec<T, 4>, S<T>>; \
151 extern template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT \
152 vtkArrayPortal<vtkm::Vec<T, 4>, S<T>>;
154 #define VTKM_TEMPLATE_IMPORT_ArrayPortal(T, S) \
155 template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT vtkArrayPortal<const T, S<T>>; \
156 template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT vtkArrayPortal<T, S<T>>; \
157 template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT \
158 vtkArrayPortal<const vtkm::Vec<T, 2>, S<T>>; \
159 template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT \
160 vtkArrayPortal<vtkm::Vec<T, 2>, S<T>>; \
161 template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT \
162 vtkArrayPortal<const vtkm::Vec<T, 3>, S<T>>; \
163 template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT \
164 vtkArrayPortal<vtkm::Vec<T, 3>, S<T>>; \
165 template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT \
166 vtkArrayPortal<const vtkm::Vec<T, 4>, S<T>>; \
167 template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT \
168 vtkArrayPortal<vtkm::Vec<T, 4>, S<T>>;
170 #ifndef vtkmlib_Portals_cxx
171 #include <vtkm/cont/internal/ArrayPortalFromIterators.h>
198 #if VTKM_SIZE_LONG_LONG == 8
206 extern template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT
208 extern template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT
210 extern template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT
212 extern template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT
216 #endif // defined vtkmlib_Portals_cxx
218 #include "Portals.hxx"
220 #endif // vtkmlib_Portals_h
represent and manipulate 3D points
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT void Set(vtkm::Id index, const ValueType &value) const
typename vtkPortalTraits< Type >::ComponentType ComponentType
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT vtkm::Id GetNumberOfValues() const
Struct-Of-Arrays implementation of vtkGenericDataArray.
abstract superclass for arrays of numeric data
VTKDataArrayType_ VTKDataArrayType
typename std::remove_const< T >::type ComponentType
vtkm::cont::internal::IteratorFromArrayPortal< vtkArrayPortal > IteratorType
typename vtkPortalTraits< Type >::Type ValueType
vtkArrayPortal(VTKDataArrayType *array, vtkm::Id size)
IteratorType GetIteratorBegin() const
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT void Set(vtkm::Id index, const ValueType &value) const
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT ValueType Get(vtkm::Id index) const
vtkPointsPortal(vtkPoints *points, vtkm::Id size)
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT vtkm::Id GetNumberOfValues() const
vtkPoints * GetVtkData() const
IteratorType GetIteratorEnd() const
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT ValueType Get(vtkm::Id index) const
VTKM_TEMPLATE_EXPORT_ArrayPortal(char, vtkAOSDataArrayTemplate)
IteratorType GetIteratorBegin() const
VTKDataArrayType * GetVtkData() const
Array-Of-Structs implementation of vtkGenericDataArray.
typename vtkPortalTraits< Type >::Type ValueType
IteratorType GetIteratorEnd() const
vtkm::cont::internal::IteratorFromArrayPortal< vtkPointsPortal > IteratorType
typename vtkPortalTraits< Type >::ComponentType ComponentType