Commit Graph

9849 Commits

Author SHA1 Message Date
Kenneth Moreland
08e6826017 Remove deprecated use of old unscoped enums in FieldSelection 2022-03-18 13:16:55 -06:00
Kenneth Moreland
28aa9b570f Use scoped enum for FieldSelection mode 2022-03-18 13:14:57 -06:00
Kenneth Moreland
13a3560f40 Merge topic 'rename-field-associations'
f8f41e0ef Update use of field association enumerations
56670dbba Rename field associations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !2733
2022-03-18 13:39:13 -04:00
Kenneth Moreland
d0679d868c Merge topic 'histogram-range'
df24ea138 Fix Histogram filter range for DataSet

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2731
2022-03-18 11:08:01 -04:00
Kenneth Moreland
f8f41e0ef5 Update use of field association enumerations
The enumerations in `vtkm::cont::Field::Association` were renamed in the
previous commit. The old names still exist, but are deprecated. Change
the rest of the code to use the new names.
2022-03-17 11:02:37 -06:00
Kenneth Moreland
56670dbbaa Rename field associations
The symbols in `vtkm::cont::Field::Association` have been changed from
`ANY`, `WHOLE_MESH`, `POINTS`, and `CELL_SET` to `Any`, `WholeMesh`,
`Points`, and `Cells`, respectively. The reason for this change is twofold:

  * The general standard that VTK-m follows for `enum struct` enumerators
    is to use camel case (with the first character capitalized), not all
    upper case.
  * The use of `CELL_SET` for fields associated with cells is obsolete. A
    `DataSet` used to support having more than one `CellSet`, and so a
    field association on cells was actually bound to a particular
    `CellSet`. However, that is no longer the case. A `DataSet` has exactly
    one `CellSet`, so a cell field no longer has to point to a `CellSet`.
    Thus the enumeration symbol for `Cells` should match the one for
    `Points`.

For backward compatibility, the old enumerations still exist. They are
aliases for the new names, and they are marked as deprecated, so using them
will result in a compiler warning (on some systems).
2022-03-17 09:36:44 -06:00
Kenneth Moreland
4aa81d9e1d Merge topic 'support-deprecated-code'
9d6f63b67 Add vtkm_cont_testing to interface of vtkm_cont
2723cd082 Include UncertainCellSet.h from UnknownCellSet.h

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !2732
2022-03-17 10:54:23 -04:00
Kenneth Moreland
df24ea138d Fix Histogram filter range for DataSet
In the transition of the `Histogram` filter to the new filter types, a
bug was introduced. The `Histogram` filter has an option to set the
range for which to compute the histogram. (The range of the data will be
used instead if none is specified.) This range was properly used when
computing the histogram on a `PartitionedDataSet`. However, when running
on a single `DataSet`, the new filter structure skipped over the
partition code that checked to see if the range was specified. (It also
skipped over the code that properly computed the range in MPI.)

This change properly checks to see if `Execute` was called with a single
`DataSet` and updates the `ComputedRange` appropriately.
2022-03-16 15:47:59 -06:00
Kenneth Moreland
9d6f63b677 Add vtkm_cont_testing to interface of vtkm_cont
Recent changes to VTK-m include changes to MakeDataSet.h that require
the vtkm_cont_testing library to be loaded. This is problematic for
software using an earlier minor revision as they do not expect to need
to include this library.

For now, include vtkm_cont_testing in the interface of vtkm_cont so that
downstream code will load it. This should be a temporary solution. As we
move to new versions of VTK-m, we should break this link and require
downstream components to include it themselves.
2022-03-16 14:44:42 -06:00
Kenneth Moreland
2723cd082b Include UncertainCellSet.h from UnknownCellSet.h
This is mostly to support external code that expects deprecated
behavior. UnknownCellSet/UncertainCellSet replace DynamicCellSet. In the
deprecated class, you could use `ResetCellSetList` without having to
include a secondary file. It would be better to support that now so the
minor change does not break things.
2022-03-16 14:24:29 -06:00
Kenneth Moreland
d15da1c12a Merge topic 'no-brigand'
2b6463067 Enable predicate parameter to `ListAll` and `ListAny`
0f96a6b0b Remove brigand.hpp
8d00bb164 Deprecate brigand.hpp
920392b6d Remove brigand from Benchmarker.h
9562de945 Remove brigand from DispatcherBase
a771359d7 Remove brigand from FunctionInterface
be8004b01 Remove brigand from ArrayHandleDecorator
2eb6fb9dd Remove brigand from ArrayHandleCompositeVector
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2715
2022-03-09 14:14:16 -05:00
Kenneth Moreland
2b64630674 Enable predicate parameter to ListAll and ListAny
In pretty much any practical circumstance, whenusing `ListAll` or
`ListAny`, you have a list of types on which you run some sort of
predicate on each item in the list to determine whether any or all of
the items match the predicate. To make this easier, add a second
argument to `ListAll` and `ListAny` to provide a predicate that will
automatically be added.

