Commit Graph

7405 Commits

Author SHA1 Message Date
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
Abhishek Yenpure
397ffaad21 Fixing dashboard warnings 2022-02-02 18:26:07 +05:30
Li-Ta Lo
b3327e544a move auto field = ... around to minimize accidential capture 2022-02-02 05:45:24 -07:00
Abhishek Yenpure
7f2badfce3 Fixing dashboard warnings 2022-02-02 18:00:05 +05:30
Abhishek Yenpure
4db0cecc1f Fixing dashboard warnings 2022-02-02 17:12:30 +05:30
Abhishek Yenpure
8ddcad824c Fixing dashboard warnings 2022-02-02 16:15:12 +05:30
Kenneth Moreland
5063527bb7 Document that an inefficient component extract warning is expected
When calling `ArrayExtractComponent`, some arrays cannot really have a
component extracted. In this case there is a fallback and a warning is
generated.

Of course it is good to test this behavior. The
`UnitTestArrayExtractComponent` does test this and as such generates
this warning (intentionally). Add a note to the output that this warning
is expected.
2022-02-01 15:25:40 -07:00
Manish Mathai
2c16e9c05e Prevent error being raised for coincident points in Tube filter
Coincident points in polylines will be skipped when generating the
tubes, instead of raising an error.
2022-02-01 13:13:12 -08:00
Li-Ta Lo
455c204373 Migrate field_transform 2022-02-01 11:51:01 -07:00
Kenneth Moreland
e16fa28d6d Fix range warning in ArrayHandleCast
`ArrayHandleCast` was giving warnings about casting to a type that could
not hold the range to the source even when that was not true. The
problem was it was using `std::numeric_limits::min` for the lower end of
the range. But for floating point values, `min` is not really `min`.
Rather, it is the smallest representable number. (This is probably a C++
bug we are stuck with.) You really need to use `lowest`.
2022-02-01 11:42:16 -07:00
Kenneth Moreland
2aed0b81c3 Avoid inefficient component extractions in serialization test
The actually serialization was not doing any inefficient component
extraction, but the array handle comparisons were. This made it hard to
verify that the actual serialization was not being slow. Fixed the
comparison to make sure that it only used efficient paths.
2022-02-01 10:58:55 -07:00
Kenneth Moreland
c3b6febb27 Fix ArrayHandleMultiplexer exec test
One of the tests was to make sure that the `ArrayHandleMultiplexer` is
working in the exec environment. It was doing this with an `ArrayCopy`.
However, the `ArrayCopy` was falling back to the host, so the test was
not doing what was expected.

