Commit Graph

7132 Commits

Author SHA1 Message Date
Li-Ta Lo
e8278094f9 migrate Mask
tidy up language and library usage

update benchmark
2022-01-20 15:14:37 -07:00
Li-Ta Lo
679f1b00e9 migrate GhostCellRemove and Threshold 2022-01-20 15:10:22 -07:00
Li-Ta Lo
7e08f4fb1b Migrate ExtractStructured
DoMapField

add back deprecated ExtractStructured.h
2022-01-20 15:10:20 -07:00
Li-Ta Lo
e3703b09cf migrate ExtractGeometry 2022-01-20 15:02:59 -07:00
Julien Schueller
a6dcac2cb1 Fix build with MinGW
Co-authored-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2022-01-19 16:41:42 +00:00
Li-Ta Lo
25224e0e4a Merge topic 'NewFilter'
36fbc019a prevent shadowing for older GCC
63b9b1275 MapperWireframer.cxx really should include Algorithm.h
fa0905e3e migrate clean_grid and extract_entity filters

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2665
2022-01-14 09:31:41 -05:00
Kenneth Moreland
e8a6d37190 Merge topic 'allocate-and-fill'
d7b4390d1 Specify end position when filling values in Buffer
7a4cbaf10 Suggestions during review by Gunther Weber
8e4fb7ebd Suppress unhelpful nvcc warning
bacca0693 Add Fill method for non-standard Storage
9da66ff32 Prefer ArrayHandle::Fill over Algorithm::Fill
f79cf1d5f Add BitField::Fill and BitField::AllocateAndFill
926164049 Add Fill and AllocateAndFill to ArrayHandle
0cf996f41 Add ability to fill values in a Buffer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2660
2022-01-13 17:15:37 -05:00
Li-Ta Lo
36fbc019a6 prevent shadowing for older GCC 2022-01-13 13:30:35 -07:00
Li-Ta Lo
63b9b12755 MapperWireframer.cxx really should include Algorithm.h 2022-01-13 11:14:48 -07:00
Li-Ta Lo
fa0905e3e5 migrate clean_grid and extract_entity filters 2022-01-13 11:14:48 -07:00
Kenneth Moreland
bdb989df61 Merge topic 'more-efficient-merge-partitions'
10f21b21a Pre-allocate arrays for MergePartitionedDataSet

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Roxana Bujack <bujack@lanl.gov>
Merge-request: !2664
2022-01-13 09:04:37 -05:00
Kenneth Moreland
d7b4390d15 Specify end position when filling values in Buffer
This allows us to support `Fill` in `ArrayHandleView` and
`ArrayHandleReverse`.
2022-01-11 07:15:41 -07:00
Kenneth Moreland
7a4cbaf105 Suggestions during review by Gunther Weber 2022-01-10 08:17:41 -07:00
Kenneth Moreland
2a65e9bde9 Merge topic 'perlin-noise-test'
c92f9cf15 Add test for PerlinNoise source

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2662
2022-01-10 08:49:27 -05:00
Kenneth Moreland
10f21b21ae Pre-allocate arrays for MergePartitionedDataSet
The initial implementation of `MergePartitionedDataSet` would grow each
array as it was generated. As each partition was revisited, the arrays
being merged would be reallocated and data appended to the end. Although
this works, it is slower than necessary. Each reallocation has to copy
the previously saved data into the newly allocated memory space.

This new implementation first counts how big each array should be and
then copies data from each partition into the appropriate location of
each dataset.

Also changed the templating of how fields are copied so that all field
types are supported, not just those in the common types.
2022-01-06 13:01:04 -07:00
Li-Ta Lo
e5639b1f91 Merge topic 'NewFilter'
0801b2423 add newline
c9b8a31b5 add NewFilterField.cxx so EXPORT_CORE would work
548df8436 add CORE_EXPORT
9ff52a98c Set default ActiveCoordinateSystemIndex to 0.
90992406f Merge branch 'NewFilter' of gitlab.kitware.com:ollielo/vtk-m into NewFilter
4a63b745a uniform treatment of primary/secondary field/coordinate_system
6461857e4 Merge branch 'master' into NewFilter
3720006d0 change based on code review
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2648
2022-01-06 09:31:25 -05:00
Li-Ta Lo
0801b24233 add newline 2022-01-05 14:40:10 -07:00
Li-Ta Lo
c9b8a31b5d add NewFilterField.cxx so EXPORT_CORE would work 2022-01-05 14:39:18 -07:00
Li-Ta Lo
548df84369 add CORE_EXPORT 2022-01-05 13:20:19 -07:00
Kenneth Moreland
c92f9cf15e Add test for PerlinNoise source 2022-01-05 13:02:36 -07:00
Li-Ta Lo
9ff52a98c7 Set default ActiveCoordinateSystemIndex to 0. 2022-01-05 11:52:23 -05:00
Li-Ta Lo
4a63b745aa uniform treatment of primary/secondary field/coordinate_system 2022-01-05 09:28:55 -07:00
Kenneth Moreland
4650a1da96 Deprecate old methods from DynamicCellSet
The `DynamicCellSet` (and the related `DynamicCellSetBase`) are
deprecated and replaced with `UnknownCellSet` (and `UncertainCellSet`).
Thus, `UnknownCellSet` has some methods inherited from `DynamicCellSet`
but replaced with other functionality. These methods are now marked as
deprecated and their use is removed.
2022-01-05 08:18:17 -07:00
Kenneth Moreland
0b84787f78 Deprecate DynamicCellSet and remove from code
The `DynamicCellSet` class is now marked as deprecated (as is the header
that contains it), and all non-deprecated code is moved to its
`UnknownCellSet` replacement.