If no predicate is given, then the operation is run directly on the
list. This is implemented by just using an identity operation.
2022-03-08 09:26:35 -07:00
Kenneth Moreland
0f96a6b0be Remove brigand.hpp
GCC 11 is having trouble compiling brigand.hpp at all, even before we
instantiate any templates. Since we no longer need it, let's get rid of
it. It was always placed in an internal namespace.
2022-03-08 07:25:08 -07:00
Kenneth Moreland
8d00bb1644 Deprecate brigand.hpp
Add deprecation warnings to the code whenever someone uses brigand.hpp.
We are no longer supporting this header file, but we'll give code a
chance to transition off of it.

Also added some other deprecation warnings to other header files that
are themselves deprecated but only issued warnings if you used something
in it.
2022-03-08 07:25:08 -07:00
Kenneth Moreland
920392b6d8 Remove brigand from Benchmarker.h
Instead, consistently use `vtkm::List`. (All the actual benchmark code
already uses `vtkm::List` instead of `brigand::list`.)
2022-03-08 07:25:08 -07:00
Kenneth Moreland
9562de9457 Remove brigand from DispatcherBase 2022-03-08 07:25:08 -07:00
Kenneth Moreland
a771359d72 Remove brigand from FunctionInterface
Replace with features in `vtkm::List`.
2022-03-08 07:25:08 -07:00
Kenneth Moreland
be8004b01a Remove brigand from ArrayHandleDecorator
Replaced with features provided by `vtkm::List` and some simple
templates now in `vtkm/internal/Meta.h`.
2022-03-08 07:24:53 -07:00
Kenneth Moreland
2eb6fb9dd1 Remove brigand from ArrayHandleCompositeVector
Use new features of vtkm::List instead.
2022-03-08 06:53:05 -07:00
Kenneth Moreland
124f08381b Added ListReduce, ListAll, and ListAny
These new features to VTK-m lists allow you to compute a single value
from a list. `ListReduce` allows you to compute a value based on a
predicate. `ListAll` and `ListAny` use this feature to determine if all
or any of a list of `true_type` or `false_type` objects are true.
2022-03-08 06:53:05 -07:00
Vicente Bolea
feac74a22a Merge topic 'fixes-testing-lib'
5fe665ad0 CMAKE: enable TESTING_LIBRARY when BENCHMARKS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2725
2022-03-04 17:37:25 -05:00
Vicente Adolfo Bolea Sanchez
5fe665ad00 CMAKE: enable TESTING_LIBRARY when BENCHMARKS 2022-03-04 22:23:29 +00:00
Kenneth Moreland
55143ef894 Merge topic 'better-deprecated-headers'
5cb9792bd SurfaceNormal -> SurfaceNormals
b2947a1d7 Improve deprecation support of CellMeasures
5b7893a3f Support deprecated MeshQuality features
d22a509b5 Split CoordinateSystemTransform.h
c238cfea5 Improve deprecation support for moved or renamed headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2718
2022-03-04 14:40:29 -05:00
Li-Ta Lo
5cb9792bdc SurfaceNormal -> SurfaceNormals 2022-03-03 15:28:20 -07:00
Vicente Bolea
b060371f7a Merge topic 'repair-ecptest-ci'
395611596 unittests: relaxed test thresholds for Ascent
0b3bef32b CI: Ascent build conforms latest OLCF update

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !2721
2022-02-24 19:14:23 -05:00
Vicente Adolfo Bolea Sanchez
3956115969 unittests: relaxed test thresholds for Ascent 2022-02-22 22:00:32 -05:00
Vicente Adolfo Bolea Sanchez
0b3bef32b0 CI: Ascent build conforms latest OLCF update 2022-02-22 18:29:14 -05:00
Vicente Bolea
e155e4913d Merge topic 'encapsulate-loguru-namespace'
26c8252dc Loguru: encapsulate loguru
65063ca48 Logging: avoid reinit loguru
2be4da84d Merge branch 'upstream-loguru' into encapsulate-loguru-namespace
9c8dd6045 Loguru: set to track tags instead of branch
dd1d8c134 loguru 2022-02-17 (7c85104f)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2702
2022-02-17 17:44:25 -05:00
Vicente Adolfo Bolea Sanchez
26c8252dc5 Loguru: encapsulate loguru 2022-02-17 16:03:23 -05:00
Vicente Adolfo Bolea Sanchez
65063ca485 Logging: avoid reinit loguru 2022-02-17 16:03:23 -05:00
Vicente Adolfo Bolea Sanchez
2be4da84d1 Merge branch 'upstream-loguru' into encapsulate-loguru-namespace
# By Loguru Upstream
* upstream-loguru:
  loguru 2022-02-17 (7c85104f)
