Commit Graph

16 Commits

Author SHA1 Message Date
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
ee0f112f0e migrate mesh info filters 2022-02-08 07:18:24 -07:00
Kenneth Moreland
5191909b51 Fix MeshQuality to work with CellSetSingleType
The `MeshQuality` filter only worked with `CellSetExplicit<>`. However,
`MeshQuality` should also work with `CellSetSingleType`. Fix
`MeshQuality` to work with both.

The handling of cell sets was actually worse than that. After forcing
the type to `CellSetExplicit<>`, it then applied a policy that converted
the types back to all possible cell sets. Thus, the filter made lots of
code paths that were impossible to follow.
2021-08-12 12:42:56 -06:00
Li-Ta Lo
991e7eac2a United We Stand
Implemented a one-pass, Divide and Conqur algorithm to calculate various statistical
moments. Only one call to Reduce is needed.
2020-06-05 16:09:10 -06:00
Kenneth Moreland
cd302effb3 Update lists in TypeListTag.h
A new header named TypeList.h and the type lists have been redefined in
this new file. All the types have been renamed from `TypeListTag*` to
`TypeList*`. TypeListTag.h has been gutted to provide deprecated
versions of the old type list names.

There were also some other type lists that were changed from using the
old `ListTagBase` to the new `List`.
2019-12-05 11:05:19 -07:00
Hank Childs
dade683eab Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into relative-size-foundations 2019-09-27 12:34:26 -07:00
Kenneth Moreland
476800fe48 Have MeshQuality use the superclass' SetOutputFieldName
Previously MeshQuality defined its own SetOutputName method which broke
convention as was confusing. Deleted the output name defined in
MeshQuality and instead use the one defined in the superclass.
2019-09-26 19:28:13 -06:00
Kenneth Moreland
216335ab41 Have MeshQuality inherit from FilterField instead of FilterCell
FilterCell is a depricated type and will be removed at some point. It
serves no purpose over FilterField.
2019-09-26 19:23:28 -06:00
Hank Childs
9084b6dcbe infrastructure for rss 2019-09-25 16:46:39 -07:00
Hank Childs
fcc169fdf0 finish copying over changes from failed firs git 2019-09-23 22:30:49 -07:00
Hank Childs
e040ea05e1 formatting suggestions from KMorel 2019-09-17 20:53:42 -07:00
Hank Childs
560aa1f673 add support for outputname 2019-09-16 20:48:55 -07:00
Hank Childs
ed15f684ea overhaul workings of mesh quality filter. Unit test a little rocky right now, but heading in the right direction 2019-09-16 17:19:18 -07:00
Robert Maynard
cec717015a CreateResult is now part of vtkm::filter instead of being inside internals 2019-08-09 12:44:43 -04:00
Robert Maynard
d7b2ff04c9 Provide a simpler way to restrict value types for filters 2019-08-06 17:04:07 -04:00
Brent Lessley
06ac9f7219 Revised version of the original mesh quality merge request 2019-07-02 22:35:54 -07:00