Merge topic 'policy-inherit-defaults'
eb26b88c Change DefaultPolicy to PolicyDefault bb32e408 Allow all policies to inherit defaults Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robert.maynard@kitware.com> Merge-request: !619
This commit is contained in:
commit
c4874340e5
@ -52,7 +52,7 @@ template<typename Derived>
|
||||
inline VTKM_CONT
|
||||
ResultDataSet FilterDataSet<Derived>::Execute(const vtkm::cont::DataSet &input)
|
||||
{
|
||||
return this->Execute(input, vtkm::filter::DefaultPolicy());
|
||||
return this->Execute(input, vtkm::filter::PolicyDefault());
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -118,7 +118,7 @@ inline VTKM_CONT
|
||||
bool FilterDataSet<Derived>::MapFieldOntoOutput(ResultDataSet& result,
|
||||
const vtkm::cont::Field& field)
|
||||
{
|
||||
return this->MapFieldOntoOutput(result, field, vtkm::filter::DefaultPolicy());
|
||||
return this->MapFieldOntoOutput(result, field, vtkm::filter::PolicyDefault());
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
@ -55,7 +55,7 @@ ResultDataSet FilterDataSetWithField<Derived>::Execute(const vtkm::cont::DataSet
|
||||
{
|
||||
return this->Execute(input,
|
||||
input.GetField(inFieldName),
|
||||
vtkm::filter::DefaultPolicy());
|
||||
vtkm::filter::PolicyDefault());
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -66,7 +66,7 @@ ResultDataSet FilterDataSetWithField<Derived>::Execute(const vtkm::cont::DataSet
|
||||
{
|
||||
return this->Execute(input,
|
||||
field,
|
||||
vtkm::filter::DefaultPolicy());
|
||||
vtkm::filter::PolicyDefault());
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -77,7 +77,7 @@ ResultDataSet FilterDataSetWithField<Derived>::Execute(const vtkm::cont::DataSet
|
||||
{
|
||||
return this->Execute(input,
|
||||
field,
|
||||
vtkm::filter::DefaultPolicy());
|
||||
vtkm::filter::PolicyDefault());
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -179,7 +179,7 @@ inline VTKM_CONT
|
||||
bool FilterDataSetWithField<Derived>::MapFieldOntoOutput(ResultDataSet& result,
|
||||
const vtkm::cont::Field& field)
|
||||
{
|
||||
return this->MapFieldOntoOutput(result, field, vtkm::filter::DefaultPolicy());
|
||||
return this->MapFieldOntoOutput(result, field, vtkm::filter::PolicyDefault());
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
@ -43,7 +43,7 @@ ResultField FilterField<Derived>::Execute(const vtkm::cont::DataSet &input,
|
||||
{
|
||||
return this->Execute(input,
|
||||
input.GetField(inFieldName),
|
||||
vtkm::filter::DefaultPolicy());
|
||||
vtkm::filter::PolicyDefault());
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -54,7 +54,7 @@ ResultField FilterField<Derived>::Execute(const vtkm::cont::DataSet &input,
|
||||
{
|
||||
return this->Execute(input,
|
||||
field,
|
||||
vtkm::filter::DefaultPolicy());
|
||||
vtkm::filter::PolicyDefault());
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -65,7 +65,7 @@ ResultField FilterField<Derived>::Execute(const vtkm::cont::DataSet &input,
|
||||
{
|
||||
return this->Execute(input,
|
||||
field,
|
||||
vtkm::filter::DefaultPolicy());
|
||||
vtkm::filter::PolicyDefault());
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
@ -21,9 +21,14 @@
|
||||
#ifndef vtk_m_filter_PolicyBase_h
|
||||
#define vtk_m_filter_PolicyBase_h
|
||||
|
||||
#include <vtkm/TypeListTag.h>
|
||||
|
||||
#include <vtkm/cont/CellSetListTag.h>
|
||||
#include <vtkm/cont/CoordinateSystem.h>
|
||||
#include <vtkm/cont/DeviceAdapterListTag.h>
|
||||
#include <vtkm/cont/DynamicCellSet.h>
|
||||
#include <vtkm/cont/Field.h>
|
||||
#include <vtkm/cont/StorageListTag.h>
|
||||
|
||||
#include <vtkm/filter/FilterTraits.h>
|
||||
|
||||
@ -31,10 +36,20 @@ namespace vtkm {
|
||||
namespace filter {
|
||||
|
||||
template<typename Derived>
|
||||
class PolicyBase
|
||||
struct PolicyBase
|
||||
{
|
||||
typedef VTKM_DEFAULT_TYPE_LIST_TAG FieldTypeList;
|
||||
typedef VTKM_DEFAULT_STORAGE_LIST_TAG FieldStorageList;
|
||||
|
||||
typedef vtkm::cont::CellSetListTagStructured StructuredCellSetList;
|
||||
typedef vtkm::cont::CellSetListTagUnstructured UnstructuredCellSetList;
|
||||
typedef VTKM_DEFAULT_CELL_SET_LIST_TAG AllCellSetList;
|
||||
|
||||
typedef VTKM_DEFAULT_COORDINATE_SYSTEM_TYPE_LIST_TAG CoordinateTypeList;
|
||||
typedef VTKM_DEFAULT_COORDINATE_SYSTEM_STORAGE_LIST_TAG CoordinateStorageList;
|
||||
|
||||
// List of backends to try in sequence (if one fails, the next is attempted).
|
||||
typedef VTKM_DEFAULT_DEVICE_ADAPTER_LIST_TAG DeviceAdapterList;
|
||||
};
|
||||
|
||||
|
||||
|
@ -18,37 +18,21 @@
|
||||
// this software.
|
||||
//============================================================================
|
||||
|
||||
#ifndef vtk_m_filter_DefaultPolicy_h
|
||||
#define vtk_m_filter_DefaultPolicy_h
|
||||
#ifndef vtk_m_filter_PolicyDefault_h
|
||||
#define vtk_m_filter_PolicyDefault_h
|
||||
|
||||
#include <vtkm/filter/PolicyBase.h>
|
||||
#include <vtkm/cont/CellSetListTag.h>
|
||||
#include <vtkm/cont/DeviceAdapterListTag.h>
|
||||
#include <vtkm/cont/StorageListTag.h>
|
||||
#include <vtkm/TypeListTag.h>
|
||||
|
||||
namespace vtkm {
|
||||
namespace filter {
|
||||
|
||||
class DefaultPolicy : public vtkm::filter::PolicyBase< DefaultPolicy >
|
||||
struct PolicyDefault : vtkm::filter::PolicyBase< PolicyDefault >
|
||||
{
|
||||
public:
|
||||
typedef VTKM_DEFAULT_TYPE_LIST_TAG FieldTypeList;
|
||||
typedef VTKM_DEFAULT_STORAGE_LIST_TAG FieldStorageList;
|
||||
|
||||
typedef vtkm::cont::CellSetListTagStructured StructuredCellSetList;
|
||||
typedef vtkm::cont::CellSetListTagUnstructured UnstructuredCellSetList;
|
||||
typedef VTKM_DEFAULT_CELL_SET_LIST_TAG AllCellSetList;
|
||||
|
||||
typedef VTKM_DEFAULT_COORDINATE_SYSTEM_TYPE_LIST_TAG CoordinateTypeList;
|
||||
typedef VTKM_DEFAULT_COORDINATE_SYSTEM_STORAGE_LIST_TAG CoordinateStorageList;
|
||||
|
||||
// List of backends to try in sequence (if one fails, the next is attempted).
|
||||
typedef VTKM_DEFAULT_DEVICE_ADAPTER_LIST_TAG DeviceAdapterList;
|
||||
// Inherit defaults from PolicyBase
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif //vtk_m_filter_DefaultPolicy_h
|
||||
#endif //vtk_m_filter_PolicyDefault_h
|
||||
|
@ -183,7 +183,7 @@ public:
|
||||
vtkm::cont::DataSet Make3DRadiantDataSet(vtkm::IdComponent dim=5);
|
||||
};
|
||||
|
||||
class RadiantDataSetPolicy : public vtkm::filter::PolicyBase< RadiantDataSetPolicy >
|
||||
class PolicyRadiantDataSet : public vtkm::filter::PolicyBase< PolicyRadiantDataSet >
|
||||
{
|
||||
typedef MakeRadiantDataSet::DataArrayHandle DataHandleType;
|
||||
typedef MakeRadiantDataSet::ConnectivityArrayHandle CountingHandleType;
|
||||
@ -200,17 +200,11 @@ public:
|
||||
TransformHandleType::StorageTag> {};
|
||||
|
||||
typedef TypeListTagRadiantTypes FieldStorageList;
|
||||
typedef vtkm::filter::DefaultPolicy::FieldTypeList FieldTypeList;
|
||||
|
||||
struct TypeListTagRadiantCellSetTypes : vtkm::ListTagBase<
|
||||
MakeRadiantDataSet::CellSet > {};
|
||||
|
||||
typedef TypeListTagRadiantCellSetTypes AllCellSetList;
|
||||
|
||||
typedef vtkm::filter::DefaultPolicy::CoordinateTypeList CoordinateTypeList;
|
||||
typedef vtkm::filter::DefaultPolicy::CoordinateStorageList CoordinateStorageList;
|
||||
|
||||
typedef vtkm::filter::DefaultPolicy::DeviceAdapterList DeviceAdapterList;
|
||||
};
|
||||
|
||||
inline vtkm::cont::DataSet MakeRadiantDataSet::Make3DRadiantDataSet(vtkm::IdComponent dim)
|
||||
@ -346,13 +340,13 @@ void TestMarchingCubesCustomPolicy()
|
||||
|
||||
//We specify a custom execution policy here, since the contourField is a
|
||||
//custom field type
|
||||
result = mc.Execute( dataSet, contourField, RadiantDataSetPolicy() );
|
||||
result = mc.Execute( dataSet, contourField, PolicyRadiantDataSet() );
|
||||
|
||||
//Map a field onto the resulting dataset
|
||||
vtkm::cont::Field projectedField = dataSet.GetField("distanceToOther");
|
||||
|
||||
mc.MapFieldOntoOutput(result, projectedField, RadiantDataSetPolicy());
|
||||
mc.MapFieldOntoOutput(result, contourField, RadiantDataSetPolicy());
|
||||
mc.MapFieldOntoOutput(result, projectedField, PolicyRadiantDataSet());
|
||||
mc.MapFieldOntoOutput(result, contourField, PolicyRadiantDataSet());
|
||||
|
||||
const vtkm::cont::DataSet& outputData = result.GetDataSet();
|
||||
VTKM_TEST_ASSERT(outputData.GetNumberOfCellSets() == 1,
|
||||
|
@ -125,7 +125,7 @@ void TestPointElevationWithPolicy()
|
||||
|
||||
vtkm::filter::ResultField result;
|
||||
|
||||
vtkm::filter::DefaultPolicy p;
|
||||
vtkm::filter::PolicyDefault p;
|
||||
result = filter.Execute(inputData,
|
||||
inputData.GetCoordinateSystem(),
|
||||
p);
|
||||
|
Loading…
Reference in New Issue
Block a user