Commit Graph

7287 Commits

Author SHA1 Message Date
Kenneth Moreland
d22a509b52 Split CoordinateSystemTransform.h
This header file contained two filters: `CylindricalCoordinateTransform`
and `SphericalCoordinateTransform`. By convention, each header (and
source) file should contain one filter. Now that filters are split into
separate libraries, there is little reason to combine things into header
files.
2022-02-16 07:24:04 -07:00
Kenneth Moreland
c238cfea50 Improve deprecation support for moved or renamed headers
VTK-m has a deprecation method that supports API changes in minor
releases. When an API change is made, the old API is marked with the
VTKM_DEPRECATED macro. If code attempts to use the old API, it still
works, but the compiler issues a warning that the thing is deprecated
and where to find the new API.

We have recently run into an issue when the API changes have a header
file renamed or moved. We still keep the old header file with the old
API, so code including that file will still work. However, sometimes
code expected the contents of that header file without directly
including that header file. In these cases, the code could get an error
about missing classes.

As an example, consider the change from `DynamicCellSet` to
`UnknownCellSet`/`UncertainCellSet`. The deprecated `DynamicCellSet` is
still around. But there is a lot of code that did not directly include
DynamicCellSet.h. This header file was necessarily included by
DataSet.h. Now, when this code uses `vtkm::cont::DynamicCellSet`, you
get a confusing error that the class does not exist. Backward
compatibility broken.

In response to this, we should be more careful about where we put the
deprecated API. Instead of containing the deprecated API, moved headers
should be empty except for a warning and an inclusion of the new header
file. The deprecated API should be moved to the new header file. For
example, in the case of `DynamicCellSet`, the implementation for the
deprecated `DynamicCellSet` is moved to UnknownCellSet.h, which is
included by anything that was including DynamicCellSet.h before.
2022-02-16 07:08:05 -07:00
Li-Ta Lo
a462552c2c use CreateResult that accepts a CoordSystem 2022-02-15 08:08:48 -07:00
Li-Ta Lo
f09032aaaf migrate geometry refinement filters 2022-02-11 20:52:43 -07:00
Kenneth Moreland
eb48d65399 Merge topic 'less-brigand'
8cca11601 Limit size of vtkm::List
9a94270e9 Better implementation of ListAt
ae28519af Fix ICE in MSVC 2017
878e56d97 Reduce the size of lists used when serializing UnknownArrayHandle
18c4b3258 Remove brigand from List.h

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Vicente Bolea <vicente.bolea@kitware.com>
Merge-request: !2700
2022-02-10 20:36:50 -05:00
Kenneth Moreland
8cca116013 Limit size of vtkm::List
If you have a really long list, compilers might error out if you have a
recursive operation on it. Such an error can be confusing, so for now
create an error if the list is too long.
2022-02-10 15:50:31 -07:00
Li-Ta Lo
c635e6d6c5 Merge topic 'no_backends'
05d34aa8a delete unneeded list append
d41e1e40f remove ALL_BACKENDS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2711
2022-02-10 11:21:16 -05:00
Li-Ta Lo
04a042789f Merge topic 'create_result'
ae4ad5239 remove #include<CreateResult.h>

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2708
2022-02-10 10:01:07 -05:00
Li-Ta Lo
05d34aa8a4 delete unneeded list append 2022-02-10 06:40:43 -07:00
Li-Ta Lo
d41e1e40f0 remove ALL_BACKENDS 2022-02-09 16:15:08 -07:00
Li-Ta Lo
3392decbc3 Merge topic 'zfp'
33c875455 migrate zfp filters

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2707
2022-02-09 16:36:05 -05:00
Li-Ta Lo
ae4ad5239f remove #include<CreateResult.h> 2022-02-09 13:32:00 -07:00
Li-Ta Lo
33c8754555 migrate zfp filters 2022-02-09 12:52:56 -07:00
Li-Ta Lo
e37900c4c5 Merge topic 'image_processing'
d0d20f10d type safety for stencil operation
e7aee0076 move Swap.h last
c65ed1772 revert thust::swap
d6a6075bf call thrust::swap
438787b02 temp disable ImageMedian
b99f12d2e restore ComputeMeoments
ec3db07c6 temp disable ImageMedian
6157678a9 temp disable ComputeMoment
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2701
2022-02-09 10:37:08 -05:00
Li-Ta Lo
d0d20f10d1 type safety for stencil operation 2022-02-09 08:00:47 -07:00
Li-Ta Lo
b0452edf57 remove operator=(const&) = default 2022-02-08 17:53:14 -07:00
Kenneth Moreland
9a94270e95 Better implementation of ListAt
The previous implementation of `ListAt` would iteratively pass through
the list to find the i'th entry. It was made faster by searching through
8 indices at a time, but it could still be time consuming for long
lists.

This change instead uses a divide-and-conquer approach. It does this by
first creating a `vtkm::List` with i repetitions of `const void*`. It
can do this by recursively splitting i in half and appending the
resulting lists together.

It then uses this list of `const void*` by constructing a method that
first takes these i `const void*` arguments, then a pointer, then
whatever. The method returns the type of that pointer. The method is
never actually defined, but a `declspec` can determine what the return
type should be.

