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>
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
207 vtkPointsPortal<vtkm::Vec<vtkm::Float32, 3>
const>;
208 extern template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT
209 vtkPointsPortal<vtkm::Vec<vtkm::Float64, 3>
const>;
210 extern template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT
211 vtkPointsPortal<vtkm::Vec<vtkm::Float32, 3>>;
212 extern template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT
213 vtkPointsPortal<vtkm::Vec<vtkm::Float64, 3>>;
216 #endif // defined vtkmlib_Portals_cxx 218 #include "Portals.hxx" 220 #endif // vtkmlib_Portals_h typename vtkPortalTraits< Type >::Type ValueType
Struct-Of-Arrays implementation of vtkGenericDataArray.
IteratorType GetIteratorBegin() const
typename vtkPortalTraits< Type >::ComponentType ComponentType
vtkm::cont::internal::IteratorFromArrayPortal< vtkArrayPortal > IteratorType
typename vtkPortalTraits< Type >::ComponentType ComponentType
vtkm::cont::internal::IteratorFromArrayPortal< vtkPointsPortal > IteratorType
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT vtkm::Id GetNumberOfValues() const
Array-Of-Structs implementation of vtkGenericDataArray.
abstract superclass for arrays of numeric data
IteratorType GetIteratorEnd() const
VTKM_TEMPLATE_EXPORT_ArrayPortal(char, vtkAOSDataArrayTemplate)
IteratorType GetIteratorBegin() const
VTKDataArrayType * GetVtkData() const
IteratorType GetIteratorEnd() const
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT vtkm::Id GetNumberOfValues() const
typename std::remove_const< T >::type ComponentType
vtkPoints * GetVtkData() const
VTKDataArrayType_ VTKDataArrayType
represent and manipulate 3D points
typename vtkPortalTraits< Type >::Type ValueType