vtk-m/docs
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
..
changelog Consolidate WarpScalar and WarpVector filter 2023-09-26 07:20:09 -04:00
batch_lsf.png ci: Add OLCF GitLab-CI 2021-12-15 13:00:47 -05:00
build_stage.png Update CONTRIBUTING.md to cover gitlab piplines 2020-03-26 13:40:47 -04:00
CI-README.md perftest: add perf regression test 2022-10-07 17:42:12 -04:00
CODEOWNERS Add CODEOWNERS to vtk-m to improve merge request reviewer suggestions 2020-02-11 12:53:07 -05:00
CodingConventions.md cxx,c++: Remove c++14 references 2023-02-23 19:30:58 -05:00
external_stage.png Update CONTRIBUTING.md to cover gitlab piplines 2020-03-26 13:40:47 -04:00
HotFixGuide.md Update HotFixGuide.md 2022-05-30 14:13:58 -04:00
HPCBuilds.md Remove deprecated virtual methods 2022-10-28 10:56:52 -06:00
Modules.md Add module mechanism 2022-10-26 12:51:05 -06:00
NewRelease.md.tmpl release,docs: add freeze release branch step 2023-02-23 19:14:51 -05:00
perftest_arch.png perftest: add perf regression test 2022-10-07 17:42:12 -04:00
ReleaseProcess.md newrelease.md: templatize newrelease.md 2022-09-28 18:02:37 -04:00
ReleaseRoadmap.md roadmap: update dates 2023-02-22 12:27:53 -05:00