Go to the documentation of this file.
10 #ifndef vtk_m_VecFromPortalPermute_h
11 #define vtk_m_VecFromPortalPermute_h
27 template <
typename IndexVecType,
typename PortalType>
31 using ComponentType =
typename std::remove_const<typename PortalType::ValueType>::type;
50 template <vtkm::IdComponent DestSize>
56 dest[index] = (*this)[index];
72 template <
typename IndexVecType,
typename PortalType>
76 using ComponentType =
typename std::remove_const<typename PortalType::ValueType>::type;
95 template <vtkm::IdComponent DestSize>
98 vtkm::IdComponent numComponents = vtkm::Min(DestSize, this->GetNumberOfComponents());
101 dest[index] = (*this)[index];
109 return this->Portal->Get((*this->Indices)[index]);
117 template <
typename IndexVecType,
typename PortalType>
133 template <
typename IndexVecType,
typename PortalType>
154 return vector[componentIndex];
158 template <vtkm::IdComponent destSize>
165 template <
typename IndexVecType,
typename PortalType>
167 const IndexVecType* index,
168 const PortalType& portal)
173 template <
typename IndexVecType,
typename PortalType>
175 const IndexVecType* index,
176 const PortalType*
const portal)
183 #endif //vtk_m_VecFromPortalPermute_h
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT ComponentType operator[](vtkm::IdComponent index) const
Definition: VecFromPortalPermute.h:62
VTKM_SUPPRESS_EXEC_WARNINGS static VTKM_EXEC_CONT vtkm::IdComponent GetNumberOfComponents(const VecType &vector)
Definition: VecFromPortalPermute.h:145
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT vtkm::IdComponent GetNumberOfComponents() const
Definition: VecFromPortalPermute.h:92
const IndexVecType *const Indices
Definition: VecFromPortalPermute.h:68
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT vtkm::IdComponent GetNumberOfComponents() const
Definition: VecFromPortalPermute.h:47
#define VTKM_EXEC
Definition: ExportMacros.h:51
A tag for vectors that are "true" vectors (i.e.
Definition: VecTraits.h:21
Groups connected points that have the same field value.
Definition: Atomic.h:19
VTKM_EXEC VecFromPortalPermute< IndexVecType, PortalType > make_VecFromPortalPermute(const IndexVecType *index, const PortalType &portal)
Definition: VecFromPortalPermute.h:166
The TypeTraits class provides helpful compile-time information about the basic types used in VTKm (an...
Definition: TypeTraits.h:61
typename vtkm::TypeTraits< ComponentType >::NumericTag NumericTag
Definition: VecFromPortalPermute.h:125
#define VTKM_EXEC_CONT
Definition: ExportMacros.h:52
vtkm::Int32 IdComponent
Represents a component ID (index of component in a vector).
Definition: Types.h:168
Definition: VecFromPortalPermute.h:73
typename PortalType::ValueType ComponentType
Definition: VecFromPortalPermute.h:122
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT VecFromPortalPermute()
Definition: VecFromPortalPermute.h:35
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT ComponentType operator[](vtkm::IdComponent index) const
Definition: VecFromPortalPermute.h:107
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT void CopyInto(vtkm::Vec< ComponentType, DestSize > &dest) const
Definition: VecFromPortalPermute.h:51
typename vtkm::VecTraits< ComponentType >::BaseComponentType BaseComponentType
Base component type in the vector.
Definition: VecTraits.h:80
typename std::remove_const< typename PortalType::ValueType >::type ComponentType
Definition: VecFromPortalPermute.h:31
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT void CopyInto(vtkm::Vec< ComponentType, DestSize > &dest) const
Definition: VecFromPortalPermute.h:96
typename VecType::ComponentType ComponentType
Definition: VecFromPortalPermute.h:138
VTKM_SUPPRESS_EXEC_WARNINGS static VTKM_EXEC_CONT VecType ZeroInitialization()
Definition: VecFromPortalPermute.h:130
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT VecFromPortalPermute(const IndexVecType *indices, const PortalType &portal)
Definition: VecFromPortalPermute.h:39
typename std::remove_const< typename PortalType::ValueType >::type ComponentType
Definition: VecFromPortalPermute.h:76
const PortalType *const Portal
Definition: VecFromPortalPermute.h:114
PortalType Portal
Definition: VecFromPortalPermute.h:69
typename vtkm::VecTraits< ComponentType >::BaseComponentType BaseComponentType
Definition: VecFromPortalPermute.h:139
Tag used to identify types that aren't Real, Integer, Scalar or Vector.
Definition: TypeTraits.h:20
Tag used to identify 1 dimensional types (vectors).
Definition: TypeTraits.h:51
const IndexVecType *const Indices
Definition: VecFromPortalPermute.h:113
A short fixed-length array.
Definition: Types.h:767
VTKM_SUPPRESS_EXEC_WARNINGS static VTKM_EXEC_CONT ComponentType GetComponent(const VecType &vector, vtkm::IdComponent componentIndex)
Definition: VecFromPortalPermute.h:152
VTKM_SUPPRESS_EXEC_WARNINGS static VTKM_EXEC_CONT void CopyInto(const VecType &src, vtkm::Vec< ComponentType, destSize > &dest)
Definition: VecFromPortalPermute.h:159
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT VecFromPortalPermute()
Definition: VecFromPortalPermute.h:80
The VecTraits class gives several static members that define how to use a given type as a vector.
Definition: VecTraits.h:66
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC_CONT VecFromPortalPermute(const IndexVecType *indices, const PortalType *const portal)
Definition: VecFromPortalPermute.h:84
#define VTKM_SUPPRESS_EXEC_WARNINGS
Definition: ExportMacros.h:53
A short vector from an ArrayPortal and a vector of indices.
Definition: VecFromPortalPermute.h:28