Now use `DeviceAdapterAlgorithm::Copy` to force the array to work on the
device.
2022-02-01 09:28:43 -07:00
Kenneth Moreland
4b30939dda Fix inefficient copy when extracting rectilinear grids
The `ExtractStructured` code was calling `ArrayCopy` on a permutation of
odd arrays, which was causing problems with the copy. Specifically use
`ArrayCopyDevice` to ensure the copy happens efficiently.
2022-02-01 09:21:43 -07:00
Li-Ta Lo
607e8d988d remove vtkm_filter_common 2022-01-31 14:29:34 -07:00
Li-Ta Lo
8113d15ef7 Merge branch 'master' into field_conversion
# Conflicts:
#	benchmarking/BenchmarkFilters.cxx
#	vtkm/filter/CMakeLists.txt
#	vtkm/filter/testing/UnitTestSplitSharpEdgesFilter.cxx
2022-01-31 14:08:02 -07:00
Li-Ta Lo
c61f732101 Merge topic 'vector_calculus'
79afd73b3 explicitly use CoordinateSystem as input field
cdc4c29c5 renamve vector_calculus -> vector_analysis
63d4b02ad add ALL_BACKENDS
c60d9e64d migrate SurfaceNormal, VectorMagnitude
59cc8cbae Migrate Gradient filter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2693
2022-01-31 14:37:14 -05:00
Li-Ta Lo
f5eb84f646 move worklet/histogram to filter/density_estimate/worklet 2022-01-31 12:17:44 -07:00
Li-Ta Lo
79afd73b31 explicitly use CoordinateSystem as input field 2022-01-31 09:52:25 -07:00
Li-Ta Lo
cdc4c29c5f renamve vector_calculus -> vector_analysis 2022-01-31 08:58:38 -07:00
Kenneth Moreland
45e9b7fa76 Merge topic 'vectraits-range'
ca032801a Allow ArrayExtractComponent to work with Vec-like value types
f48b4b761 Add implementation of VecTraits for Range and Bounds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Gunther Weber <ghweber@lbl.gov>
Merge-request: !2683
2022-01-31 10:15:12 -05:00
Abhishek Yenpure
7d10b4f32d Adding assert to unit test 2022-01-31 11:46:28 +05:30
Abhishek Yenpure
2779bc9d44 Fixing conversion warnings 2022-01-31 10:22:09 +05:30
Li-Ta Lo
2ab05f2613 remove unneeded #include of Worklet headers 2022-01-30 17:09:31 -07:00
Li-Ta Lo
63d4b02ad2 add ALL_BACKENDS 2022-01-30 16:54:25 -07:00
Li-Ta Lo
171e4ba9a2 uses DEVOCE_SOURCES 2022-01-30 16:52:26 -07:00
Li-Ta Lo
1e303d3d3d add missing newline 2022-01-30 16:06:51 -07:00
Li-Ta Lo
93b9f5d746 restore vtkm_filter_common with a dummy .cxx 2022-01-30 16:05:15 -07:00
Li-Ta Lo
c60d9e64dd migrate SurfaceNormal, VectorMagnitude 2022-01-30 14:31:52 -07:00
Li-Ta Lo
59cc8cbaeb Migrate Gradient filter 2022-01-30 12:18:22 -07:00
Li-Ta Lo
f08a3185f8 Migrate FieldConversion filters 2022-01-29 13:12:01 -07:00
Abhishek Yenpure
9b82e75ac0 Fixing the type of reduce accumulator 2022-01-29 09:23:58 +05:30
Li-Ta Lo
4fa5f2f29c Merge topic 'new_contour'
af87308b9 better type safety, coding style conformation
16b8ed769 Merge branch 'new_contour' of gitlab.kitware.com:ollielo/vtk-m into new_contour
d8fdda5c3 use the new CreateResult
3a9e9f1ac Merge branch 'master' into new_contour
83c6032c9 minor update
1b028ab61 delete unused worklet unit test
175f9010a Merge branch 'master' into new_contour
5e991e4bf Merge branch 'master' into new_contour
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2669
2022-01-28 15:13:34 -05:00
Li-Ta Lo
af87308b91 better type safety, coding style conformation 2022-01-28 12:20:01 -07:00
Vicente Bolea
1f22a2350b Merge topic 'cell-centered-advection' into release
91631760a Missing changes for cell centered velocity fields

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2663
2022-01-28 12:45:08 -05:00
Vicente Bolea
9334986821 Merge topic 'cell-centered-advection'
91631760a Missing changes for cell centered velocity fields

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2663
2022-01-28 12:45:08 -05:00
Li-Ta Lo
d8fdda5c37 use the new CreateResult 2022-01-28 08:48:26 -07:00
Li-Ta Lo
3a9e9f1ac1 Merge branch 'master' into new_contour 2022-01-28 07:34:35 -07:00
Abhishek Yenpure
3b95d06140 Removing debug print statements 2022-01-28 18:52:09 +05:30
Abhishek Yenpure
d8af004e8b Removing undefined method error 2022-01-28 17:48:38 +05:30
Abhishek Yenpure
91631760a7 Missing changes for cell centered velocity fields 2022-01-27 20:07:53 -05:00
Li-Ta Lo
83c6032c94 minor update 2022-01-27 13:44:01 -07:00
Kenneth Moreland
5bd60a0b77 Add CreateResult to NewFilter and absorb field mapping
The original version of `Filter` classes had a helper header file named
`CreateResult.h` that had several forms of a `CreateResult` function that
helped correctly create the `DataSet` to be returned from a filter's
`DoExecute`. With the move to the `NewFilter` structure, these functions
did not line up very well with how `DataSet`s should actually be created.

