Commit Graph

11412 Commits

Author SHA1 Message Date
Vicente Adolfo Bolea Sanchez
d7656c029b update NewRelease.md.tmpl 2023-10-18 19:01:16 -04:00
Vicente Adolfo Bolea Sanchez
adf146a96e 2.1.0-rc2 is our 16th official release of VTK-m.
The major changes to VTK-m from 2.0.0 can be found in:
  docs/changelog/2.1/release-notes.md
v2.1.0-rc2
2023-10-18 18:27:15 -04:00
Vicente Adolfo Bolea Sanchez
599d8ff384 release: 2.1.0-rc2 release notes 2023-10-18 18:24:12 -04:00
Vicente Adolfo Bolea Sanchez
05e850fa85 release: update version and License 2023-10-18 18:18:57 -04:00
Jefferson Amstutz
2f7316c6fb Merge topic 'anari-null-object-fix'
47b6b5664 fix missing null handle check in volume mapper

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !3139
2023-10-18 14:15:55 -04:00
Jefferson Amstutz
47b6b5664a fix missing null handle check in volume mapper 2023-10-17 19:40:14 -05:00
Kenneth Moreland
b80b7e2e71 Add VTK-m User's Guide to source
This is a start of moving the VTK-m User's Guide into the VTK-m source.
This is only the start of the process. There are several goals of this
work.

1. Integrate the documentation into the source code better to better
   keep the code up to date.
2. Move the documentation over to Sphinx so that it can be posted online
   and be more easily linked.
3. Incoporate Doxygen into the guide to keep the documentation
   consistent.
4. Build the user guide examples as part of the VTK-m CI to catch
   compatibility changes quickly.
2023-10-17 11:31:27 -04:00
Kenneth Moreland
feee5a2f9d Add cow dataset
This data set comes from the VTK test data. VTK-m shares a license
and copyright with VTK, so we can also include this data under
the VTK-m repo.
2023-10-17 11:31:26 -04:00
Zhe Wang
45b171f3f8 Merge topic 'add_3d_slice'
393db328a add multislice filter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3135
2023-10-12 13:33:37 -04:00
Jay
393db328a3 add multislice filter 2023-10-12 10:08:53 -04:00
Kenneth Moreland
cdff776a16 Merge topic 'arrayhandle-getcomponents'
9b992dcdd Add `GetNumberOfComponentsFlat` method to `ArrayHandle`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Merge-request: !3137
2023-10-10 08:58:56 -04:00
Kenneth Moreland
c1885116b3 Merge topic 'document-glyph-mappers'
3fe5b0185 Document glyph mapper classes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Manish Mathai <mmathai@uoregon.edu>
Merge-request: !3138
2023-10-03 15:25:32 -04:00
Kenneth Moreland
3fe5b01855 Document glyph mapper classes
Also made some method names more consistent with the rest of VTK-m's
interface.
2023-10-03 14:13:37 -04:00
Kenneth Moreland
9b992dcdde Add GetNumberOfComponentsFlat method to ArrayHandle
Getting the number of components (or the number of flattened components)
from an `ArrayHandle` is usually trivial. However, if the `ArrayHandle` is
special in that the number of components is specified at runtime, then it
becomes much more difficult to determine.

Getting the number of components is most important when extracting
component arrays (or reconstructions using component arrays) with
`UnknownArrayHandle`. Previously, `UnknownArrayHandle` used a hack to get
the number of components, which mostly worked but broke down when wrapping
a runtime array inside another array such as `ArrayHandleView`.

