vtk-m2/vtkm/filter
Kenneth Moreland 1f07b0ecf6 Consolidate WarpScalar and WarpVector filter
In reflection, the `WarpScalar` filter is surprisingly a superset of the
`WarpVector` features. `WarpScalar` has the ability to displace in the
directions of the mesh normals. In VTK, there is a distinction of normals
to vectors, but in VTK-m it is a matter of selecting the correct one. As
such, it makes little sense to have two separate implementations for the
same operation. The filters have been combined and the interface names have
been generalized for general warping (e.g., "normal" or "vector" becomes
"direction").

In addition to consolidating the implementation, the `Warp` filter
implementation has been updated to use the modern features of VTK-m's
filter base classes. In particular, when the `Warp` filters were originally
implemented, the filter base classes did not support more than one active
scalar field, so filters like `Warp` had to manage multiple fields
themselves. The `FilterField` base class now allows specifying multiple,
indexed active fields, and the updated implementation uses this to manage
the input vectors and scalars.

The `Warp` filters have also been updated to directly support constant
vectors and scalars, which is common for `WarpScalar` and `WarpVector`,
respectively. Previously, to implement a constant field, you had to add a
field containing an `ArrayHandleConstant`. This is still supported, but an
easier method of just selecting constant vectors or scalars makes this
easier.

Internally, the implementation now uses tricks with extracting array
components to support many different array types (including
`ArrayHandleConstant`. This allows it to simultaneously interact with
coordinates, directions, and scalars without creating too many template
instances.
2023-09-26 07:20:09 -04:00
..
clean_grid Fix degenerate polygon removal 2023-08-24 16:46:12 -04:00
connected_components Merge topic 'source-point-dims' 2022-12-04 09:27:21 -05:00
contour Merge topic 'fix-clip-centroid-points' 2023-09-07 10:15:41 -04:00
density_estimate Save statistics of each partition 2023-08-08 21:41:04 -04:00
entity_extraction Update the interface and documentation of GhostCellRemove 2023-08-08 21:43:38 -04:00
field_conversion Change PointAverage to work on fields of any type 2023-02-03 14:52:04 -05:00
field_transform Consolidate WarpScalar and WarpVector filter 2023-09-26 07:20:09 -04:00
flow Changes to address feedback from MR 2023-08-17 09:34:00 -07:00
geometry_refinement remove unused variables 2023-08-07 14:51:06 -04:00
image_processing Allow ComputeMoments to operate on any scalar field 2023-06-05 08:44:03 -04:00
mesh_info Advanced Compute Range 2023-07-04 11:54:56 -04:00
multi_block Store constant AMR arrays with less memory 2023-09-06 10:54:07 -06:00
resampling add histsampling filter 2023-06-30 03:57:49 +00:00
scalar_topology Implement computing branch decomposition info and added unit test 2023-08-25 19:22:59 -04:00
testing Make source parameters more clear 2022-12-01 08:13:58 -07:00
vector_analysis Add support for CastAndCallVariableVecField in FilterField 2023-05-22 10:14:59 -06:00
zfp Rename NewFilter base classes to Filter 2022-12-01 13:07:56 -07:00
CMakeLists.txt cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
FieldSelection.cxx Allow FieldSelection to simultaneously include and exclude fields 2022-11-03 12:57:59 -06:00
FieldSelection.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
Filter.cxx Fix the passing of fields in filters 2023-02-13 14:06:43 -07:00
Filter.h Fix the passing of fields in filters 2023-02-13 14:06:43 -07:00
FilterField.cxx Rename NewFilter base classes to Filter 2022-12-01 13:07:56 -07:00
FilterField.h Add support for CastAndCallVariableVecField in FilterField 2023-05-22 10:14:59 -06:00
MapFieldMergeAverage.cxx Deprecate old filter base classes and supporting classes 2022-09-27 06:52:44 -06:00
MapFieldMergeAverage.h migrate clean_grid and extract_entity filters 2022-01-13 11:14:48 -07:00
MapFieldPermutation.cxx Clean up point mapping in CleanGrid 2023-02-02 12:13:54 -05:00
MapFieldPermutation.h Clean up point mapping in CleanGrid 2023-02-02 12:13:54 -05:00
TaskQueue.h Address reviewer comments and suggestions. 2022-08-11 13:43:49 -04:00
vtkm.module Fix some deprecated hacks in modules 2022-10-27 10:24:28 -06:00