A replacement for these functions have been added as protected helper
methods to `NewFilter` and `NewFilterField`. In addition to moving them
into the filter themselves, the behavior of `CreateResult` has been merged
with the map field to output functionality. The original implementation of
`Filter` did this mapping internally in a different step. The first design
of `NewFilter` required the filter implementer to call a
`MapFieldsOntoOutput` themselves. This new implementation wraps the
functionality of `CreateResult` and `MapFieldsOntoOutput` together so that
the `DataSet` will be created correctly with a single call to
`CreateResult`. This makes it easier to correctly create the output.
2022-01-27 13:27:39 -07:00
Abhishek Yenpure
1bee90c597 Adding VTKM_EXEC tag to test worklets 2022-01-27 19:11:36 +05:30
Abhishek Yenpure
9b1aebe2d6 Adding debug updates 2022-01-26 22:44:26 -08:00
Li-Ta Lo
1b028ab612 delete unused worklet unit test 2022-01-26 13:51:21 -07:00
Li-Ta Lo
175f9010a5 Merge branch 'master' into new_contour 2022-01-26 13:43:46 -07:00
Manish Mathai
5a0f26bc52 Merge topic 'volume-renderer-oob-fix' into release
36822756b Fix out of bounds cell location searchs in VolumeRendererStructured

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2685
2022-01-26 14:13:28 -05:00
Manish Mathai
ae17410f2f Merge topic 'volume-renderer-oob-fix'
36822756b Fix out of bounds cell location searchs in VolumeRendererStructured

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2685
2022-01-26 14:13:28 -05:00
Manish Mathai
36822756b9 Fix out of bounds cell location searchs in VolumeRendererStructured
`RectilinearLocator::LocateCell` and `UniformLocator::LocateCell` assume
that the point in inside the bounds of the cell set, but may return a
cell location that does not exist, i.e., cell location that is outside
of the bounds of the cell set due to errors from floating point
operations.

This fix, given the assumption above, bounds the calculated cell
location to within the cellset by capping the indices to within the
limits.
2022-01-26 09:27:05 -08:00
Li-Ta Lo
0270367004 use CastAndCallScalarField 2022-01-25 12:18:15 -07:00
Kenneth Moreland
ca032801a8 Allow ArrayExtractComponent to work with Vec-like value types
Before, `ArrayExtractComponent` only worked with `Vec` types. Anything
that was not specifically a `Vec` was assumed to be a basic component
even if it had `VecTraits`. This was changed to extract components out
of anything that has `VecTraits`. The assumption is that all components
of the Vec-like object are packed tightly in the object.

