Do not try to use ArrayGetValue on arrays of non-basic types

This is no longer supported.
This commit is contained in:
Kenneth Moreland 2021-08-05 16:35:16 -06:00
parent 9ca0cd1f6c
commit c17a5569f5
3 changed files with 7 additions and 5 deletions

@ -14,7 +14,6 @@
#include <vtkm/Range.h>
#include <vtkm/VecTraits.h>
#include <vtkm/cont/ArrayGetValues.h>
#include <vtkm/cont/ArrayHandle.h>
#include <vtkm/cont/ArrayHandleUniformPointCoordinates.h>
#include <vtkm/cont/CellSetExplicit.h>
@ -193,7 +192,7 @@ void BenchThreshold(::benchmark::State& state)
const auto range = []() -> vtkm::Range {
auto ptScalarField =
InputDataSet.GetField(PointScalarsName, vtkm::cont::Field::Association::POINTS);
return vtkm::cont::ArrayGetValue(0, ptScalarField.GetRange());
return ptScalarField.GetRange().ReadPortal().Get(0);
}();
// Extract points with values between 25-75% of the range
@ -228,7 +227,7 @@ void BenchThresholdPoints(::benchmark::State& state)
const auto range = []() -> vtkm::Range {
auto ptScalarField =
InputDataSet.GetField(PointScalarsName, vtkm::cont::Field::Association::POINTS);
return vtkm::cont::ArrayGetValue(0, ptScalarField.GetRange());
return ptScalarField.GetRange().ReadPortal().Get(0);
}();
// Extract points with values between 25-75% of the range
@ -359,7 +358,7 @@ void BenchContour(::benchmark::State& state)
// scalar range:
const vtkm::Range scalarRange = []() -> vtkm::Range {
auto field = InputDataSet.GetField(PointScalarsName, vtkm::cont::Field::Association::POINTS);
return vtkm::cont::ArrayGetValue(0, field.GetRange());
return field.GetRange().ReadPortal().Get(0);
}();
const auto step = scalarRange.Length() / static_cast<vtkm::Float64>(numIsoVals + 1);
const auto minIsoVal = scalarRange.Min + (step / 2.);

@ -97,6 +97,9 @@ VTKM_CONT void ArrayGetValues(const vtkm::cont::ArrayHandle<vtkm::Id, SIds>& ids
const vtkm::cont::ArrayHandle<T, SData>& data,
vtkm::cont::ArrayHandle<T, SOut>& output)
{
VTKM_STATIC_ASSERT_MSG(
vtkm::HasVecTraits<T>::value,
"ArrayGetValues can only be used with arrays containing value types with VecTraits defined.");
internal::ArrayGetValuesImpl(ids, data, output);
}

@ -576,7 +576,7 @@ inline void ContourTreeMesh<FieldType>::ComputeMaxNeighbors()
{
auto neighborCounts = make_ArrayHandleOffsetsToNumComponents(this->NeighborOffsets);
vtkm::cont::ArrayHandle<vtkm::Range> rangeArray = vtkm::cont::ArrayRangeCompute(neighborCounts);
this->MaxNeighbors = static_cast<vtkm::Id>(ArrayGetValue(0, rangeArray).Max);
this->MaxNeighbors = static_cast<vtkm::Id>(rangeArray.ReadPortal().Get(0).Max);
}
// Define the behavior for the execution object generate by the PrepareForExecution function