The AverageByKey.h header file had a single function that used the
device adapter algorithm ReduceByKey method to do a simple averaging of
a field. I added a second method that can do an average when given a
vtkm::worklet::Keys object. I expect this to be a common use case as we
implement transforming fields from input to output in many algorithms.
All types of cell sets should have a consistent interface. This is
tested (and fixed) for explicit and permutation cell sets. However, an
unfixed bug that has been identified is that permutation cell sets only
work for point to cell topologies. All others are not supported
correctly.
8e500a17 Moving PortalType templetization to Step method of Integrators
33150365 Validate the data format for the UniformGridEvaluate.
69c1f946 Merge branch 'PICS' of gitlab.kitware.com:dpugmire/vtk-m into PICS
b87e8881 Merge branch 'PICS' of gitlab.kitware.com:dpugmire/vtk-m into PICS
5a652f41 Fix for MSVC compile isses
50dbd634 Remove unneeded template from grid eval glasses.
6f1e9b40 Fix compile warning.
32a0be8b Fix compile warnings/errors from CDash.
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !828
Created ParticleAdvection.h for worklets that match the worklet pattern.
Slight reorganization of existing code to match this pattern.
Added a unittest particle advection.
Modified the vector magnitude worklet to accept VecAll instead
of Vec3 and return Scalar. Modified the Magnitude() and Sqrt() functions
to return FloatDefault for all inputs except for Float64.
Perhaps we should modify other functions in Math.h and VectorAnalysis.h to
return float types for intergral arguments instead of integral types?
RemoveUnusedPoints contains a couple of worklets and some helper methods
to compact the points in a CellSetExplicit. This is helpful when you
have an operation that creates new cells but might not use all the
original points of the inputs.
There was an inconsistency in naming classes where axes-aligned grids
with even spacing were sometimes called "uniform" and sometimes called
"regular". Maintain consistency by always calling them uniform.
The WholeArrayIn, WholeArrayInOut, and WholeArrayOut ControlSignature
tags behave similarly to using an ExecObject tag with an
ExecutionWholeArray or ExecutionWholeArrayConst object. However, the
WholeArray* tags can simplify some implementations in two ways. First,
it allows you to specify more precisely what data is passed in. You have
to pass in an ArrayHandle or else an error will occur (as opposed to be
able to pass in any type of execution object). Second, this allows you
to easily pass in arrays stored in DynamicArrayHandle objects. The
Invoke mechanism will automatically find the appropriate static class.
This cannot be done easily with ExecutionWholeArray.