6 #ifndef vtkmlib_Portals_h
7 #define vtkmlib_Portals_h
10 #include "vtkAcceleratorsVTKmCoreModule.h"
11 #include "vtkmConfigCore.h"
13 VTK_ABI_NAMESPACE_BEGIN
18 #include <vtkm/cont/internal/IteratorFromArrayPortal.h>
22 VTK_ABI_NAMESPACE_BEGIN
24 template <
typename Type,
typename VTKDataArrayType_>
27 static const int NUM_COMPONENTS = vtkm::VecTraits<Type>::NUM_COMPONENTS;
40 VTKM_SUPPRESS_EXEC_WARNINGS
44 VTKM_SUPPRESS_EXEC_WARNINGS
46 inline ValueType Get(vtkm::Id
index)
const;
48 VTKM_SUPPRESS_EXEC_WARNINGS
50 inline void Set(vtkm::Id
index,
const ValueType&
value)
const;
52 typedef vtkm::cont::internal::IteratorFromArrayPortal<vtkArrayPortal>
IteratorType;
58 IteratorType
GetIteratorEnd()
const {
return IteratorType(*
this, this->Size); }
61 VTKDataArrayType*
GetVtkData()
const {
return this->VTKData; }
64 VTKDataArrayType* VTKData;
68 template <
typename Type>
71 static const int NUM_COMPONENTS = vtkm::VecTraits<Type>::NUM_COMPONENTS;
83 VTKM_SUPPRESS_EXEC_WARNINGS
87 VTKM_SUPPRESS_EXEC_WARNINGS
89 inline ValueType Get(vtkm::Id
index)
const;
91 VTKM_SUPPRESS_EXEC_WARNINGS
93 inline void Set(vtkm::Id
index,
const ValueType&
value)
const;
95 typedef vtkm::cont::internal::IteratorFromArrayPortal<vtkPointsPortal>
IteratorType;
108 ComponentType* Array;
111 VTK_ABI_NAMESPACE_END
114 #ifndef vtkmlib_Portals_cxx
115 #include <vtkm/cont/internal/ArrayPortalFromIterators.h>
118 VTK_ABI_NAMESPACE_BEGIN
120 extern template class VTKACCELERATORSVTKMCORE_TEMPLATE_EXPORT
121 vtkPointsPortal<vtkm::Vec<vtkm::Float32, 3>
const>;
122 extern template class VTKACCELERATORSVTKMCORE_TEMPLATE_EXPORT
123 vtkPointsPortal<vtkm::Vec<vtkm::Float64, 3>
const>;
124 extern template class VTKACCELERATORSVTKMCORE_TEMPLATE_EXPORT
125 vtkPointsPortal<vtkm::Vec<vtkm::Float32, 3>>;
126 extern template class VTKACCELERATORSVTKMCORE_TEMPLATE_EXPORT
127 vtkPointsPortal<vtkm::Vec<vtkm::Float64, 3>>;
128 VTK_ABI_NAMESPACE_END
131 #endif // defined vtkmlib_Portals_cxx
133 #include "Portals.hxx"
134 #endif // vtkmlib_Portals_h
typename vtkPortalTraits< Type >::Type ValueType
VTKM_CONT VTKDataArrayType * GetVtkData() const
VTKM_CONT 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
abstract superclass for arrays of numeric data
VTKM_CONT vtkPoints * GetVtkData() const
VTKM_CONT IteratorType GetIteratorEnd() const
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT vtkm::Id GetNumberOfValues() const
VTKM_CONT IteratorType GetIteratorEnd() const
typename std::remove_const< T >::type ComponentType
VTKDataArrayType_ VTKDataArrayType
represent and manipulate 3D points
VTKM_CONT IteratorType GetIteratorBegin() const
typename vtkPortalTraits< Type >::Type ValueType