There was an error that caused deprecation warnings in VTK-m to be
suppressed, which meant that many uses of deprecated features went
unnoticed. This fixes those deprecation warnings.
The majority of the warnings were caused by the use of the deprecated
`Cast`, `CopyTo`, and `ResetTypes` methods of `UnknownArrayHandle` (or
`VariantArrayHandle`). Both `Cast` and `CopyTo` have been subsumed by
`AsArrayHandle` (to make the functionality more clear). `ResetTypes` now
requires a second template argument to define the storage types to try.
Also fixed some issues with `SerializableField` being deprecated.
This class is no longer necessary because `Field` can now be directly
serialized.
By leveraging WorkletVisitPointsWithCells we can get already
pre-computed i,j,k locations helping with performance
In addition we have made the algorithm easier to read by
leveraging VTK-m Vec types.
`vtkm::source::Source` now uses virtual inheritance for
the `Execute` method. This will allow us to enforce that
all vtkm::source have a consistent calling convention.
To make the code inside filters and sources more similar the
base `vtkm::source::Source` class has a `vtkm::cont::Invoker`
as a member variable. This will allow sources to use the
`this->Invoke()` pattern that filters use to launch worklets.