vtk-m/vtkm
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
..
cont Merge topic 'arrayhandleconstant-extract-component' 2023-08-29 10:23:22 -04:00
exec Get the 3D index from a BoundaryState in WorkletPointNeighborhood 2023-06-19 10:29:18 -06:00
filter Consolidate WarpScalar and WarpVector filter 2023-09-26 07:20:09 -04:00
internal Rename structured connectivity index conversion methods 2023-06-02 15:31:24 -04:00
interop initial implementation of ANARI rendering support 2023-08-30 15:52:48 -05:00
io Handle any Vec size in VTKDataSetReader 2023-05-22 06:19:11 -06:00
random Add module mechanism 2022-10-26 12:51:05 -06:00
rendering remove unused variables 2023-08-07 14:51:06 -04:00
source Change auto seed behavior in PerlinNoise source 2022-12-06 12:21:04 -07:00
testing Implement VecTraits class for all types 2023-03-16 12:59:38 -06:00
thirdparty Merge branch 'upstream-diy' into update-diy 2023-06-19 20:07:20 -04:00
worklet LookupTable: Shift computed idx by 1 2023-08-23 12:55:13 -04:00
.gitattributes
Assert.h
Atomic.h Switch Kokkos atomic functions to use desul library 2023-06-28 14:34:54 -04:00
BinaryOperators.h
BinaryPredicates.h Make BinaryOperators/Predicates more flexible. 2019-12-18 15:51:59 -05:00
Bitset.h
Bounds.h Add a new unstructured cell locator 2022-11-22 09:51:40 -05:00
CellClassification.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
CellShape.h
CellTraits.h
CMakeLists.txt Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
Deprecated.h Disable deprecation for MSVC 2017 2021-04-26 12:47:44 -06:00
ErrorCode.h
Flags.h
Geometry.h
Geometry.hxx
Hash.h
ImplicitFunction.h add multi plane for clip 2023-08-23 02:32:17 +00:00
List.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
LowerBound.h split vtkm/Algorithms.h into UpperBound.h, LowerBound.h, and BinarySearch.h 2021-04-07 18:53:09 +00:00
Math.h Fix unresolved external symbol __popcnt on win-arm64 2022-11-27 19:51:17 -05:00
Math.h.in Fix unresolved external symbol __popcnt on win-arm64 2022-11-27 19:46:13 -05:00
Matrix.h Break LUP factorization when invalid matrix found 2021-07-12 10:29:46 -06:00
NewtonsMethod.h
Pair.h
Particle.h Removing particle property num punctures 2023-08-16 18:23:22 -07:00
Range.h Add implementation of VecTraits for Range and Bounds 2022-01-25 10:55:35 -07:00
RangeId2.h
RangeId3.h ExtractStructured now compiles quicker and with less compiler memory 2019-12-11 08:59:42 -05:00
RangeId.h
StaticAssert.h
Swap.h Fix compile issues when using cuda 12 2023-02-06 12:26:55 -05:00
TopologyElementTag.h clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
Transform3D.h
Tuple.h
Tuple.h.in
TypeList.h Enable reinterpreting UnknownArrayHandle to compatible C types 2021-01-13 09:19:27 -07:00
Types.h Fix dot product type promotion 2023-02-08 07:04:07 -07:00
TypeTraits.h Implement VecTraits class for all types 2023-03-16 12:59:38 -06:00
UnaryPredicates.h
UpperBound.h split vtkm/Algorithms.h into UpperBound.h, LowerBound.h, and BinarySearch.h 2021-04-07 18:53:09 +00:00
VecAxisAlignedPointCoordinates.h Add VecFlat class 2020-12-16 17:22:44 -07:00
VecFlat.h Implement VecTraits class for all types 2023-03-16 12:59:38 -06:00
VecFromPortal.h Improve = operators in VecFromPortal 2023-08-08 21:43:01 -04:00
VecFromPortalPermute.h
VectorAnalysis.h Avoid floating point exception in Orthonormalize 2021-07-12 10:29:46 -06:00
VecTraits.h Implement VecTraits class for all types 2023-03-16 12:59:38 -06:00
VecVariable.h
Version.h.in
vtkm.module Add module mechanism 2022-10-26 12:51:05 -06:00