17 #ifndef vtkmlib_Portals_h 18 #define vtkmlib_Portals_h 21 #include "vtkAcceleratorsVTKmModule.h" 22 #include "vtkmConfig.h" 27 #include <vtkm/cont/internal/IteratorFromArrayPortal.h> 32 template <
typename Type,
typename VTKDataArrayType_>
35 static const int NUM_COMPONENTS = vtkm::VecTraits<Type>::NUM_COMPONENTS;
48 VTKM_SUPPRESS_EXEC_WARNINGS
52 VTKM_SUPPRESS_EXEC_WARNINGS
54 inline ValueType Get(vtkm::Id
index)
const;
56 VTKM_SUPPRESS_EXEC_WARNINGS
58 inline void Set(vtkm::Id
index,
const ValueType&
value)
const;
60 typedef vtkm::cont::internal::IteratorFromArrayPortal<vtkArrayPortal>
IteratorType;
72 VTKDataArrayType* VTKData;
76 template <
typename Type>
79 static const int NUM_COMPONENTS = vtkm::VecTraits<Type>::NUM_COMPONENTS;
91 VTKM_SUPPRESS_EXEC_WARNINGS
95 VTKM_SUPPRESS_EXEC_WARNINGS
97 inline ValueType Get(vtkm::Id
index)
const;
99 VTKM_SUPPRESS_EXEC_WARNINGS
101 inline void Set(vtkm::Id
index,
const ValueType&
value)
const;
103 typedef vtkm::cont::internal::IteratorFromArrayPortal<vtkPointsPortal>
IteratorType;
116 ComponentType* Array;
121 #ifndef vtkmlib_Portals_cxx 122 #include <vtkm/cont/internal/ArrayPortalFromIterators.h> 126 extern template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT
127 vtkPointsPortal<vtkm::Vec<vtkm::Float32, 3>
const>;
128 extern template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT
129 vtkPointsPortal<vtkm::Vec<vtkm::Float64, 3>
const>;
130 extern template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT
131 vtkPointsPortal<vtkm::Vec<vtkm::Float32, 3> >;
132 extern template class VTKACCELERATORSVTKM_TEMPLATE_EXPORT
133 vtkPointsPortal<vtkm::Vec<vtkm::Float64, 3> >;
136 #endif // defined vtkmlib_Portals_cxx 138 #include "Portals.hxx" 139 #endif // vtkmlib_Portals_h typename vtkPortalTraits< Type >::Type ValueType
VTKM_CONT VTKDataArrayType * GetVtkData() const
typename vtkPortalTraits< Type >::ComponentType ComponentType
vtkm::cont::internal::IteratorFromArrayPortal< vtkArrayPortal > IteratorType
VTKM_CONT IteratorType GetIteratorEnd() const
typename vtkPortalTraits< Type >::ComponentType ComponentType
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT vtkm::Id GetNumberOfValues() const
vtkm::cont::internal::IteratorFromArrayPortal< vtkPointsPortal > IteratorType
VTKM_CONT vtkPoints * GetVtkData() const
abstract superclass for arrays of numeric data
VTKM_CONT IteratorType GetIteratorEnd() const
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT vtkm::Id GetNumberOfValues() const
typename std::remove_const< T >::type ComponentType
VTKM_CONT IteratorType GetIteratorBegin() const
VTKM_CONT IteratorType GetIteratorBegin() const
VTKDataArrayType_ VTKDataArrayType
represent and manipulate 3D points
typename vtkPortalTraits< Type >::Type ValueType