|  | VTK
    9.0.1
    | 
 
 
 
Go to the documentation of this file.
   17 #ifndef vtkmlib_ArrayConverters_h 
   18 #define vtkmlib_ArrayConverters_h 
   20 #include "vtkAcceleratorsVTKmModule.h"  
   21 #include "vtkmConfig.h"                 
   26 #include <vtkm/cont/ArrayHandleSOA.h> 
   27 #include <vtkm/cont/Field.h> 
   29 #include <type_traits>  
   40 class CoordinateSystem;
 
   47 template <
typename DataArrayType, vtkm::IdComponent NumComponents>
 
   50 template <
typename T, vtkm::IdComponent NumComponents>
 
   54     typename std::conditional<NumComponents == 1, T, vtkm::Vec<T, NumComponents> >
::type;
 
   55   using StorageType = vtkm::cont::internal::Storage<ValueType, vtkm::cont::StorageTagBasic>;
 
   56   using ArrayHandleType = vtkm::cont::ArrayHandle<ValueType, vtkm::cont::StorageTagBasic>;
 
   60     return vtkm::cont::make_ArrayHandle(
 
   65 template <
typename T, vtkm::IdComponent NumComponents>
 
   69   using StorageType = vtkm::cont::internal::Storage<ValueType, vtkm::cont::StorageTagSOA>;
 
   70   using ArrayHandleType = vtkm::cont::ArrayHandle<ValueType, vtkm::cont::StorageTagSOA>;
 
   75     vtkm::cont::internal::Storage<ValueType, vtkm::cont::StorageTagSOA> storage;
 
   76     for (vtkm::IdComponent i = 0; i < NumComponents; ++i)
 
   79         vtkm::cont::make_ArrayHandle<T>(
 
   83     return vtkm::cont::ArrayHandleSOA<ValueType>(storage);
 
   90   using StorageType = vtkm::cont::internal::Storage<T, vtkm::cont::StorageTagBasic>;
 
   95     return vtkm::cont::make_ArrayHandle(
 
  109 VTKACCELERATORSVTKM_EXPORT
 
  113 VTKACCELERATORSVTKM_EXPORT
 
  120 VTKACCELERATORSVTKM_EXPORT
 
  123 VTKACCELERATORSVTKM_EXPORT
 
  126 VTKACCELERATORSVTKM_EXPORT
 
  142 #endif // vtkmlib_ArrayConverters_h 
  
represent and manipulate 3D points
std::map< std::string, DataArray > DataSet
key: variable name, value: DataArray
Struct-Of-Arrays implementation of vtkGenericDataArray.
vtkm::cont::ArrayHandle< ValueType, vtkm::cont::StorageTagSOA > ArrayHandleType
typename std::conditional< NumComponents==1, T, vtkm::Vec< T, NumComponents > >::type ValueType
VTKACCELERATORSVTKM_EXPORT vtkm::cont::Field Convert(vtkDataArray *input, int association)
ValueType * GetPointer(vtkIdType valueIdx)
Get the address of a particular data index.
abstract superclass for arrays of numeric data
VTKACCELERATORSVTKM_EXPORT vtkDataArray * Convert(const vtkm::cont::Field &input)
static ArrayHandleType Wrap(vtkSOADataArrayTemplate< T > *input)
vtkm::cont::ArrayHandle< ValueType, vtkm::cont::StorageTagBasic > ArrayHandleType
vtkm::cont::internal::Storage< ValueType, vtkm::cont::StorageTagBasic > StorageType
VTKACCELERATORSVTKM_EXPORT void ProcessFields(vtkDataSet *input, vtkm::cont::DataSet &dataset, tovtkm::FieldsFlag fields)
vtkIdType GetNumberOfTuples() const
Get the number of complete tuples (a component group) in the array.
ValueType * GetComponentArrayPointer(int comp)
Return a pointer to a contiguous block of memory containing all values for a particular components (i...
VTKACCELERATORSVTKM_EXPORT bool ConvertArrays(const vtkm::cont::DataSet &input, vtkDataSet *output)
tovtkm::FieldsFlag operator&(const tovtkm::FieldsFlag &a, const tovtkm::FieldsFlag &b)
static ArrayHandleType Wrap(vtkSOADataArrayTemplate< T > *input)
static ArrayHandleType Wrap(vtkAOSDataArrayTemplate< T > *input)
vtkm::Vec< T, NumComponents > ValueType
vtkm::cont::internal::Storage< T, vtkm::cont::StorageTagBasic > StorageType
abstract class to specify dataset behavior
Array-Of-Structs implementation of vtkGenericDataArray.
tovtkm::FieldsFlag operator|(const tovtkm::FieldsFlag &a, const tovtkm::FieldsFlag &b)
vtkm::cont::internal::Storage< ValueType, vtkm::cont::StorageTagSOA > StorageType
vtkm::cont::ArrayHandle< T, vtkm::cont::StorageTagBasic > ArrayHandleType