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
|
inline VTKM_CONT
|
||||||
ResultDataSet FilterDataSet<Derived>::Execute(const vtkm::cont::DataSet &input)
|
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,
|
bool FilterDataSet<Derived>::MapFieldOntoOutput(ResultDataSet& result,
|
||||||
const vtkm::cont::Field& field)
|
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,
|
return this->Execute(input,
|
||||||
input.GetField(inFieldName),
|
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,
|
return this->Execute(input,
|
||||||
field,
|
field,
|
||||||
vtkm::filter::DefaultPolicy());
|
vtkm::filter::PolicyDefault());
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -77,7 +77,7 @@ ResultDataSet FilterDataSetWithField<Derived>::Execute(const vtkm::cont::DataSet
|
|||||||
{
|
{
|
||||||
return this->Execute(input,
|
return this->Execute(input,
|
||||||
field,
|
field,
|
||||||
vtkm::filter::DefaultPolicy());
|
vtkm::filter::PolicyDefault());
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -179,7 +179,7 @@ inline VTKM_CONT
|
|||||||
bool FilterDataSetWithField<Derived>::MapFieldOntoOutput(ResultDataSet& result,
|
bool FilterDataSetWithField<Derived>::MapFieldOntoOutput(ResultDataSet& result,
|
||||||
const vtkm::cont::Field& field)
|
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,
|
return this->Execute(input,
|
||||||
input.GetField(inFieldName),
|
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,
|
return this->Execute(input,
|
||||||
field,
|
field,
|
||||||
vtkm::filter::DefaultPolicy());
|
vtkm::filter::PolicyDefault());
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -65,7 +65,7 @@ ResultField FilterField<Derived>::Execute(const vtkm::cont::DataSet &input,
|
|||||||
{
|
{
|
||||||
return this->Execute(input,
|
return this->Execute(input,
|
||||||
field,
|
field,
|
||||||
vtkm::filter::DefaultPolicy());
|
vtkm::filter::PolicyDefault());
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
@ -21,9 +21,14 @@
|
|||||||
#ifndef vtk_m_filter_PolicyBase_h
|
#ifndef vtk_m_filter_PolicyBase_h
|
||||||
#define 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/CoordinateSystem.h>
|
||||||
|
#include <vtkm/cont/DeviceAdapterListTag.h>
|
||||||
#include <vtkm/cont/DynamicCellSet.h>
|
#include <vtkm/cont/DynamicCellSet.h>
|
||||||
#include <vtkm/cont/Field.h>
|
#include <vtkm/cont/Field.h>
|
||||||
|
#include <vtkm/cont/StorageListTag.h>
|
||||||
|
|
||||||
#include <vtkm/filter/FilterTraits.h>
|
#include <vtkm/filter/FilterTraits.h>
|
||||||
|
|
||||||
@ -31,10 +36,20 @@ namespace vtkm {
|
|||||||
namespace filter {
|
namespace filter {
|
||||||
|
|
||||||
template<typename Derived>
|
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.
|
// this software.
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
#ifndef vtk_m_filter_DefaultPolicy_h
|
#ifndef vtk_m_filter_PolicyDefault_h
|
||||||
#define vtk_m_filter_DefaultPolicy_h
|
#define vtk_m_filter_PolicyDefault_h
|
||||||
|
|
||||||
#include <vtkm/filter/PolicyBase.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 vtkm {
|
||||||
namespace filter {
|
namespace filter {
|
||||||
|
|
||||||
class DefaultPolicy : public vtkm::filter::PolicyBase< DefaultPolicy >
|
struct PolicyDefault : vtkm::filter::PolicyBase< PolicyDefault >
|
||||||
{
|
{
|
||||||
public:
|
// Inherit defaults from 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;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#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);
|
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::DataArrayHandle DataHandleType;
|
||||||
typedef MakeRadiantDataSet::ConnectivityArrayHandle CountingHandleType;
|
typedef MakeRadiantDataSet::ConnectivityArrayHandle CountingHandleType;
|
||||||
@ -200,17 +200,11 @@ public:
|
|||||||
TransformHandleType::StorageTag> {};
|
TransformHandleType::StorageTag> {};
|
||||||
|
|
||||||
typedef TypeListTagRadiantTypes FieldStorageList;
|
typedef TypeListTagRadiantTypes FieldStorageList;
|
||||||
typedef vtkm::filter::DefaultPolicy::FieldTypeList FieldTypeList;
|
|
||||||
|
|
||||||
struct TypeListTagRadiantCellSetTypes : vtkm::ListTagBase<
|
struct TypeListTagRadiantCellSetTypes : vtkm::ListTagBase<
|
||||||
MakeRadiantDataSet::CellSet > {};
|
MakeRadiantDataSet::CellSet > {};
|
||||||
|
|
||||||
typedef TypeListTagRadiantCellSetTypes AllCellSetList;
|
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)
|
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
|
//We specify a custom execution policy here, since the contourField is a
|
||||||
//custom field type
|
//custom field type
|
||||||
result = mc.Execute( dataSet, contourField, RadiantDataSetPolicy() );
|
result = mc.Execute( dataSet, contourField, PolicyRadiantDataSet() );
|
||||||
|
|
||||||
//Map a field onto the resulting dataset
|
//Map a field onto the resulting dataset
|
||||||
vtkm::cont::Field projectedField = dataSet.GetField("distanceToOther");
|
vtkm::cont::Field projectedField = dataSet.GetField("distanceToOther");
|
||||||
|
|
||||||
mc.MapFieldOntoOutput(result, projectedField, RadiantDataSetPolicy());
|
mc.MapFieldOntoOutput(result, projectedField, PolicyRadiantDataSet());
|
||||||
mc.MapFieldOntoOutput(result, contourField, RadiantDataSetPolicy());
|
mc.MapFieldOntoOutput(result, contourField, PolicyRadiantDataSet());
|
||||||
|
|
||||||
const vtkm::cont::DataSet& outputData = result.GetDataSet();
|
const vtkm::cont::DataSet& outputData = result.GetDataSet();
|
||||||
VTKM_TEST_ASSERT(outputData.GetNumberOfCellSets() == 1,
|
VTKM_TEST_ASSERT(outputData.GetNumberOfCellSets() == 1,
|
||||||
|
@ -125,7 +125,7 @@ void TestPointElevationWithPolicy()
|
|||||||
|
|
||||||
vtkm::filter::ResultField result;
|
vtkm::filter::ResultField result;
|
||||||
|
|
||||||
vtkm::filter::DefaultPolicy p;
|
vtkm::filter::PolicyDefault p;
|
||||||
result = filter.Execute(inputData,
|
result = filter.Execute(inputData,
|
||||||
inputData.GetCoordinateSystem(),
|
inputData.GetCoordinateSystem(),
|
||||||
p);
|
p);
|
||||||
|
Loading…
Reference in New Issue
Block a user