This mode forces the selection to be empty. Although there is no
practical difference between having MODE_NONE and having MODE_SELECTED
with nothing selected (which is the default), this is a semantically
nicer way to say you don't want any fields.
Since we have changed the default behavior of Filter::Execute to be
MODE_ALL, this is a nice addition so that you can clearly specify you
don't want to pass any fields by adding
vtkm::filter::FieldSelection::MODE_NONE as the second argument. (Making
it MODE_SELECTED is not clear that you want none.)
In some of the tests there was a field that was using a counting array.
This uses an integer as the value type and has a special implicit
storage type. Currently, this is likely to cause problems whenever it
runs into a cast and call of a dynamic array. For now, let's avoid
these.
In the near future we should have expanded virtual method capabilities
that will make it possible to support these atypical arrays.
Several MultiBlock methods take references as arguments. Generally that
is good as some of the arguments take larger data structures like
DataSet and std::vector that can be passed much faster as a reference.
However, the references were not declared const, which means that you
could not use rvalues. This is now fixed.
e3961b9c update examples after filter API changes.
9cf5be2f Make `Result` constructor as `explicit`.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1112
This avoid accidental conversions from DataSet to Result in return
values. This exposed several issues with filters and their tests. Fixed
those as well.
cbadd3e6 Make CoordinateSystem not fail on CUDA
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Acked-by: Matt Larsen <mlarsen@cs.uoregon.edu>
Merge-request: !1108
86bd81de streamline: handle different storage types for fields.
de4e840e enhance filter API
c255c0eb add `vtkm::cont::ConditionalCastAndCall`
54c2d234 Make it easier to iterator over blocks.
d1a59aad Fixes for CrossProduct and DotProduct.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1100
By pruning the invalid combinations first we reduce the amount of work
the compiler has to do. Additionally it makes for smaller callstacks when
the compiler errors out during a CastAndCall.
Filters now support executing on a dataset to produce a result dataset
with automatic mapping of fields to the output dataset. Fields to map
can be selected using `vtkm::filter::FieldSelection` class, which provides
constructors to map all or no fields, along with a selection of fields.
This updates all tests to use the new filter API.
a75c6ae4 Automatically disable assert for CUDA 7.5 as they don't work in device code
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <mlarsen@cs.uoregon.edu>
Merge-request: !1105
dde7c76a Worklets can't be in anonymous namespace as CUDA 7.5 doesn't support those.
601a839d VTK-m uses static const/constexpr when supported ( so not on cuda 7.5 )
505e7aa1 VTK-m now has defines for the CUDA version even when not using nvcc.
a60e3780 CUDA 7.5 doesn't like suppressing warning codes that don't exist
41d968f6 Cuda ExecutionPolicy when using CUDA 7.5 is aware we use raw pointer now
6202d8d2 CudaAllocator guards all CUDA 8.0+ calls behind ifdef's.
ff9dcc47 Consistently mark variables as static const across all of vtk-m
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1088
These changes now allow VTK-m to compile on CUDA 7.5 by using const arrays,
when compiling with CUDA 8+ support we upgrade to static const arrays, and
lastly when CUDA is disabled we fully elevate to static constexpr.