This allows `ArrayExtractComponent` to work with objects like
`vtkm::Range` and `vtkm::Bounds` and extract their parts as expected.
2022-01-25 10:55:41 -07:00
Kenneth Moreland
f48b4b761e Add implementation of VecTraits for Range and Bounds
Added specializations of `vtkm::VecTraits` for the simple structures of
`vtkm::Range` and `vtkm::Bounds`. This expands the support for using
these structures in things like `ArrayHandle` and `UnknownArrayHandle`.
2022-01-25 10:55:35 -07:00
Li-Ta Lo
2540fb1b27 Merge branch 'master' into new_connected_components 2022-01-25 10:15:57 -07:00
Kenneth Moreland
ab86763c74 Merge topic 'cast-and-call-field'
32507a510 Update CrossProduct filter to new filter base class
72065024a Add CastAndCallScalarField and CastAndCallVecField to NewFilterField

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Merge-request: !2681
2022-01-25 10:28:55 -05:00
Kenneth Moreland
ff43a2efa5 Merge topic 'universal-dot-product-filter'
0c47645ba Remove DotProduct from worklet directory
d76929a78 Allow dot product to work with any field type

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2682
2022-01-25 10:11:05 -05:00
Kenneth Moreland
32507a5109 Update CrossProduct filter to new filter base class
This also provides a good opportunity to demonstrate and test the
CastAndCallVecField method of the new filter classes.
2022-01-25 07:23:48 -07:00
Kenneth Moreland
0c47645bad Remove DotProduct from worklet directory
All worklets are now encapsulated in the DotProduct filter.
2022-01-24 15:05:40 -07:00
Kenneth Moreland
d76929a788 Allow dot product to work with any field type
The previous implementation of the `DotProduct` filter only worked with
arrays containing "common" types. The filter has been updated to use the
extract component feature of `UnknownArrayHandle` to support computing
the dot product of arrays of almost any type.
2022-01-24 15:02:20 -07:00
Kenneth Moreland
72065024aa Add CastAndCallScalarField and CastAndCallVecField to NewFilterField
These methods somewhat simplify doing the `CastAndCall` from an
`UnknownArrayhandle` that comes from an input field.

The motivation for this change is for the User's guide, where I am
having a chicken-and-egg problem of wanting to describe how to make a
simple filter implementation without having to go into details about
`UnknownArrayHandle`.
2022-01-24 14:18:53 -07:00
Kenneth Moreland
170a10e4b4 Fix slow ArrayCopy calls
The `ArrayCopy` method has been changed to be precompiled. It handles
most standard array types. But there are some special `ArrayHandle`
types that are not correctly handled, and these go to a slow fallback.
Find places in the code that use that fallback and fix them.

There are also some instances of replacing an `ArrayHandleCounting` with
an `ArrayHandleIndex`. This change is probably not strictly necessary to
make the `ArrayCopy` faster, but when it can be used `ArrayHandleIndex`
is generally better.
2022-01-24 14:15:45 -07:00
Kenneth Moreland
63c45efc04 GenerateIds filter does not require device compiler 2022-01-24 14:05:58 -07:00
Kenneth Moreland
245fc3a983 Compile IO library without device compiler 2022-01-24 12:17:23 -07:00
Kenneth Moreland
9b017f4f95 Correct inefficient extract component for decorating arrays
Many arrays decorate other arrays but still allow an efficient component
extraction. However, the component can only be extracted if it can be
efficiently extracted from the array being decorated. In this case, the
array reported that it could efficiently extract even though it could
not.

Fixed this by having the `ArrayExtractComponentImpl` classes inherit
from the respective superclass. This will in turn inhert the
`ArrayExtractComponentImplInefficient` if it is the base class.
2022-01-24 12:17:23 -07:00
Kenneth Moreland
392d781359 Add ArrayCopy specialization for Counting and Permutation array
This required adding another source file.
2022-01-24 12:17:23 -07:00
Kenneth Moreland
f3c82bfea7 Add ArrayCopy fast paths
There are some common uses of `ArrayCopy` that don't use basic arrays.
Rather than move away from `ArrayCopy` for these use cases, compile a
special fast path for these cases.

This required some restructuring of the code to get the template
resolution to work correctly.
2022-01-24 12:17:23 -07:00
Kenneth Moreland
00609b0af2 Make ArrayCopy not depend on a device compiler
Rather than require `ArrayCopy` to create special versions of copy for
all arrays, use a precompiled versions. This should speed up compiles,
reduce the amount of code being generated, and require the device
compiler on fewer source files.