To prevent this issue, the ability to get the number of components has been
added to `ArrayHandle` proper. All `Storage` objects for `ArrayHandle`s now
need a method named `GetNumberOfComponentsFlat`. The implementation of this
method is usually trivial. The `ArrayHandle` template now also provides a
`GetNumberOfComponentsFlat` method that gets this information from the
`Storage`. This provides an easy access point for the `UnknownArrayHandle`
to pull this information.
2023-10-03 10:31:38 -04:00
Kenneth Moreland
5b588a8a04 Merge topic 'update-warps'
1f07b0ecf Consolidate WarpScalar and WarpVector filter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3115
2023-09-26 13:37:05 -04:00
Kenneth Moreland
415623988f Merge topic 'intel-union-placeholder'
65f6d2aa6 Fix issue with union placeholder on Intel compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3132
2023-09-26 13:35:45 -04:00
Kenneth Moreland
65f6d2aa67 Fix issue with union placeholder on Intel compiler
We have run into an issue with some Intel compilers where if a `union`
contains a `struct` that has some padding for byte alignment, the value
copy might skip over that padding even when the `union` contains a different
type where those bytes are valid. This breaks the value copy of our
`Variant` class.

This is not a unique problem. We have seen the same thing in other
compilers and already have a workaround for when this happens. The
workaround creates a special struct that has no padding placed at the front
of the `union`. The Intel compiler adds a fun twist in that this
placeholder structure only works if the alignment is at least as high as
the struct that follows it.

To get around this problem, make the alignment of the placeholder `struct`
at large as possible for the size of the `union`.

It was taking too long to compile with a device. Redesign the
placeholder to be simpler and compile faster.
2023-09-26 07:25:25 -04:00
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
Dave Pugmire
c061732746 Add helper methods. Check the binIdx FIRST. 2023-09-12 15:41:28 -04:00
Vicente Bolea
4571db1249 Merge topic 'backport-3128' into release-2.1
2aa04d7c2 ci: fix ctest_memcheck args
2d47ba22b cmake: Add makefile against install test
1b0ea8af8 cmake: update vtkm.pc and vtkm_config.mk file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3134
2023-09-11 21:52:46 -04:00
Vicente Bolea
e6353ac103 Merge branch 'release-2.1' into master 2023-09-11 21:52:46 -04:00
Vicente Adolfo Bolea Sanchez
2aa04d7c23 ci: fix ctest_memcheck args
(cherry picked from commit 1cd6be01c2586a2d567937c03a25ec23d1cda3c0)
2023-09-11 21:01:58 -04:00
Vicente Adolfo Bolea Sanchez
2d47ba22b7 cmake: Add makefile against install test
(cherry picked from commit 5612d26892f172d7e0285fb46f2bd4da2ae76dda)
2023-09-11 19:55:11 -04:00
Vicente Adolfo Bolea Sanchez
1b0ea8af8f cmake: update vtkm.pc and vtkm_config.mk file
(cherry picked from commit 0eb9b68c1e680ee0095341d97c16782b1d65cb08)
2023-09-11 19:55:05 -04:00
Vicente Bolea
e3124450b8 Merge topic 'add-contract-tests'
b555b228b ci: add make and pkg-config to recent imgs
1cd6be01c ci: fix ctest_memcheck args
5612d2689 cmake: Add makefile against install test
0eb9b68c1 cmake: update vtkm.pc and vtkm_config.mk file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3128
2023-09-11 19:54:23 -04:00
Vicente Adolfo Bolea Sanchez
b555b228be ci: add make and pkg-config to recent imgs 2023-09-11 19:23:14 -04:00
Vicente Adolfo Bolea Sanchez
1cd6be01c2 ci: fix ctest_memcheck args 2023-09-11 19:05:46 -04:00
Vicente Adolfo Bolea Sanchez
5612d26892 cmake: Add makefile against install test 2023-09-11 14:27:36 -04:00
Vicente Adolfo Bolea Sanchez
0eb9b68c1e cmake: update vtkm.pc and vtkm_config.mk file 2023-09-11 14:27:30 -04:00
Kenneth Moreland
c606e8106f Merge topic 'constant-amr-arrays'
7992e1b6b Store constant AMR arrays with less memory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Roxana Bujack <bujack@lanl.gov>
Merge-request: !3131
2023-09-08 18:40:08 -04:00
Sujin Philip
a333b4550f Merge branch 'release-2.1' 2023-09-07 10:15:42 -04:00
Sujin Philip
1e3cd818fb Merge topic 'fix-clip-centroid-points' into release-2.1
bda2d3d8e Clip: remap centroid interpolation points to used-only point

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Abhishek Yenpure <abhi.yenpure@kitware.com>
Merge-request: !3133
2023-09-07 10:15:41 -04:00
Sujin Philip
757067a30f Merge topic 'fix-clip-centroid-points'
bda2d3d8e Clip: remap centroid interpolation points to used-only point

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Abhishek Yenpure <abhi.yenpure@kitware.com>
Merge-request: !3133
2023-09-07 10:15:41 -04:00
Kenneth Moreland
7992e1b6bf Store constant AMR arrays with less memory
The `AmrArrays` filter generates some cell fields that specify information
about the hierarchy, which are constant across all cells in a partition.
These were previously stored as an array with the same value throughout.
Now, the field is stored as an `ArrayHandleConstant`, which does not
require any real storage. Recent changes to VTK-m allow code to extract the
array as a component efficiently without knowing the storage type.