2022-02-17 16:03:23 -05:00
Vicente Adolfo Bolea Sanchez
9c8dd60453 Loguru: set to track tags instead of branch 2022-02-17 16:03:21 -05:00
Loguru Upstream
dd1d8c1349 loguru 2022-02-17 (7c85104f)
Code extracted from:

    https://gitlab.kitware.com/third-party/loguru.git

at commit 7c85104f4c87b09c82b830d908b31f96de97c6d8 (for/vtk-m-20220217).
2022-02-17 15:54:31 -05:00
Vicente Bolea
279231bdbf Merge topic 'install-examples'
75fed8724 examples: add option to install examples

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2716
2022-02-17 13:08:27 -05:00
Li-Ta Lo
753b32b9a2 Merge topic 'contour_surface_normals'
82a5bde74 use SurfaceNomrals filter rather than worklet

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2719
2022-02-17 10:07:09 -05:00
Vicente Adolfo Bolea Sanchez
75fed87240 examples: add option to install examples 2022-02-16 19:43:52 -05:00
Li-Ta Lo
82a5bde744 use SurfaceNomrals filter rather than worklet 2022-02-16 14:59:46 -07:00
Kenneth Moreland
4a0fad6e5a Merge topic 'add_tutorial'
0ba7a222b point_to_cell wanning resolution
dea63919d point_to_cell wanning resolution
5bb7773cc Point_to_cell warning resolution
0ce7d9258 tutorial example fixes to resolve warnings
8e57362a2 tutorial example fixes to resolve warnings
5fc268d31 switched back to the old version of extract_edges
0300973df switched back to the old version of extract_edges
f5e827ad1 Enable building tutorials on all CI builds
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2653
2022-02-16 16:35:51 -05:00
Tushar Athawale
0ba7a222be point_to_cell wanning resolution 2022-02-16 15:16:07 -05:00
Tushar Athawale
dea63919d7 point_to_cell wanning resolution 2022-02-16 14:57:25 -05:00
Tushar Athawale
5bb7773cc5 Point_to_cell warning resolution 2022-02-16 13:43:55 -05:00
Kenneth Moreland
b2947a1d78 Improve deprecation support of CellMeasures
Moved deprecated class to new headers (so that indirect includes still
work).

Changed vtkm::filter::mesh_info::IntegrationType to a scoped enum (which
we favor in VTK-m).

Correct the implementation of the deprecated integration types (which
would not have actually compiled anyway).
2022-02-16 11:36:40 -07:00
Kenneth Moreland
5b7893a3f7 Support deprecated MeshQuality features
Reenable the `vtkm::filter::CellMetric` class and
`vtkm::filter::MetricNames` static variable for backward compatibility.
(Both are of course marked deprecated.)

Also, adjust names in the new `vtkm::filter::mesh_info::CellMetric` to
conform with the rest of VTK-m style for scoped enums.
2022-02-16 11:36:13 -07:00
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
7553285a54 Merge topic 'geometry_refine'
a462552c2 use CreateResult that accepts a CoordSystem
f09032aaa migrate geometry refinement filters

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2714
2022-02-15 11:00:23 -05:00
Li-Ta Lo
a462552c2c use CreateResult that accepts a CoordSystem 2022-02-15 08:08:48 -07:00
Tushar Athawale
0ce7d92589 tutorial example fixes to resolve warnings 2022-02-14 13:15:55 -05:00
Tushar Athawale
8e57362a23 tutorial example fixes to resolve warnings 2022-02-14 13:11:30 -05:00
Tushar Athawale
5fc268d312 switched back to the old version of extract_edges 2022-02-14 10:51:00 -05:00