17 #ifndef vtkmFilterPolicy_h
18 #define vtkmFilterPolicy_h
20 #ifndef VTK_WRAPPING_CXX
22 #include "vtkmConfig.h"
24 #include <vtkm/List.h>
25 #include <vtkm/cont/ArrayHandleCast.h>
26 #include <vtkm/cont/ArrayHandlePermutation.h>
27 #include <vtkm/cont/CellSetExplicit.h>
28 #include <vtkm/cont/CellSetPermutation.h>
29 #include <vtkm/cont/CellSetSingleType.h>
30 #include <vtkm/cont/CellSetStructured.h>
31 #include <vtkm/filter/PolicyDefault.h>
55 vtkm::List<vtkm::Vec<vtkm::Vec<vtkm::Float32, 3>, 3>, vtkm::Vec<vtkm::Vec<vtkm::Float64, 3>, 3> >;
57 using FieldTypeInVTK = vtkm::ListAppend<vtkm::TypeListVecCommon, VTKScalarTypes>;
60 vtkm::ListAppend<vtkm::TypeListVecCommon, SpecialGradientOutTypes, VTKScalarTypes>;
64 vtkm::List<vtkm::cont::CellSetStructured<3>, vtkm::cont::CellSetStructured<2> >;
66 vtkm::List<vtkm::cont::CellSetPermutation<vtkm::cont::CellSetStructured<3> >,
67 vtkm::cont::CellSetPermutation<vtkm::cont::CellSetStructured<2> > >;
71 #ifdef VTKM_USE_64BIT_IDS
72 using Int32AOSHandle = vtkm::cont::ArrayHandle<vtkTypeInt32>;
73 using Int32AsIdAOSHandle = vtkm::cont::ArrayHandleCast<vtkm::Id, Int32AOSHandle>;
74 using Int32AsIdAOSStorage =
typename Int32AsIdAOSHandle::StorageTag;
77 Int32AsIdAOSStorage, Int32AsIdAOSStorage>;
79 vtkm::cont::StorageTagBasic, vtkm::cont::StorageTagBasic>;
82 #else // VTKM_USE_64BIT_IDS
83 using Int64AOSHandle = vtkm::cont::ArrayHandle<vtkTypeInt64, vtkm::cont::StorageTagBasic>;
88 vtkm::cont::StorageTagBasic, vtkm::cont::StorageTagBasic>;
93 #endif // VTKM_USE_64BIT_IDS
104 vtkm::cont::CellSetExplicit<>,
105 vtkm::cont::CellSetSingleType<>,
110 vtkm::cont::CellSetPermutation<CellSetExplicit32Bit>,
111 vtkm::cont::CellSetPermutation<CellSetExplicit64Bit>,
112 vtkm::cont::CellSetPermutation<CellSetSingleType32Bit>,
113 vtkm::cont::CellSetPermutation<CellSetSingleType64Bit>,
114 vtkm::cont::CellSetPermutation<vtkm::cont::CellSetExplicit<> >,
115 vtkm::cont::CellSetPermutation<vtkm::cont::CellSetSingleType<> >
119 using CellListAllInVTK = vtkm::ListAppend<CellListStructuredInVTK, CellListUnstructuredInVTK>;
120 using CellListAllOutVTK = vtkm::ListAppend<CellListStructuredOutVTK, CellListUnstructuredOutVTK>;