There are some cases where you still need to copy arrays that are not
well supported by the precompiled versions in `ArrayCopy`. (It will
always work, but the fallback is very slow.) In this case, you will want
to switch over to `ArrayCopyDevice`, which has the old behavior.
2022-01-24 12:17:23 -07:00
Kenneth Moreland
aefc753329 Implement permutation mapping in vtkm_cont
There was a precompiled version of mapping permutations in the
filter library. However, there are reasons to be able to copy
a permutation of an array outside of filters. So add the
capability to the more general filter library.
2022-01-24 12:17:23 -07:00
Kenneth Moreland
2b8d89fd50 Fix Fill for ArrayHandleView
The Fill method in the storage was filling the wrong buffers.
2022-01-24 12:17:23 -07:00
Li-Ta Lo
578f980ac4 Merge branch 'master' into new_connected_components
# Conflicts:
#	vtkm/filter/CMakeLists.txt
#	vtkm/filter/testing/CMakeLists.txt
2022-01-24 12:11:33 -07:00
Li-Ta Lo
af37ecd54d make fields associate with mesh 2022-01-24 09:19:24 -07:00
Abhishek Yenpure
bb27a0f8fe Adding debug updates 2022-01-23 22:42:07 -08:00
Abhishek Yenpure
16f15c94b9 Adding fixes to identify degenerate cells 2022-01-22 21:06:28 -08:00
Li-Ta Lo
ee1b752e8e Merge branch 'master' into new_connected_components 2022-01-22 10:12:25 -07:00
Li-Ta Lo
71ec80a3bd Merge branch 'master' into density_estimate 2022-01-22 09:07:52 -07:00
Li-Ta Lo
ac6a93003d minor update based on code review 2022-01-22 08:39:10 -07:00
Li-Ta Lo
61e2a620a9 document why a .ResetCellSetList is necessary 2022-01-20 15:17:18 -07:00
Kenneth Moreland
ced89bb396 Move internal functions into top level anonymous namespace 2022-01-20 15:16:03 -07:00
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
Abhishek Yenpure
4556eed085 Adding more debug 2022-01-19 16:43:35 -08:00
Li-Ta Lo
1d3c387936 add ALL_BACKENDS 2022-01-19 13:55:42 -07:00
Li-Ta Lo
5f9ee86f28 migrate particle density filters 2022-01-19 10:34:43 -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
Abhishek Yenpure
ed616d7206 Adding print to debug 2022-01-19 08:27:34 -08:00
Li-Ta Lo
271e023354 migrate Entropy and ND filters 2022-01-19 07:20:48 -07:00
Abhishek Yenpure
b4f9f17aa4 Adding print to debug 2022-01-18 23:07:34 -08:00
Abhishek Yenpure
b18d375746 Adding print to debug 2022-01-18 22:56:34 -08:00
Abhishek Yenpure
70bb70f61d Adding print to debug 2022-01-18 22:27:45 -08:00
Abhishek Yenpure
39778a93cf Adding print to debug 2022-01-18 22:20:21 -08:00
Li-Ta Lo
c4a7444b02 migrate Histogram filter 2022-01-17 09:18:42 -07:00
Li-Ta Lo
de66d93d05 Add ALL_BACKENDS 2022-01-16 14:13:10 -07:00
Li-Ta Lo
77650a9ca0 migrate connected components filters 2022-01-16 12:15:03 -07:00
Abhishek Yenpure
dc37c48a1f Adding updates to unit test 2022-01-14 13:30:28 -08:00
Li-Ta Lo
5e991e4bf4 Merge branch 'master' into new_contour
# Conflicts:
#	benchmarking/BenchmarkFilters.cxx
#	vtkm/filter/CMakeLists.txt
#	vtkm/filter/clean_grid/CMakeLists.txt
#	vtkm/filter/clean_grid/CleanGrid.cxx
#	vtkm/filter/clean_grid/testing/CMakeLists.txt
#	vtkm/filter/clean_grid/testing/UnitTestCleanGrid.cxx
#	vtkm/filter/contour/testing/RenderTestContourFilter.cxx
#	vtkm/filter/contour/testing/UnitTestContourFilter.cxx
#	vtkm/filter/entity_extraction/CMakeLists.txt
#	vtkm/filter/entity_extraction/ExternalFaces.cxx
#	vtkm/filter/entity_extraction/ExtractPoints.cxx
#	vtkm/filter/entity_extraction/MaskPoints.cxx
#	vtkm/filter/entity_extraction/ThresholdPoints.cxx
#	vtkm/filter/testing/CMakeLists.txt
#	vtkm/filter/testing/UnitTestMultiBlockFilter.cxx
#	vtkm/worklet/testing/UnitTestOrientNormals.cxx
2022-01-14 13:31:01 -07: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
Abhishek Yenpure
ed65758a5e Adding MIR unit test with data (Venn from Ascent examples) 2022-01-13 18:26:19 -08: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
Abhishek Yenpure
8fcfef6293 Adding fixes to binary search for material 2022-01-13 13:08:43 -08: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
Abhishek Yenpure
0469dc3094 Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into mir-float-fix 2022-01-12 21:32:53 -08:00
Li-Ta Lo
0a04eab5fe remove bogus .template 2022-01-11 09:07:56 -07: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
Li-Ta Lo
4eefdb3325 migrate ClipWithImplicitFunction 2022-01-11 05:58:47 -07:00
Li-Ta Lo
3c700259a1 migrate Contour, ClipWithField and Slice 2022-01-10 20:39:43 -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
Li-Ta Lo
a8d664da28 link vtkm_filter_common against vtkm_filter_core 2022-01-07 11:45:48 -07:00
Li-Ta Lo
66158dcc59 link vtkm_filter_core against vtkm_worklet 2022-01-07 11:38:35 -07:00
Li-Ta Lo
621d637f4c add missing install .h 2022-01-07 11:17:45 -07:00
Li-Ta Lo
124b000b5a fixed segfault due to infinite loop 2022-01-07 11:02:30 -07:00
Li-Ta Lo
7b27727f4f CORE rather than COMMON EXPORT 2022-01-06 16:12:31 -07:00
Li-Ta Lo
27e85d50cb Map*.cxx need device compiler 2022-01-06 16:09:24 -07:00
Li-Ta Lo
0511f52061 add one layer of namepsace 2022-01-06 15:55:01 -07:00
Li-Ta Lo
bff92a7d88 reenable All_BACKENDS 2022-01-06 15:17:45 -07:00
Li-Ta Lo
f5bbc6fc83 migrate clean_grid and extract_entity filters 2022-01-06 14:52:27 -07: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
Abhishek Yenpure
7880cabaf3 MIR performance fixes (Part 1)
- The MIRObject does not need a recursive binary search
- Also removing unneeded array copies
2021-12-21 15:10:56 -08: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
Kenneth Moreland
1dc3d145a5 Allow UnknownCellSet::Cast return a reference
The replacement method, `AsCellSet`, will not support returning a
reference. However, we can continue to allow the deprecated method to
return the reference and correct that later when we move from the
deprecated method.
2021-12-16 08:48:04 -07:00
Kenneth Moreland
030ac1fff4 Fix some copy/paste errors with comments and variable names 2021-12-16 08:20:42 -07:00
Li-Ta Lo
a3c4460077 add changelog 2021-12-15 16:29:38 -07:00
Kenneth Moreland
c96f3b86a4 Merge topic 'post-test-images'
1dce468ff Post test render images to dashboard

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Nickolas Davis <nadavi@sandia.gov>
Merge-request: !2652
2021-12-15 15:45:40 -05:00
Kenneth Moreland
4cb392ca24 Make DynamicCellSet directly an UnknownCellSet
Before it was a DynamicCellSetBase<VTKM_DEFAULT_CELL_SET_LIST>. This
change causes some calls to templated DynamicCellSetBase arguments to
fail to resolve, but there were only 4 in the code base. In exchange,
DynamicCellSet requires a lot less characters in its symbol.
2021-12-15 13:00:12 -07:00
Kenneth Moreland
6da5aa4564 Replace DynamicCellSet implementation with UnknownCellSet
Soon, the `DynamicCellSet` interface will be deprecated so that code can
move to `UnknownCellSet`.
2021-12-15 12:59:31 -07:00
Kenneth Moreland
ac024587a6 Add UncertainCellSet
This is a replacement for DynamicCellSet that requires less templating.
2021-12-15 12:59:18 -07:00
Li-Ta Lo
08c1b5a113 Merge branch 'master' into NewFilter 2021-12-15 12:52:54 -07:00
Kenneth Moreland
1dce468ff7 Post test render images to dashboard
By adding some XML tags to the test output, you can push the images used
and generated for tests to the dashboard where they will appear
alongside the test output.