Fixes #794
2023-09-06 10:54:07 -06:00
Sujin Philip
bda2d3d8e1 Clip: remap centroid interpolation points to used-only point
Previously, Clip was updated to remove unused points from the input.
This requires a re-mapping of point ids after compaction. This
re-mapping was missed for the points used for interpolation of centorid
points.
2023-09-04 10:51:47 -04:00
Kenneth Moreland
bd7ac82411 Merge branch 'release-2.1' 2023-08-31 10:28:32 -04:00
Kenneth Moreland
5652c9ad3a Merge topic 'flying-edges-cell-fields' into release-2.1
8a9887023 Add regression test for flying edges interpolating cell fields
4f19ac608 Fix interpolation of cell fields with flying edges

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3129
2023-08-31 10:28:32 -04:00
Kenneth Moreland
e5723a4219 Merge topic 'flying-edges-cell-fields'
8a9887023 Add regression test for flying edges interpolating cell fields
4f19ac608 Fix interpolation of cell fields with flying edges

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3129
2023-08-31 10:28:32 -04:00
Kenneth Moreland
1be389b123 Merge topic 'fix-degenerates' into release-2.1
6e674ddea Fix degenerate polygon removal

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3126
2023-08-31 10:25:59 -04:00
Kenneth Moreland
4bcabd8a77 Merge branch 'release-2.1' 2023-08-31 10:25:59 -04:00
Kenneth Moreland
37334114a7 Merge topic 'fix-degenerates'
6e674ddea Fix degenerate polygon removal

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3126
2023-08-31 10:25:59 -04:00
Jefferson Amstutz
ec043d9f7a Merge topic 'anari-rendering'
db4c5c3b9 initial implementation of ANARI rendering support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2975
2023-08-30 21:38:30 -04:00
Jefferson Amstutz
db4c5c3b98 initial implementation of ANARI rendering support 2023-08-30 15:52:48 -05:00
Kenneth Moreland
8a98870231 Add regression test for flying edges interpolating cell fields 2023-08-30 13:12:55 -05:00
Dave Pugmire
9fb58dcf1e Optimize cellID bin check. 2023-08-30 12:04:05 -04:00
Kenneth Moreland
4f19ac6082 Fix interpolation of cell fields with flying edges
The flying edges algorithm (used when contouring uniform structured cell
sets) was not interpolating cell fields correctly. There was an indexing
issue where a shortcut in the stepping was not incrementing the cell index.
2023-08-30 09:25:55 -05:00
Vicente Bolea
7b53fdfa2d Merge topic 'correct-pkgconfig-include' into release-2.0
f4aa4de0f pkgconfig: fix include flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3127
2023-08-29 16:37:14 -04:00
Vicente Bolea
8c226675d8 Merge branch 'release-2.0' into release-2.1 2023-08-29 16:37:14 -04:00
Vicente Bolea
0c86e3277b Merge branch 'release-2.1' 2023-08-29 16:37:14 -04:00
Vicente Bolea
543fc8c3b2 Merge topic 'correct-pkgconfig-include'
f4aa4de0f pkgconfig: fix include flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3127
2023-08-29 16:37:14 -04:00