This method was taken from brigand
(https://github.com/edouarda/brigand).
2022-02-08 16:36:10 -07:00
Kenneth Moreland
d5b388a61e Support backward compatibility with PointElevation filter
The interface for `PointElevation` changed the `SetLowPoint` and
`SetHighPoint` methods to accept a `vtkm::Vec3f_64` instead of 3
`vtkm::Float64`. This means all code using `PointElevation` wrong.

Why not have both?
2022-02-08 13:43:33 -07:00
Li-Ta Lo
e7aee0076f move Swap.h last 2022-02-08 13:14:32 -07:00
Li-Ta Lo
c65ed17727 revert thust::swap 2022-02-08 12:18:26 -07:00
Li-Ta Lo
d6a6075bf0 call thrust::swap 2022-02-08 12:10:33 -07:00
Li-Ta Lo
438787b024 temp disable ImageMedian 2022-02-08 12:01:49 -07:00
Li-Ta Lo
b99f12d2ee restore ComputeMeoments 2022-02-08 11:59:22 -07:00
Li-Ta Lo
ec3db07c66 temp disable ImageMedian 2022-02-08 11:54:24 -07:00
Li-Ta Lo
6157678a9a temp disable ComputeMoment 2022-02-08 11:50:59 -07:00
Li-Ta Lo
b81d200a63 Merge branch 'master' into image_processing
# Conflicts:
#	vtkm/filter/CMakeLists.txt
#	vtkm/filter/testing/CMakeLists.txt
2022-02-08 11:03:32 -07:00
Li-Ta Lo
260d256121 make deprecated header more compatable to old one 2022-02-08 10:01:01 -07:00
Li-Ta Lo
04e494dd4b tidy-up language usage 2022-02-08 09:44:57 -07:00
Li-Ta Lo
85d03c01e3 resolve TODO 2022-02-08 08:10:59 -07:00
Li-Ta Lo
236d4c8a2b add newline at eof 2022-02-08 07:22:46 -07:00
Li-Ta Lo
ee0f112f0e migrate mesh info filters 2022-02-08 07:18:24 -07:00
Li-Ta Lo
a0b4e6d61c remove unused data member 2022-02-07 11:09:59 -07:00
Li-Ta Lo
ea15fb4810 rename shadowing var names 2022-02-07 10:51:04 -07:00
Li-Ta Lo
c161ea03ce migrate image processing filters 2022-02-07 10:03:08 -07:00
Manish Mathai
569deda9b5 Merge topic 'tube-filter-coincident-points'
2c16e9c05 Prevent error being raised for coincident points in Tube filter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2676
2022-02-06 20:58:33 -05:00
Kenneth Moreland
ae28519af4 Fix ICE in MSVC 2017 2022-02-03 11:55:38 -07:00
Kenneth Moreland
878e56d974 Reduce the size of lists used when serializing UnknownArrayHandle
To serialize an `UnknownArrayHandle`, a pair of lists were created to
specify all possible value and storage types. These were then used in an
`UncertainArrayHandle::CastAndCall`, which would in turn take the cross
of these two lists. This resulted in a _really_ long list that gave
compilers trouble.

Reduce the size of the list by separating out value types by the number
of components, which can be easily deduced.
2022-02-03 11:55:37 -07:00
Kenneth Moreland
18c4b3258b Remove brigand from List.h
The brigand third party library has become more problematic as we move
forward. Replace the use of brigand in List.h with our own
implementation.
2022-02-03 11:53:27 -07:00
Li-Ta Lo
f3c65d3404 Merge topic 'field_transform'
b8c1f5aac make calling to emplace_back type safe
43dd4638e use auto in range-based for loop
9958394fa tidy-up language usage and coding style conformation
b3327e544 move auto field = ... around to minimize accidential capture
455c20437 Migrate field_transform

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2696
2022-02-02 17:18:07 -05:00
Kenneth Moreland
8ae8394690 Merge topic 'fix-inefficient-component-extract'
9e0a38f5d Remove unused typedef
5063527bb Document that an inefficient component extract warning is expected
e16fa28d6 Fix range warning in ArrayHandleCast
2aed0b81c Avoid inefficient component extractions in serialization test
c3b6febb2 Fix ArrayHandleMultiplexer exec test
4b30939dd Fix inefficient copy when extracting rectilinear grids

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2697
2022-02-02 16:56:23 -05:00
Li-Ta Lo
b8c1f5aac3 make calling to emplace_back type safe 2022-02-02 13:59:27 -07:00
Li-Ta Lo
43dd4638ed use auto in range-based for loop 2022-02-02 13:20:04 -07:00
Li-Ta Lo
6a465e8bed tidy-up language usage 2022-02-02 12:44:00 -07:00
Li-Ta Lo
e48cc867b2 Merge branch 'histogram_worklet' into new_filter_clean_up 2022-02-02 10:20:13 -07:00
Li-Ta Lo
9958394fa6 tidy-up language usage and coding style conformation 2022-02-02 09:52:51 -07:00
Abhishek Yenpure
53651c82bf Merge topic 'mir-float-fix'
ae98d4f25 Fixing dashboard warnings
a0a333949 Fixing dashboard warnings
d3756d8ef Fixing dashboard warnings
397ffaad2 Fixing dashboard warnings
7f2badfce Fixing dashboard warnings
4db0cecc1 Fixing dashboard warnings
8ddcad824 Fixing dashboard warnings
7d10b4f32 Adding assert to unit test
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2674
2022-02-02 11:48:31 -05:00
Abhishek Yenpure
ae98d4f25f Fixing dashboard warnings 2022-02-02 21:14:01 +05:30
Kenneth Moreland
9e0a38f5db Remove unused typedef
The `StorageListEfficientExtract` type is never used in
`UnitTestSerializationArrayHandle`. Although these types are used,
because they all support efficient component extraction from the array,
there is no need to treat them special. As such, this list was never
used.
2022-02-02 08:13:33 -07:00
Abhishek Yenpure
a0a3339490 Fixing dashboard warnings 2022-02-02 19:15:22 +05:30
Abhishek Yenpure
d3756d8ef3 Fixing dashboard warnings 2022-02-02 18:58:55 +05:30