ExternalFaces worklet is not templated on device adapter.

This should help reduce the amount of code generation, when building the
ExternalFaces worklet for all device adapters.
This commit is contained in:
Robert Maynard 2016-01-08 13:32:04 -05:00
parent 02d10e38c4
commit dbee92752e
2 changed files with 7 additions and 6 deletions

@ -46,7 +46,6 @@ namespace vtkm
namespace worklet
{
template<typename DeviceAdapter>
struct ExternalFaces
{
//Unary predicate operator
@ -239,14 +238,15 @@ public:
/// \param output_pointId3Array: Output point-ids
template <typename StorageT,
typename StorageU,
typename StorageV>
typename StorageV,
typename DeviceAdapter>
void run(const vtkm::cont::ArrayHandle<vtkm::UInt8, StorageT> shapes,
const vtkm::cont::ArrayHandle<vtkm::IdComponent, StorageU> numIndices,
const vtkm::cont::ArrayHandle<vtkm::Id, StorageV> conn,
vtkm::cont::ArrayHandle<vtkm::UInt8, StorageT> &output_shapes,
vtkm::cont::ArrayHandle<vtkm::IdComponent, StorageU> &output_numIndices,
vtkm::cont::ArrayHandle<vtkm::Id, StorageV> &output_conn
)
vtkm::cont::ArrayHandle<vtkm::Id, StorageV> &output_conn,
DeviceAdapter)
{
//Create a worklet to map the number of faces to each cell
vtkm::cont::ArrayHandle<vtkm::Id> facesPerCell;

@ -44,13 +44,14 @@ vtkm::cont::DataSet RunExternalFaces(vtkm::cont::DataSet &ds)
vtkm::cont::ArrayHandle<vtkm::Id> output_conn;
//Run the External Faces worklet
vtkm::worklet::ExternalFaces<VTKM_DEFAULT_DEVICE_ADAPTER_TAG>().run(
vtkm::worklet::ExternalFaces().run(
shapes,
numIndices,
conn,
output_shapes,
output_numIndices,
output_conn);
output_conn,
VTKM_DEFAULT_DEVICE_ADAPTER_TAG());
vtkm::cont::DataSet new_ds;
for(vtkm::IdComponent i=0; i < ds.GetNumberOfCoordinateSystems(); ++i)