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>;