Also added a deprecation warning for the VariantArrayHandle.h header
file and deleted a couple inappropriate uses of it.
2022-01-04 15:38:18 -07:00
Kenneth Moreland
8e4fb7ebd0 Suppress unhelpful nvcc warning 2022-01-04 13:32:27 -07:00
Kenneth Moreland
de14629c1f Merge topic 'render-test-improvements'
1981f9061 Add secondary image for MapperConnectivity test
d4d1ef955 Add secondary image for MapperQuad test
54c1a85d0 Reduce templating in RenderTest code
c0fbe5f30 Remove antiquated templated render test functions
0fe9300ee Expand test_equal_images
12e116417 Redefine RenderTest interface for library
afa8c9082 Add struct for passing options to render tests
9173d6bba Rename RegressionTests to RenderTests
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Nickolas Davis <nadavi@sandia.gov>
Merge-request: !2657
2022-01-04 14:54:31 -05:00
Kenneth Moreland
bacca06934 Add Fill method for non-standard Storage
Also add test code for the Fill functionality in fancy `ArrayHandle`s.
2022-01-04 10:35:53 -07:00
Kenneth Moreland
9da66ff320 Prefer ArrayHandle::Fill over Algorithm::Fill 2022-01-04 08:50:57 -07:00
Kenneth Moreland
f79cf1d5f7 Add BitField::Fill and BitField::AllocateAndFill 2022-01-04 08:50:57 -07:00
Kenneth Moreland
926164049f Add Fill and AllocateAndFill to ArrayHandle
These allow you to create an `ArrayHandle` filled with an inital value
without having to compile code for the device.
2022-01-04 08:50:57 -07:00
Kenneth Moreland
0cf996f410 Add ability to fill values in a Buffer
This is in preparation to add a method to `ArrayHandle` that allows
initializing fill values.
2022-01-04 08:50:52 -07:00
Kenneth Moreland
2eabba3366 Merge topic 'get-value-fallback'
5b34e6f70 Better fallback for ArrayGetValue

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Merge-request: !2659
2022-01-04 10:09:00 -05:00
Li-Ta Lo
6461857e4e Merge branch 'master' into NewFilter 2022-01-04 07:54:04 -07:00
Kenneth Moreland
0a89a5fff5 Store UnknownCellSet instead of DynamicCellSet in DataSet
`UnknownCellSet` is an updated replacement for `DynamicCellSet`. The
next step in the replacement is to change `DataSet` to use the new
class.

Also replaced `DynamicCellSet` with `UnknownCellSet` in a few
places where `DynamicCellSet.h` was not directly included (and
therefore now no longer included at all). This change would have
to be made at some point anyway.
2022-01-03 13:52:30 -07:00
Kenneth Moreland
5b34e6f70b Better fallback for ArrayGetValue
To avoid having to use a device compiler every time you wish to use
`ArrayGetValue`, the actual implementation is compiled into the `vtkm_cont`
library. To allow this to work for all the templated versions of
`ArrayHandle`, the implementation uses the extract component features of
`UnknownArrayHandle`. This works for most common arrays, but not all
arrays.

For arrays that cannot be directly represented by an `ArrayHandleStride`,
the fallback is bad. The entire array has to be pulled to the host and then
copied serially to a basic array.

