Save triangle counts from isosurface classify as IdComponent.

When compiling with 64-bit ids (which is the default), this can save
quite a bit of time.
This commit is contained in:
Kenneth Moreland 2015-11-06 12:52:12 -07:00
parent 8ab2938b8c
commit 740adc70f3

@ -57,7 +57,7 @@ public:
public:
typedef void ControlSignature(FieldInPoint<Scalar> inNodes,
TopologyIn topology,
FieldOutCell<IdType> outNumVertices,
FieldOutCell<> outNumVertices,
ExecObject numVerticesTable);
typedef void ExecutionSignature(_1, _3, _4);
typedef _2 InputDomain;
@ -74,7 +74,7 @@ public:
typename NumVerticesTablePortalType>
VTKM_EXEC_EXPORT
void operator()(const InPointVecType &pointValues,
vtkm::Id& numVertices,
vtkm::IdComponent &numVertices,
const NumVerticesTablePortalType &numVerticesTable) const
{
vtkm::Id caseNumber = (pointValues[0] > this->Isovalue);
@ -253,7 +253,7 @@ public:
DeviceAdapter> ClassifyCellDispatcher;
ClassifyCellDispatcher classifyCellDispatcher(classifyCell);
vtkm::cont::ArrayHandle<vtkm::Id> numOutputTrisPerCell;
vtkm::cont::ArrayHandle<vtkm::IdComponent> numOutputTrisPerCell;
classifyCellDispatcher.Invoke( field,
this->DataSet.GetCellSet(0),
numOutputTrisPerCell,