Also made it more automatic to find alternate versions of test images.
2021-12-15 11:12:44 -07:00
Li-Ta Lo
bc890dc470 Merge topic 'DataSetBuilder'
6c3799f80 revert CLion's auto change
04b05ac84 remove ArrayCopy from CopyInto
bb383ab76 remove #include Algorithms
1b2ea8ea8 remove ArrayCopy
942653bbe Extract implementation of MakeTestDataSet to .cxx

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2649
2021-12-15 09:16:45 -05:00
Li-Ta Lo
6c3799f802 revert CLion's auto change 2021-12-14 15:56:07 -07:00
Li-Ta Lo
04b05ac84c remove ArrayCopy from CopyInto 2021-12-14 15:18:23 -07:00
Roxana Bujack
557055b9cc Merge topic 'amrFilter'
11d770659 add worklet include
7139a1c8c add amr capability as filter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2646
2021-12-14 15:57:19 -05:00
Li-Ta Lo
a1b98287f5 support multiple input fields 2021-12-14 13:43:42 -07:00
Li-Ta Lo
bb383ab768 remove #include Algorithms 2021-12-14 10:20:18 -07:00
Li-Ta Lo
1b2ea8ea81 remove ArrayCopy 2021-12-14 09:36:33 -07:00
Li-Ta Lo
6ae6a68923 Remove SupportedType and Policy 2021-12-14 09:05:37 -07:00
Li-Ta Lo
942653bbe2 Extract implementation of MakeTestDataSet to .cxx 2021-12-13 19:11:40 -07:00
Li-Ta Lo
8b94764f18 Add and migrate NewFilterField 2021-12-13 16:20:39 -07:00
Li-Ta Lo
06428e2bc7 Merge topic 'NewFilter'
ba2a710e7 Update NewFitlerInterface.md
1469d34b4 rename DoExecutePartitions
74905a05c use new header file
161391656 Add ChangeLog
0e3cc8076 restore deprecated filter::GenerateIds
130d0d9df Updated Doxygen comments
8cf02d363 New Filter Interface Design

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2641
2021-12-13 16:33:11 -05:00
Li-Ta Lo
1469d34b43 rename DoExecutePartitions 2021-12-13 12:17:15 -07:00
Li-Ta Lo
74905a05cd use new header file 2021-12-13 10:41:42 -07:00
Roxana Bujack
11d7706594 add worklet include 2021-12-13 09:50:18 -07:00
Roxana Bujack
7139a1c8c4 add amr capability as filter 2021-12-13 09:33:47 -07:00
Li-Ta Lo
0e3cc80767 restore deprecated filter::GenerateIds
update comments

privatize DoExecute

remove Pre|PostExecute

more Eecute -> DoExecute changes

fixed a typo so GeneratedIds.h gets installed
2021-12-13 09:28:17 -07:00
Li-Ta Lo
130d0d9dfe Updated Doxygen comments
fixed some typo

more Dosygen updates, remove necessary #include

clarify on name lookup for overloaded virtural function

minor refine on the name lookup rule

rename subdirectory

move virtual functions to .cxx, apply NVI pattern

fixed EXPORT macro

make namespace reflect directory structure
2021-12-13 09:28:13 -07:00
Dave Pugmire
69af0f0039 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into template_particletype 2021-12-08 12:10:28 -05:00
Manish Mathai
2ab1594ad1 Fix typo 2021-12-06 15:01:19 -08:00