17 #ifndef vtkmFilterPolicy_h 18 #define vtkmFilterPolicy_h 20 #include "vtkmConfig.h" 23 #include <vtkm/cont/ArrayHandlePermutation.h> 24 #include <vtkm/cont/CellSetExplicit.h> 25 #include <vtkm/cont/CellSetPermutation.h> 26 #include <vtkm/cont/CellSetSingleType.h> 27 #include <vtkm/cont/CellSetStructured.h> 28 #include <vtkm/filter/PolicyDefault.h> 35 class vtkmCellSetExplicitAOS;
36 class vtkmCellSetSingleType;
46 vtkm::Vec< vtkm::Vec<vtkm::Float32,3>, 3>,
47 vtkm::Vec< vtkm::Vec<vtkm::Float64,3>, 3>
54 vtkm::TypeListTagVecCommon,
55 vtkm::TypeListTagScalarAll>
62 vtkm::TypeListTagVecCommon,
63 SpecialGradientOutTypes
65 vtkm::TypeListTagScalarAll
72 #if defined(VTKM_FILTER_INCLUDE_AOS)
73 tovtkm::vtkAOSArrayContainerTag
75 #if defined(VTKM_FILTER_INCLUDE_SOA)
76 ,tovtkm::vtkSOAArrayContainerTag
87 vtkm::cont::internal::StorageTagPermutation<
88 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Vec<vtkm::UInt8, 2>>,
89 vtkm::cont::internal::StorageTagPermutation<
90 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Vec<vtkm::Int32, 2>>,
91 vtkm::cont::internal::StorageTagPermutation<
92 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Vec<vtkm::Int64, 2>>,
93 vtkm::cont::internal::StorageTagPermutation<
94 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Vec<vtkm::Float32, 2>>,
95 vtkm::cont::internal::StorageTagPermutation<
96 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Vec<vtkm::Float64, 2>>,
97 vtkm::cont::internal::StorageTagPermutation<
98 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Vec<vtkm::UInt8, 3>>,
99 vtkm::cont::internal::StorageTagPermutation<
100 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Vec<vtkm::Int32, 3>>,
101 vtkm::cont::internal::StorageTagPermutation<
102 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Vec<vtkm::Int64, 3>>,
103 vtkm::cont::internal::StorageTagPermutation<
104 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Vec<vtkm::Float32, 3>>,
105 vtkm::cont::internal::StorageTagPermutation<
106 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Vec<vtkm::Float64, 3>>,
107 vtkm::cont::internal::StorageTagPermutation<
108 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Vec<vtkm::UInt8, 4>>,
109 vtkm::cont::internal::StorageTagPermutation<
110 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Vec<vtkm::Int32, 4>>,
111 vtkm::cont::internal::StorageTagPermutation<
112 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Vec<vtkm::Int64, 4>>,
113 vtkm::cont::internal::StorageTagPermutation<
114 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Vec<vtkm::Float32, 4>>,
115 vtkm::cont::internal::StorageTagPermutation<
116 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Vec<vtkm::Float64, 4>>>
121 : vtkm::ListTagBase<vtkm::cont::internal::StorageTagPermutation<
122 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Int8>,
123 vtkm::cont::internal::StorageTagPermutation<
124 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::UInt8>,
125 vtkm::cont::internal::StorageTagPermutation<
126 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Int16>,
127 vtkm::cont::internal::StorageTagPermutation<
128 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::UInt16>,
129 vtkm::cont::internal::StorageTagPermutation<
130 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Int32>,
131 vtkm::cont::internal::StorageTagPermutation<
132 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::UInt32>,
133 vtkm::cont::internal::StorageTagPermutation<
134 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Int64>,
135 vtkm::cont::internal::StorageTagPermutation<
136 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::UInt64>,
137 vtkm::cont::internal::StorageTagPermutation<
138 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Float32>,
139 vtkm::cont::internal::StorageTagPermutation<
140 vtkm::cont::ArrayHandle<vtkm::Id>, vtkm::Float64>>
145 : vtkm::ListTagJoin<tovtkm::TypeListTagPermutationVecCommon,
146 tovtkm::TypeListTagPermutationScalarAll>
151 #if defined(VTKM_FILTER_INCLUDE_AOS)
152 ,tovtkm::vtkAOSArrayContainerTag
154 #if defined(VTKM_FILTER_INCLUDE_SOA)
155 ,tovtkm::vtkSOAArrayContainerTag
162 : vtkm::ListTagJoin<TypeListTagVTMOut, TypeListTagPermutationVTK>
169 vtkm::cont::ArrayHandleUniformPointCoordinates::StorageTag,
170 tovtkm::vtkAOSArrayContainerTag
171 #if defined(VTKM_FILTER_INCLUDE_SOA)
173 tovtkm::vtkSOAArrayContainerTag
180 vtkm::cont::ArrayHandleUniformPointCoordinates::StorageTag,
181 vtkm::cont::StorageTagBasic,
182 tovtkm::vtkAOSArrayContainerTag>
188 : vtkm::ListTagBase<vtkm::cont::CellSetStructured<3>, vtkm::cont::CellSetStructured<2>>
193 vtkm::cont::CellSetPermutation<vtkm::cont::CellSetStructured<3>>,
194 vtkm::cont::CellSetPermutation<vtkm::cont::CellSetStructured<2>> >
200 : vtkm::ListTagBase<vtkm::cont::vtkmCellSetExplicitAOS,
201 vtkm::cont::vtkmCellSetSingleType>
206 vtkm::cont::CellSetExplicit<>, vtkm::cont::CellSetSingleType<>,
207 vtkm::cont::vtkmCellSetExplicitAOS, vtkm::cont::vtkmCellSetSingleType,
208 vtkm::cont::CellSetPermutation<vtkm::cont::vtkmCellSetExplicitAOS>,
209 vtkm::cont::CellSetPermutation<vtkm::cont::vtkmCellSetSingleType>>
215 : vtkm::ListTagJoin<CellListStructuredInVTK, CellListUnstructuredInVTK>
219 : vtkm::ListTagJoin<CellListStructuredOutVTK, CellListUnstructuredOutVTK>
226 :
public vtkm::filter::PolicyBase<vtkmInputFilterPolicy>
244 :
public vtkm::filter::PolicyBase<vtkmOutputFilterPolicy>
vtkm::filter::PolicyDefault::DeviceAdapterList DeviceAdapterList
tovtkm::CellListAllOutVTK AllCellSetList
tovtkm::PointListOutVTK CoordinateStorageList
vtkm::TypeListTagFieldVec3 CoordinateTypeList
tovtkm::CellListUnstructuredOutVTK UnstructuredCellSetList
tovtkm::ArrayListOutVTK FieldStorageList
tovtkm::FieldTypeOutVTK FieldTypeList
tovtkm::CellListStructuredOutVTK StructuredCellSetList