6 #ifndef vtkmlib_Portals_h
7 #define vtkmlib_Portals_h
10 #include "vtkAcceleratorsVTKmCoreModule.h"
12 #include "vtkmConfigCore.h"
14 VTK_ABI_NAMESPACE_BEGIN
19 #include <viskores/cont/internal/IteratorFromArrayPortal.h>
23 VTK_ABI_NAMESPACE_BEGIN
25 template <
typename Type,
typename VTKDataArrayType_>
28 static const int NUM_COMPONENTS = viskores::VecTraits<Type>::NUM_COMPONENTS;
41 VISKORES_SUPPRESS_EXEC_WARNINGS
45 VISKORES_SUPPRESS_EXEC_WARNINGS
47 inline ValueType Get(viskores::Id
index)
const;
49 VISKORES_SUPPRESS_EXEC_WARNINGS
51 inline void Set(viskores::Id
index,
const ValueType&
value)
const;
53 typedef viskores::cont::internal::IteratorFromArrayPortal<vtkArrayPortal>
IteratorType;
59 IteratorType
GetIteratorEnd()
const {
return IteratorType(*
this, this->Size); }
62 VTKDataArrayType*
GetVtkData()
const {
return this->VTKData; }
65 VTKDataArrayType* VTKData;
69 template <
typename Type>
72 static const int NUM_COMPONENTS = viskores::VecTraits<Type>::NUM_COMPONENTS;
84 VISKORES_SUPPRESS_EXEC_WARNINGS
88 VISKORES_SUPPRESS_EXEC_WARNINGS
90 inline ValueType Get(viskores::Id
index)
const;
92 VISKORES_SUPPRESS_EXEC_WARNINGS
94 inline void Set(viskores::Id
index,
const ValueType&
value)
const;
96 typedef viskores::cont::internal::IteratorFromArrayPortal<vtkPointsPortal>
IteratorType;
109 ComponentType* Array;
112 VTK_ABI_NAMESPACE_END
115 #ifndef vtkmlib_Portals_cxx
116 #include <viskores/cont/internal/ArrayPortalFromIterators.h>
119 VTK_ABI_NAMESPACE_BEGIN
121 extern template class VTKACCELERATORSVTKMCORE_TEMPLATE_EXPORT
122 vtkPointsPortal<viskores::Vec<viskores::Float32, 3>
const>;
123 extern template class VTKACCELERATORSVTKMCORE_TEMPLATE_EXPORT
124 vtkPointsPortal<viskores::Vec<viskores::Float64, 3>
const>;
125 extern template class VTKACCELERATORSVTKMCORE_TEMPLATE_EXPORT
126 vtkPointsPortal<viskores::Vec<viskores::Float32, 3>>;
127 extern template class VTKACCELERATORSVTKMCORE_TEMPLATE_EXPORT
128 vtkPointsPortal<viskores::Vec<viskores::Float64, 3>>;
129 VTK_ABI_NAMESPACE_END
132 #endif // defined vtkmlib_Portals_cxx
134 #include "Portals.hxx"
135 #endif // vtkmlib_Portals_h
typename vtkPortalTraits< Type >::Type ValueType
viskores::cont::internal::IteratorFromArrayPortal< vtkPointsPortal > IteratorType
viskores::cont::internal::IteratorFromArrayPortal< vtkArrayPortal > IteratorType
VISKORES_CONT IteratorType GetIteratorBegin() const
typename vtkPortalTraits< Type >::ComponentType ComponentType
VISKORES_SUPPRESS_EXEC_WARNINGS VISKORES_EXEC_CONT viskores::Id GetNumberOfValues() const
VISKORES_CONT IteratorType GetIteratorBegin() const
VISKORES_CONT IteratorType GetIteratorEnd() const
VISKORES_CONT VTKDataArrayType * GetVtkData() const
typename vtkPortalTraits< Type >::ComponentType ComponentType
abstract superclass for arrays of numeric data
VISKORES_CONT vtkPoints * GetVtkData() const
VISKORES_SUPPRESS_EXEC_WARNINGS VISKORES_EXEC_CONT viskores::Id GetNumberOfValues() const
typename std::remove_const< T >::type ComponentType
#define VTK_DEPRECATED_IN_9_7_0(reason)
VISKORES_CONT IteratorType GetIteratorEnd() const
VTKDataArrayType_ VTKDataArrayType
represent and manipulate 3D points
typename vtkPortalTraits< Type >::Type ValueType