For `ArrayGetValue`, this is just silly. So, for arrays that cannot be
simply represented by `ArrayHandleStride`, make a fallback that just uses
`ReadPortal` to get the data. Often this is not the most efficient method,
but it is better than the current alternative.
2022-01-03 10:08:39 -07:00
Kenneth Moreland
a2ab460f5d Compile more sources without device compiler
We have been doing a better job at hiding device code (and moving code
into libraries). Smoke out source that no longer needs to be compiled by
device compilers.
2022-01-03 08:23:04 -07:00
Kenneth Moreland
54c1a85d05 Reduce templating in RenderTest code
The `Canvas`, `Mapper`, and `View` classes use virtual polymorphism
amongst each other, so might as well use it.
2021-12-30 10:53:30 -07:00
Kenneth Moreland
c0fbe5f30f Remove antiquated templated render test functions 2021-12-30 10:53:30 -07:00
Kenneth Moreland
0fe9300eed Expand test_equal_images
The `test_equal_images` function has been expanded to supply the
generated image in a `Canvas` or a `DataSet` in addition to a `View`.
Much of the templating code has been removed from `test_equal_images`
and most of the code has moved into the `vtkm_rendering_testing`
library.
2021-12-30 10:53:30 -07:00
Kenneth Moreland
12e1164179 Redefine RenderTest interface for library
The previous functions that enabled the render regression tests were
heavily templated, which required every test using rendering to
recompile the entire rendering system being used. Changed the interface
to not rely on templating so that the RenderTest method can be moved
into a library.

Also moved the options into a struct where they can be better managed.
The render testing functions tended to have lots of arguments that were
difficult to manage. Instead, created a single `struct` that holds all
the potential options. That way when someone specifies on option, it is
clear what option is being set.
2021-12-30 10:53:23 -07:00
Kenneth Moreland
afa8c9082e Add struct for passing options to render tests
This allows you to set the parameters of the `test_equal_image` without
having to call it directly.
2021-12-29 13:12:36 -07:00
Kenneth Moreland
9173d6bba9 Rename RegressionTests to RenderTests
The tests that used rendering and image comparison were named
`RegressionTest*`. However, this name is not very descriptive as all the
tests are regression tests. These have all been renamed to be
`RenderTest*` to more clearly indicate that they are tests that use
rendering as part of the test.
2021-12-29 13:12:36 -07:00
Kenneth Moreland
d29532c23c Move non-templated testing functions to library
Previously, all methods in the `vtkm::cont::testing::Testing` class were
inlined in the header file. This makes sense for the methods that are
templated, but not so much for methods that are not templated.

Although this change provides minimal improvements with compile times
and object sizes (maybe). But the real benefit is that some of these
methods declare static objects. When declared in inlined functions, a
different object will be created for each translation unit. This can
lead to unexpected behavior when multiple versions of a supposed
singleton static object exist.
2021-12-29 13:12:36 -07:00
Kenneth Moreland
d9ad05b683 Add warning when an invalid ColorTable preset was requested 2021-12-29 13:12:36 -07:00
Li-Ta Lo
3720006d0b change based on code review 2021-12-17 09:49:04 -07:00
Kenneth Moreland
d7a4e0d757 Merge topic 'unknown-cell-set'
1dc3d145a Allow `UnknownCellSet::Cast` return a reference
030ac1fff Fix some copy/paste errors with comments and variable names
4cb392ca2 Make DynamicCellSet directly an UnknownCellSet
6da5aa456 Replace DynamicCellSet implementation with UnknownCellSet
ac024587a Add UncertainCellSet

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Merge-request: !2647
2021-12-17 09:44:53 -05:00
Kenneth Moreland
a282ba2e0e Merge topic 'perlin-noise-updates'
a200592f4 Fix type conversions in PerlinNoise source
4204e4455 Add changelog for perline noise generator
8f6705450 Allow automatic seed for perlin noise

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2650
2021-12-17 09:38:33 -05:00
Dave Pugmire
88bedf34f8 Merge topic 'template_particletype'
69af0f003 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into template_particletype
34a2e762f Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into template_particletype
c19e5eaab Remove newline that was added.
108f4f1f2 fix compile error.
7dc0194ea Fix compile error.
86fba6846 Create typedefs for existing filters with same name.
09f4ff380 fix compiler errors.
9ee00e395 Fix examples and test
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Abhishek Yenpure <abhishek@uoregon.edu>
Merge-request: !2636
2021-12-16 19:59:58 -05:00
Kenneth Moreland
a200592f4f Fix type conversions in PerlinNoise source
The `Permutations` array was created using floating point numbers. But
integers were put into it and then used when taken out of it. Simplified
everything by simply making the value type of `Permutations` as
`vtkm::Id`.
2021-12-16 09:46:01 -07:00
Kenneth Moreland
8f67054504 Allow automatic seed for perlin noise 2021-12-16 09:46:01 -07:00