Commit Graph

5195 Commits

Author SHA1 Message Date
nadavi
7d8158301b something was overwritten... 2019-09-11 16:12:18 -06:00
nadavi
9f49bbab86 additional cmake fixes, improve default log level setting 2019-09-11 16:12:18 -06:00
nadavi
1fc542d068 add simple unit tests for Error 2019-09-11 16:12:18 -06:00
Nick Davis
f9a1afee69 store StackTrace in Error 2019-09-11 16:12:18 -06:00
Nick Davis
7562949075 Turned on Logging by default, set to WARNING level 2019-09-11 16:12:18 -06:00
Dave Pugmire
c98a06071a Merge topic 'particleAdvectionFloatType'
58a587a7f Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into particleAdvectionFloatType
a83629e95 compile error.
52fe3c403 compile warnings.
5af465efd Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into particleAdvectionFloatType
bd9bc91ac Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into particleAdvectionFloatType
c057f6b83 Merge branch 'particleAdvectionFloatType' of gitlab.kitware.com:dpugmire/vtk-m into particleAdvectionFloatType
9ca4cc2d0 type cleanup.
dff384572 Use vtkm::FloatDefault for particle advection code.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1827
2019-09-11 14:59:56 -04:00
Allison Vacanti
f8c60bd958 Merge topic '412_ArrayHandleDecorator'
885cce391 Add ArrayPortalDecorator.
29ea46fa5 Refactor IsWritableArrayHandle to use PortalSupportsSets.
dc98517b9 Clean up ArrayHandleCounting.
0dad55a04 Remove return statements in functions that return void.
abdd458b8 Remove unused member variable in Algorithm functor.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1828
2019-09-11 14:34:57 -04:00
Li-Ta Lo
05b6792500 Merge branch 'master' into tangle_source 2019-09-11 12:06:58 -06:00
Robert Maynard
f139d07c89 Merge topic 'rework_ghost_cell_classify_alg'
8c3a8da99 GhostCellClassify now more efficient as it uses WorkletPointNeighborhood

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Dave Pugmire <dpugmire@gmail.com>
Merge-request: !1835
2019-09-11 13:06:21 -04:00
Allison Vacanti
885cce3914 Add ArrayPortalDecorator. 2019-09-11 12:50:59 -04:00
Allison Vacanti
29ea46fa52 Refactor IsWritableArrayHandle to use PortalSupportsSets. 2019-09-11 12:50:17 -04:00
Allison Vacanti
dc98517b98 Clean up ArrayHandleCounting.
- Remove Set method (fixes IsWritableArrayHandle check)
- s/ConstantValueType/ValueType/, looks like a copy/paste error.
2019-09-11 12:50:17 -04:00
Allison Vacanti
0dad55a042 Remove return statements in functions that return void. 2019-09-11 12:50:17 -04:00
Allison Vacanti
abdd458b8f Remove unused member variable in Algorithm functor. 2019-09-11 12:50:17 -04:00
Li-Ta Lo
a6c044df9a added changelog 2019-09-11 10:19:54 -06:00
Robert Maynard
ff4f4c8f6b Merge topic 'correct_ubsan_undefined_behavior'
c4e1262e1 Correct symbol visibility issues found by ubsan testing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1837
2019-09-11 12:02:33 -04:00
Dave Pugmire
58a587a7f6 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into particleAdvectionFloatType 2019-09-11 10:38:22 -04:00
Roxana Bujack
b991d3c6ba merge style differences 2019-09-11 08:14:18 -06:00
Robert Maynard
8c3a8da99b GhostCellClassify now more efficient as it uses WorkletPointNeighborhood
By using the dual of the cellset we can quickly compute the GhostCells
of structured data using WorkletPointNeighborhood boundary condition
object

Using a 1024x1024x512 test grid we see the following perf:

Master Serial : 5.658144 sec
This MR Serial: 0.519684 sec

Master OpenMP : 0.532256 sec
This MR OpenMP: 0.080604 sec
2019-09-11 10:06:45 -04:00
Robert Maynard
c4e1262e14 Correct symbol visibility issues found by ubsan testing 2019-09-11 08:30:49 -04:00
Dave Pugmire
a83629e957 compile error. 2019-09-11 07:45:43 -04:00
Dave Pugmire
52fe3c403c compile warnings. 2019-09-11 07:44:16 -04:00
Dave Pugmire
5af465efdb Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into particleAdvectionFloatType 2019-09-11 07:32:31 -04:00
Robert Maynard
16a6af5857 Some filters had unnecessary DoMapField methods.
The CrossProduct and DotProduct are field filters and therefore
fields are automatically propagated instead of calling DoMapField.

As GhostCellClassify is passing through all fields, it can
override `MapFieldOntoOutput` and skip the deduction of the
Field to an ArrayHandle for better compile time.
2019-09-10 15:26:16 -04:00
Kenneth Moreland
b95b7d6109 Merge topic 'get-cast-array-from-field'
630768600 Suppress CUDA warnings
5fa02057a Rely less on overload resolution for ApplyPolicy
26d7bfd0d Force ArrayPolicy of a specific type to the right template
6c136b978 Remove vtkm::BaseComponent
07c59fcf7 Update filters with secondary fields to use new policy method
3039a18ba Add ability to get an array from a Field for a particular type
2b6e6da6c Add ability to get VariantArrayHandle as an ArrayHandleMultiplexer
6323d6803 Add recursive component queries to VecTraits

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1829
2019-09-10 12:05:13 -04:00
Robert Maynard
d57a560997 Merge topic 'correct_warnings_found_by_clang8'
ce67b4f15 Correct signed/unsigned warnings found by clang 8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1833
2019-09-10 11:17:21 -04:00
Robert Maynard
ce67b4f157 Correct signed/unsigned warnings found by clang 8 2019-09-10 10:49:48 -04:00
Kenneth Moreland
6307686008 Suppress CUDA warnings
There was a warning comes from the functors in support of the portals
for ArrayHandleMultiplexer. The template has no good way to determine
whether the object it is calling is for control or execution, so it
supports both. It is not useful to warn when it happens to compile only
for the host.
2019-09-09 18:33:38 -06:00
Allison Vacanti
9e7da35c8e Merge topic 'fix_particle_advection_cuda_stack'
b9affb7ed Disable copy for RAII helper.
ea0bbfeef Increase CUDA stack size for ParticleAdvection worklets.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1832
2019-09-09 19:38:41 -04:00
Abhishek Yenpure
9e38f02546 Merge topic 'fix_temporal_example'
9b78276ca Updating usage statement for temporal advection example
8e27562ce Adding information about sample datasets in example
fd23bb3c7 Update attributes to include all files in data to lfs
01d735e1a Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into fix_temporal_example
d9b038fdd Updating method name in unit test
b7191e257 Fixing temporal advection example

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1814
2019-09-09 18:52:18 -04:00
Kenneth Moreland
5fa02057ae Rely less on overload resolution for ApplyPolicy
Previously, all the ApplyPolicy functions had the same name and used
template resolution to figure out which one to use. This was pretty
clear at first when there was just one for fields and one for cell sets.
But then it grew to several different types, particularly for fields. It
was hard to look at the code and figure out which form of ApplyPolicy
was being used, and compilers were starting to get confused.

Resolve the problem by giving all the methods unique names to make it
clear which one you expect to be called.
2019-09-09 16:08:11 -06:00
Allison Vacanti
b9affb7edc Disable copy for RAII helper. 2019-09-09 17:59:38 -04:00
Allison Vacanti
ea0bbfeefc Increase CUDA stack size for ParticleAdvection worklets.
Sometimes the CUDA runtime would not allocate sufficient stack
space for the particle advection code to run. This issue was exposed by
!1737 -- for some reason, once those changes to unrelated filters/worklets
are added to VTK, CUDA allocates less stack and the following tests would
fail:

UnitTestLagrangianFilterCUDA
UnitTestLagrangianStructuresFilterCUDA
UnitTestStreamlineFilterCUDA
UnitTestStreamSurfaceFilterCUDA

These were fixed by increasing the stack size in the particle advection
worklet Run(...) methods.

An RAII helper has been added that will restore the previous stack size
in case an exception is thrown, and the KDTree code has been updated
to use this helper when it adjusts the CUDA stack allocation.
2019-09-09 16:06:23 -04:00
Kenneth Moreland
26d7bfd0db Force ArrayPolicy of a specific type to the right template
There is a form of ApplyPolicy that takes a field and a value type and
returns an ArrayHandle with that value type that can be used directly.
This is implemented with an ArrayHandleMultiplexer.

For some reason, this version of ApplyPolicy magically stopped working.
The compiler, for some reason, grabbed a different overload and then
complained because it tried to use the ValueType as a list. I'm not sure
why this didn't get ignored due to SFINAE. (Maybe a compiler bug.)

At any rate, the problem is fixed by renaming that ApplyPolicy to
ApplyPolicyFieldOfType to make it clear what we are doing and to help
the compiler along.
2019-09-09 13:12:56 -06:00
Kenneth Moreland
6c136b978e Remove vtkm::BaseComponent
This functionality has been superseded by VecTraits::BaseComponentType.
The new functionality also supports replacing the BaseComponentType.
2019-09-09 13:01:03 -06:00
Kenneth Moreland
07c59fcf72 Update filters with secondary fields to use new policy method
Rather than do a CastAndCall on all possible field types when calling a
worklet with two fields (where they all typically get cast to the same
type as the primary field), use the new mechanism with
ArrayHandleMultiplexer to create one code path.

Also update the ApplyPolicy to accept the Field type, which is used to
determine any additional storage types to support.
2019-09-09 08:19:16 -06:00
Kenneth Moreland
3039a18baf Add ability to get an array from a Field for a particular type
This is done through a new version of ApplyPolicy. This version takes
a type of the array as its first template argument, which must be
specified.

This requires having a list of potential storage to try. It will use
that to construct an ArrayHandleMultiplexer containing all potential
types. This list of storages comes from the policy. A StorageList
item was added to the policy.

Types are automatically converted. So if you ask for a vtkm::Float64 and
field contains a vtkm::Float32, it will the array wrapped in an
ArrayHandleCast to give the expected type.
2019-09-09 08:19:15 -06:00
Kenneth Moreland
2b6e6da6ca Add ability to get VariantArrayHandle as an ArrayHandleMultiplexer 2019-09-09 08:19:15 -06:00
Kenneth Moreland
6323d6803e Add recursive component queries to VecTraits
Added a BaseComponentType to VecTraits that recursively finds the base
(non-Vec) type of a Vec. This is useful when dealing with potentially
nested Vec's (e.g. Vec<Vec<T, M>, N>) and you need to keep the structure
but know the base type.

Also added a couple of templates for keeping the structure but changing
the type. These are ReplaceComponentType and ReplaceBaseComponentType.
These allow you to create new Vec's with the same structure as the query
Vec but with differen component types.
2019-09-09 08:19:15 -06:00
Dave Pugmire
bd9bc91ac8 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into particleAdvectionFloatType 2019-09-09 07:54:02 -04:00
Kenneth Moreland
a0df206c93 Use default float to build explicit data sets
The DataSetBuilderExplicitIterative class used to use an ArrayHandle of
vtkm::Vec3f_32 values, which are always of type Float32. This can cause
unexpected results when using double precision by default (i.e. when
FloatDefault is set to Float64). Change that to give Float32 values by
default.
2019-09-08 14:44:57 -06:00
Abhishek Yenpure
7c94c82d32 Merge topic 'lcs_flowamp_fix'
8ece545dc Fixing compiler warning
c9bc005f8 Addressing Ken's review suggestions
1925e356b Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into lcs_flowamp_fix
45eeab4df Fix LCS filter to use flowmaps

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1809
2019-09-08 10:50:26 -04:00
Abhishek Yenpure
73185eeb44 Merge topic 'grid_eval_curvilinear_grids'
1df07f739 Adding testing paths for Curvilinear case
f45491281 Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into grid_eval_curvilinear_grids
1697ca48c Adding testing paths for Curvilinear case
507336f14 More cases for Grid Evaluator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <larsen30@llnl.gov>
Merge-request: !1811
2019-09-07 23:19:13 -04:00
Abhishek Yenpure
8ece545dc1 Fixing compiler warning 2019-09-06 15:14:51 -06:00
Abhishek Yenpure
c9bc005f83 Addressing Ken's review suggestions
1. Removing `cswap` which caused confusion in understanding stuff.
2. Fixing 64 bit coords issue for Lagrangian Strucutres Test
2019-09-06 12:06:15 -06:00
Dave Pugmire
9ca4cc2d01 type cleanup. 2019-09-06 08:14:55 -04:00
Dave Pugmire
dff3845725 Use vtkm::FloatDefault for particle advection code. 2019-09-05 16:57:37 -04:00
Abhishek Yenpure
1925e356b2 Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into lcs_flowamp_fix 2019-09-05 14:21:19 -06:00
Abhishek Yenpure
1df07f7395 Adding testing paths for Curvilinear case
Adding testing paths for curvilinear case

Changing names of interpolation helpers to be consistent

Rectifying interpolation helper error messages to reflect correct
location and types of failures
2019-09-04 16:53:02 -06:00
Abhishek Yenpure
f454912813 Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into grid_eval_curvilinear_grids 2019-09-04 14:34:32 -06:00
Abhishek Yenpure
1697ca48c5 Adding testing paths for Curvilinear case 2019-09-04 14:33:20 -06:00
Allison Vacanti
6f426a57be Allow ArrayCopy to copy read-only implicit arrays. 2019-09-04 15:11:52 -04:00
Allison Vacanti
12ab99b300 Simplify IsWritableArrayHandle usage.
IsWritableArrayHandle can now be used directly as `std::true_type` or
`std::false_type` without having to pull the `type` member out of a
dependent namespace.
2019-09-04 15:11:51 -04:00
Roxana Bujack
7d0ee16fd1 add the real double radius for scaling 2019-09-04 09:27:39 -06:00
Allison Vacanti
e8afcfd7d8 Merge topic '405_partitioned_ds'
63050f68f `MultiBlock` renamed to `PartitionedDataSet`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Utkarsh Ayachit <utkarsh.ayachit@kitware.com>
Merge-request: !1821
2019-09-04 07:22:07 -04:00
Allison Vacanti
e143eaf2e6 Merge topic 'ScanExclusiveExtend'
afe1bd12d Add `ScanExtended` device algorithm.
1480efaeb Add perf logging to DeviceAdapterAlgorithmSerial.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1824
2019-09-04 07:21:37 -04:00
Robert Maynard
41ac138d6d Merge topic 'cellsets_dont_have_names'
3b89bc0db CellSet classes don't require a name
5cd47a706 DataSetBuilders don't require a cellset name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1820
2019-09-03 15:37:32 -04:00
Allison Vacanti
afe1bd12dd Add ScanExtended device algorithm.
This behaves just like `ScanExclusive`, but rather than returning the
total sum, it is appended to the end of the output array.

This is in preparation for the CellSetExplicit refactoring described in
issue #408.
2019-09-03 15:02:41 -04:00
Robert Maynard
95c8c2180a Merge topic 'langrangian_cleanup'
9cd6cd85d Lagrangian now doesn't output to std::cout

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Abhishek Yenpure <abhishek@uoregon.edu>
Merge-request: !1823
2019-09-03 14:44:50 -04:00
Allison Vacanti
1480efaeba Add perf logging to DeviceAdapterAlgorithmSerial. 2019-09-03 14:19:10 -04:00
Robert Maynard
9cd6cd85d0 Lagrangian now doesn't output to std::cout 2019-09-03 14:11:50 -04:00
Abhishek Dilip Yenpure (-EXP)
01d735e1aa Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into fix_temporal_example 2019-09-03 11:53:00 -06:00
Allison Vacanti
63050f68fc MultiBlock renamed to PartitionedDataSet
The `MultiBlock` class has been renamed to `PartitionedDataSet`, and its API
has been refactored to refer to "partitions", rather than "blocks".
Additionally, the `AddBlocks` method has been changed to `AppendPartitions` to
more accurately reflect the operation performed. The associated
`AssignerMultiBlock` class has also been renamed to
`AssignerPartitionedDataSet`.

This change is motivated towards unifying VTK-m's data model with VTK. VTK has
started to move away from `vtkMultiBlockDataSet`, which is a hierarchical tree
of nested datasets, to `vtkPartitionedDataSet`, which is always a flat vector
of datasets used to assist geometry distribution in multi-process environments.
This simplifies traversal during processing and clarifies the intent of the
container: The component datasets are partitions for distribution, not
organizational groupings (e.g. materials).

Ref #405
2019-09-03 12:42:23 -04:00
Kenneth Moreland
11aed6a794 Add template cases to GetHumanReadableSize/GetSizeString
One of the dashboard compilers was complaining about not being able to
resolve which overload to use for std::size_t. (Perhaps on CUDA
std::size_t is sometimes not an unsigned 64-bit integer.) Try to correct
this by adding a templated method that casts anything to vtkm::UInt64.
2019-09-02 18:12:20 -06:00
Kenneth Moreland
02987c3839 Enable human readable sizes for vtkm::Id
The functions GetHumanReadableSize and GetSizeString accepted a
vtkm::UInt64 as the size, which should hold pretty much any reasonable
memory size and is compatible with std::size_t. But it has a different
sign-ness as vtkm::Id. So if you are holding an array size with vtkm::Id
(which is common), you could get a compiler warning when using these
functions, which is annoying. So, for convenience add a second form of
these methods that takes a vtkm::Id and automatically converts.
2019-09-02 11:19:23 -06:00
Robert Maynard
3b89bc0db2 CellSet classes don't require a name 2019-09-02 10:39:58 -04:00
Robert Maynard
5cd47a7065 DataSetBuilders don't require a cellset name 2019-09-02 09:05:56 -04:00
Robert Maynard
89fa2c0293 Remove multiple vtkm::cont::CellSet from vtkm::cont::DataSet
By removing the ability to have multiple CellSets in a DataSet
we can simplify the following things:

  - Cell Fields now don't require a CellSet name when being constructed
  - Filters don't need to manage what the active cellset is
2019-09-02 09:04:51 -04:00
Kenneth Moreland
74e0c58046 Fix some precision warnings 2019-08-30 11:33:17 -06:00
Kenneth Moreland
75a060a243 Fix cell derivatives for polygon cell shape
For polygon cell shapes (that are not triangles or quadrilaterals),
interpolations are done by finding the center point and creating a
triangle fan around that point. Previously, the gradient was computed in
the same way as interpolation: identifying the correct triangle and
computing the gradient for that triangle.

The problem with that approach is that makes the gradient discontinuous
at the boundaries of this implicit triangle fan. To make things worse,
this discontinuity happens right at each vertex where gradient
calculations happen frequently. This means that when you ask for the
gradient at the vertex, you might get wildly different answers based on
floating point imprecision.

Get around this problem by creating a small triangle around the point in
question, interpolating values to that triangle, and use that for the
gradient. This makes for a smoother gradient transition around these
internal boundaries.
2019-08-29 17:37:42 -06:00
Kenneth Moreland
b0b000263e Write out all test data sets in VTKDataSetWriter
Although convenient, one of the issues of creating data with
MakeTestDataSet is that it is hard to look at the data created. It is
often helpful to be able to bring in the data into something like
ParaView or VisIt to play with it. To enable that, write them all out as
part of UnitTestVTKDataSetWriter.
2019-08-29 16:48:53 -06:00
Li-Ta Lo
0d818701c3 put VTKM_SOURCE_EXPORT in .cxx 2019-08-29 10:59:49 -06:00
Li-Ta Lo
e0aae7d86a remove EXPORT from .cxx 2019-08-29 08:36:35 -06:00
nadavi
cdcc311dc2 removed ArrayPortalShrink 2019-08-28 12:45:44 -06:00
Li-Ta Lo
4d7de67eed use VTKM_SOURCE_EXPORT 2019-08-28 10:51:27 -06:00
Li-Ta Lo
cd49136d54 add copyright notice, add installation of header 2019-08-27 17:31:56 -06:00
Li-Ta Lo
0c094a568a used the Tangle source 2019-08-27 16:42:25 -06:00
Abhishek Dilip Yenpure (-EXP)
d9b038fdd8 Updating method name in unit test 2019-08-27 12:52:58 -06:00
Abhishek Dilip Yenpure (-EXP)
b7191e257e Fixing temporal advection example
Also, Updated filter to change previous to current
Fix for issue https://gitlab.kitware.com/vtk/vtk-m/issues/399
2019-08-27 11:25:24 -06:00
Kenneth Moreland
871b444800 Merge topic 'vtk-file-metadata-information-skip'
a9bbb6ead Permute cells inline
d37ab7732 Add ability to read FIELD section in vtk legacy files
19a610f5e Fix skipping over information in vtk files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !1797
2019-08-27 09:24:48 -04:00
Dan Lipsa
b9c7396184 Merge topic 'circular-dependency'
001617b2a Fix comment and install.
60711eb19 Remove circular dependency between GridEvaluators and Integrators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1813
2019-08-27 09:02:04 -04:00
Dan Lipsa
001617b2ad Fix comment and install. 2019-08-27 08:41:50 -04:00
Dan Lipsa
60711eb193 Remove circular dependency between GridEvaluators and Integrators 2019-08-26 23:26:37 -04:00
Kenneth Moreland
0e0fae5769 Merge topic 'point-transform-transforms-points'
1f8030a6e Add non-const version of DataSet::Get methods
69226803c Make PointTransform actually transform the points

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1803
2019-08-26 18:46:24 -04:00
Allison Vacanti
93c5c50b9c Ensure that the serial device is enabled during part of OrientNormals test.
Once #377 is implemented we won't need this, but for now we have to
use the serial connectivity tables while validating the OrientNormals
output. Ensure that the serial device can be used during the validation
stage.
2019-08-26 16:44:24 -04:00
Abhishek Dilip Yenpure (-EXP)
507336f148 More cases for Grid Evaluator
Adding case to treat structured cells with weird coordinates as explicit.
2019-08-26 14:17:29 -06:00
Kenneth Moreland
1f8030a6e8 Add non-const version of DataSet::Get methods
A non-const version of GetCoordinateSystem was added to implement a
change to the point transform filter. To make things symmetric (and
provide likely future needs), also add non-const versions of getting the
fields and cell sets.
2019-08-26 13:58:11 -06:00
Kenneth Moreland
a9bbb6ead9 Permute cells inline
The poly data and unstructured grid readers have to permute the cell
data to componsate for differences between VTK and VTK-m cell shapes.
Previously, this permutation was implemented by casting the read data to
a type and then changing the data. However, some code paths caused the
cast to fail. Get around that by doing the permutation in line when the
data are read.
2019-08-26 13:35:20 -06:00
Allison Vacanti
ff7db97807 Add RuntimeDeviceTracker::PrintSummary for debugging. 2019-08-26 14:58:31 -04:00
Kenneth Moreland
d37ab77326 Add ability to read FIELD section in vtk legacy files
Previously, the VTK file readers just skipped over everything in FIELD
sections. However, it is common for many point and cell fields to be
written in this section (it is how ParaView writes out most of its
data). This change will allow these fields to be read in correctly.
2019-08-26 12:36:55 -06:00
Kenneth Moreland
19a610f5e9 Fix skipping over information in vtk files
Previously, if a legacy VTK file had a METADATA section with an
INFORMATION subsection, the reader did not skip over it correctly.
Instead, it just read the rest of the file (and often encountered an
error). Change this to read and skip over the INFORMATION subsection
correctly.
2019-08-26 12:36:54 -06:00
Kenneth Moreland
69226803c2 Make PointTransform actually transform the points
The primary (likely only) use of PointTransform is to perform affine
transform on the position of the mesh. However, PointTransform did not
actually move the mesh. Rather, it just created a new field with the
transformed points.

Now, the output has its coordinate system replaced with the transformed
one generated (in addition to be added as a field). This can be turned
off (but defaults to on).

Also changed the constructor to turn on UseCoordinateSystemAsField so
that by default the filter operates on the existing coordinate system
and replaces it with the new coordinate system.

Also removed the template parameter on the filter. That added an
unnecessary complication to using it.
2019-08-26 12:29:24 -06:00
Abhishek Dilip Yenpure (-EXP)
45eeab4df1 Fix LCS filter to use flowmaps 2019-08-26 12:02:34 -06:00
Allison Vacanti
673e3d38df Merge topic '372_unify_atomic_interfaces'
884616788 Simplify and extend AtomicArray implementation.
9560c4f63 Limit testing dispatch of atomic array to only atomic types.
0e728c800 Update atomic interfaces to support Add/CAS for UInt32/64.
720b452eb Force AtomicArray to use only basic storage arrays.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1802
2019-08-26 10:07:10 -04:00
Robert Maynard
f45e3ae1b8 Merge topic 'cast_and_call_for_cellset_extrude'
adc9e63df vtkm::cont::CastAndCall now supports CellSetExtrude

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1805
2019-08-23 17:13:10 -04:00
Allison Vacanti
884616788a Simplify and extend AtomicArray implementation.
- Use AtomicInterface to implement device-specific atomic operations.
- Remove DeviceAdapterAtomicArrayImplementations.
- Extend supported atomic types to include unsigned 32/64-bit ints.
- Add a static_assert to check that AtomicArray type is supported.
- Add documentation for AtomicArrayExecutionObject, including a CAS
  example.
- Add a `T Get(idx)` method to AtomicArrayExecutionObject that does
  an atomic load, and update existing CAS usage to use this instead
  of `Add(idx, 0)`.
2019-08-23 15:40:37 -04:00
Allison Vacanti
9560c4f633 Limit testing dispatch of atomic array to only atomic types. 2019-08-23 15:40:37 -04:00
Allison Vacanti
0e728c8000 Update atomic interfaces to support Add/CAS for UInt32/64.
These will be used for the AtomicArray implementation.
2019-08-23 15:40:37 -04:00
Allison Vacanti
720b452eb4 Force AtomicArray to use only basic storage arrays.
The StorageType template parameter is misleading, since
TransportTagAtomicArray errors out for non-basic storage.
2019-08-23 15:40:37 -04:00
Li-Ta Lo
aeb8877a90 add newline at EOF, minor change based review 2019-08-23 11:56:17 -06:00
Allison Vacanti
1a73641f9d Merge topic '391_reduce_device_transfers'
3eb91af96 Use ArrayGetValue where possible in worklets.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1799
2019-08-23 10:14:43 -04:00
Robert Maynard
adc9e63df9 vtkm::cont::CastAndCall now supports CellSetExtrude 2019-08-23 10:02:01 -04:00
Ben Boeckel
7b8b223c53 Merge topic 'fix-taotuple-import'
Fix taotuple import

Acked-by: Robert Maynard <robert.maynard@kitware.com
Merge-request: !1801
2019-08-23 09:00:44 -04:00
Ben Boeckel
427f961f6e Merge topic 'update-diy'
Update diy

Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com
Merge-request: !1800
2019-08-23 08:59:51 -04:00
Dave Pugmire
caa4c0f071 Merge topic 'streamSrfFilter'
326c04f46 Rework internals of stream surface filter.
c1ee0109b Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into streamSrfFilter
5ef882463 Add filter for stream surface worklet.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1782
2019-08-23 07:46:12 -04:00
Li-Ta Lo
c8af7699fd split generation of Tangle DataSet into a vtkm source 2019-08-22 18:23:34 -06:00
Allison Vacanti
3eb91af961 Use ArrayGetValue where possible in worklets.
Replace code such as `myArray.GetPortalControl().Get(0)` with
`vtkm::cont::ArrayGetValue(0, myArray)`, which will just retrieve
the single value without transferring the entire contents of
`myArray` to the host. This should prevent memory thrashing.

Also did some general style clean-ups and fixed loops that called
`GetPortalControl` in the loop body.
2019-08-22 16:42:17 -04:00
Dave Pugmire
8594936015 Merge topic 'tubeFilter'
0c25daf90 compile warnings.
43ddcab81 Add support for field mapping.
cbc972f10 Add Tube Filter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1781
2019-08-22 15:09:49 -04:00
Ben Boeckel
f5b3e23573 Merge branch 'upstream-taotuple' into fix-taotuple-import
* upstream-taotuple:
  taotuple 2019-06-05 (990962ae)
2019-08-22 14:10:06 -04:00
Ben Boeckel
b366e6b643 taotuple: remove import to reset it 2019-08-22 14:09:59 -04:00
Sujin Philip
8d9991cd71 Merge branch 'upstream-diy' into update-diy
* upstream-diy:
  diy 2019-08-22 (2153469e)
2019-08-22 14:04:20 -04:00
Sujin Philip
c0b497cc83 diy: remove in order to reset the import 2019-08-22 14:04:03 -04:00
Robert Maynard
d553a55e43 Merge topic 'correct_openmp_reduce_odd_processor_count'
c90c3a675 OpenMP optimzed reduce support odd processor counts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Allison Vacanti <allison.vacanti@kitware.com>
Merge-request: !1795
2019-08-22 11:56:39 -04:00
Kenneth Moreland
5e2ee3627b Merge topic 'fix-contour-test'
709b12c5b Add checks for size of contour worklet outputs
a3131d4e1 Fix bad normals in contour test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Merge-request: !1794
2019-08-22 11:19:15 -04:00
Allison Vacanti
8bb9873389 Merge topic '355_fetch_single_value'
bfe357319 Add a missing header to StorageExtrude.
d3fbe535f Check the source array's active device in ArrayCopy.
399f23963 Add ArrayGetValue[s] to address issue #355.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1790
2019-08-22 11:18:00 -04:00
Allison Vacanti
bfe357319e Add a missing header to StorageExtrude.
This is needed after cleaning up headers in ArrayCopy.
2019-08-22 11:16:16 -04:00
Allison Vacanti
d3fbe535f2 Check the source array's active device in ArrayCopy. 2019-08-22 11:16:16 -04:00
Allison Vacanti
399f23963e Add ArrayGetValue[s] to address issue #355. 2019-08-22 11:16:16 -04:00
Kenneth Moreland
709b12c5bb Add checks for size of contour worklet outputs 2019-08-22 08:28:53 -06:00
Dave Pugmire
0c25daf906 compile warnings. 2019-08-22 10:17:40 -04:00
Dave Pugmire
326c04f469 Rework internals of stream surface filter. 2019-08-22 10:08:50 -04:00
Allison Vacanti
5e253d9f6b Merge topic 'fixup_shadowed_typedef'
64533c5c8 Rename shadowing typedef in TriangleWinding test.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1793
2019-08-22 09:56:13 -04:00
Robert Maynard
f1c09529d1 Merge topic 'correct_improper_cellset_indexing'
fa9ffac7c Correct improper cellset indexing
b0c6e18ea DataSet queries for cellset and coordinate index won't trow

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1777
2019-08-22 08:39:36 -04:00
Robert Maynard
169480e4f0 Merge topic 'make_more_of_vtkm_vec_constexpr'
a529b90c7 vtkm::Vec const& operator[] is now constexpr

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1792
2019-08-22 08:35:51 -04:00
Robert Maynard
a529b90c73 vtkm::Vec const& operator[] is now constexpr
This allows for developers to do things such as the following
as constexpr's:
```cxx
constexpr vtkm::Id2 dims(16,16);
constexpr vtkm::Float64 dx = vtkm::Float64(4.0 * vtkm::Pi()) / vtkm::Float64(dims[0] - 1);
```
2019-08-22 08:34:25 -04:00
Dave Pugmire
c1ee0109b5 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into streamSrfFilter 2019-08-22 08:31:47 -04:00
Dave Pugmire
43ddcab81e Add support for field mapping. 2019-08-22 08:14:52 -04:00
Robert Maynard
c90c3a6753 OpenMP optimzed reduce support odd processor counts 2019-08-21 18:31:20 -04:00
Kenneth Moreland
42f0e962bd Merge topic 'fix-implicit-functions'
bf96d921d Add extra braces around std::array initializers
9bbf4a5a6 Corrections and expanded testing of implicit functions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !1776
2019-08-21 18:20:57 -04:00
Kenneth Moreland
a3131d4e18 Fix bad normals in contour test
The contour worklet test was experiencing normals that were set to NaN
due to problems with computing the gradient of the original field. It
was determined that the problem was caused by the clip filter creating
degenerate cells because the clip plane exactly intersected the points
of the mesh. Although a problem, we found that this behavior also exists
in existing tools like ParaView and VisIt. Thus, it sounds like a
problem to be pushed off to a later day. Instead, just move the plane a
little bit to get it into general position.
2019-08-21 14:39:51 -06:00
Kenneth Moreland
54456bea76 Merge topic 'threshold-explicit-cells'
d7bfbbda8 Remove GhostCellRemove::ConvertOutputToUnstructured option
42e8a9125 Copy Threshold output to a CellSetExplicit

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <larsen30@llnl.gov>
Merge-request: !1791
2019-08-21 16:23:04 -04:00
Allison Vacanti
cdd7c8993b Merge topic 'extrude_serialize'
67f1a772d Fix IsArrayHandleWritable for Extrude arrays.
38748a220 Add serialization code for Extrude data structures.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1788
2019-08-21 15:21:07 -04:00
Robert Maynard
fa9ffac7c9 Correct improper cellset indexing 2019-08-21 15:16:26 -04:00
Allison Vacanti
64533c5c82 Rename shadowing typedef in TriangleWinding test. 2019-08-21 15:04:07 -04:00
Kenneth Moreland
d7bfbbda82 Remove GhostCellRemove::ConvertOutputToUnstructured option
Now that Threshold automatically converts its output to CellSetExplicit,
this option is no longer necessary (and the previous implementation did
not work correctly).
2019-08-21 13:00:38 -06:00
Sujin Philip
3f9503469a Merge topic 'update-diy'
a4d07730c diy 2019-08-20 (166f7d1b)
eea4225d8 Fix update.sh for diy

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1789
2019-08-21 09:36:01 -04:00
Kenneth Moreland
8373adc654 Merge topic 'array-handle-soa'
aebafc9e5 Use SFINAE to write Set/Get methods in ArrayPortalSOA
20c758108 Add make_ArrayHandleSOA for std::vectors and C arrays
c50857246 Make SOA Portal test more type safe
918766e7a Fix VS 2015 compile issue with HasVecTraits
869d66580 Add ArrayHandleSOA

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Allison Vacanti <allison.vacanti@kitware.com>
Merge-request: !1758
2019-08-21 09:24:35 -04:00
Diy Upstream
a4d07730cc diy 2019-08-20 (166f7d1b)
Code extracted from:

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

at commit 166f7d1bf6b4940b9edd3f91c78acf8ea6aa5bca (for/vtk-m).
2019-08-21 09:16:05 -04:00
Sujin Philip
eea4225d8e Fix update.sh for diy 2019-08-21 09:15:56 -04:00
Kenneth Moreland
42e8a9125d Copy Threshold output to a CellSetExplicit
Perhaps a better title for this change would be "Make the Threshold
filter not totally useless."

A long standing issue with the Threshold filter is that its output
CellSet was stored in a CellSetPermutation. This made Threshold hyper-
efficient because it required hardly any data movement to implement.
However, the problem was that any other unit that had to use the CellSet
failed. To have VTK-m handle that output correctly in other filters and
writers, they all would have to check for the existance of
CellSetPermutation. And CellSetPermutation is templated on the CellSet
type it is permuting, so all units would have to compile special cases
for all these combinations. This is not likely to be feasible in any
static solution.

The simple solution, implemented here, is to deep copy the cells to a
CellSetExplicit, which is a known type that is already used everywhere
in VTK-m. The solution is a bit disappointing since it requires more
memory and time to build. But it is on par with solutions in other
libraries (like VTK). And it really does not matter how efficient the
old solution was if it was useless.
2019-08-20 16:04:26 -06:00
Kenneth Moreland
1473c12e66 Merge topic 'more-gradient-testing'
c19b312e5 Fix gradient issue at apex of pyramid cells

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Merge-request: !1785
2019-08-20 17:03:28 -04:00
Kenneth Moreland
aebafc9e5a Use SFINAE to write Set/Get methods in ArrayPortalSOA
Because ArrayPortalSOA calls a delegate portal to get the actual values,
it can only implement its own Set or Get if the delegate portal supports
it. Previously this was done by calling an overloaded internal method
based on the result of PortalSupportsSets/Gets. However, regardless of
whether the delegate portal supported Set or Get, ArrayPortalSOA
provided one. Thus, if something else tried to use PortalSupportsSets/
Gets on ArrayPortalSOA, it would always report true even if it was not
really supported.

Instead, use SFINAE to remove the Set or Get if that method is not
supported in the delegate portal.

Since ArrayHandleSOA is only really used for portals from basic storage
arrays, it will be rare that Set or Get is not supported. However, a
device adapter is free to remove one of these methods on a device
portal. For example, if you call PrepareForInput on an ArrayHandle, it
is possible that the device adapter will create a portal that has no Set
method because the array is not writable.

Thanks to Allison Vacanti for recomending this solution.
2019-08-20 12:10:16 -06:00
Kenneth Moreland
20c758108c Add make_ArrayHandleSOA for std::vectors and C arrays 2019-08-20 12:09:57 -06:00
Kenneth Moreland
c508572460 Make SOA Portal test more type safe
I kept getting warnings from different compilers about type conversions
because I was making values by adding an index to them. Change how we
create and test values so that these type issues are less likely to come
up.
2019-08-20 12:09:56 -06:00
Kenneth Moreland
918766e7ab Fix VS 2015 compile issue with HasVecTraits
Apparently, the Visual Studio 2015 has a bug where the result of a
decltype might not be considered a type. Attempt to get around this
problem by putting the decltype inside of a struct and then have the
using statement use the typename keyword. Hopefully if you literally say
that something is a typename, the compiler will treat it like a type
name.
2019-08-20 12:09:55 -06:00
Kenneth Moreland
869d665806 Add ArrayHandleSOA
This ArrayHandle should behave just like the one with basic storage but
external arrays stored by component can be shallow-copied to them.
2019-08-20 12:09:54 -06:00
Allison Vacanti
67f1a772df Fix IsArrayHandleWritable for Extrude arrays.
The portal Set methods should be left unimplemented for immutable
array handles.
2019-08-20 14:08:56 -04:00
Allison Vacanti
38748a2208 Add serialization code for Extrude data structures. 2019-08-20 14:08:01 -04:00
Kenneth Moreland
c19b312e58 Fix gradient issue at apex of pyramid cells
The gradient is malformed at the apex of a pyramid. To get around this,
steal a trick from the VTK source where in this case interpolate some
values a little bit into the interior of the cell.

Also expand the gradient worklet tests to include all cell types.
2019-08-19 16:40:58 -06:00
Li-Ta Lo
9b0a79f19a let's see if I fixe the one last bug 2019-08-19 14:41:49 -06:00
Li-Ta Lo
e66af369ba removed isosurface example, add clipped tangle to Contour unit test 2019-08-19 13:36:28 -06:00
Li-Ta Lo
0a020c77a8 fixed error in TetrahedralizedExplicit, rename MarchineCubes to Contour 2019-08-19 11:45:58 -06:00
Li-Ta Lo
e9e35159ab change MarchingCubes to Contour that was missed before merge 2019-08-19 08:56:11 -06:00
Dave Pugmire
5ef8824630 Add filter for stream surface worklet. 2019-08-19 10:20:32 -04:00
Robert Maynard
b0c6e18ea7 DataSet queries for cellset and coordinate index won't trow
Queries for cellset and coordinates by name will not throw exceptions
when looking just for the index value. Instead they will return -1
2019-08-19 09:36:03 -04:00
Dave Pugmire
cbc972f101 Add Tube Filter 2019-08-19 09:08:42 -04:00
Li-Ta Lo
c2e29f5c41 Merge branch 'master' into contour_hackathon 2019-08-18 14:49:08 -06:00
Li-Ta Lo
6a54d5f75f supress warning about converting vtkm::Id to vtkm::IdComponent 2019-08-18 14:26:58 -06:00
Li-Ta Lo
414effa8e8 remove unused contour unit test 2019-08-17 19:26:32 -06:00
Li-Ta Lo
d1fe1c3f38 rename MarchingCubes to Contour 2019-08-17 19:10:57 -06:00
Li-Ta Lo
fea2ccac2b removed old lookup table, rename new tables into CoontourTables 2019-08-17 18:46:59 -06:00
Li-Ta Lo
52d1ec8467 add Wedge and Pyramid support, visually verified with clipped Tangle field 2019-08-17 18:12:11 -06:00
Li-Ta Lo
1efdffb1b3 minor bug fix in edge table, visually verify that both Hex and Tetra works 2019-08-17 14:08:28 -06:00
Li-Ta Lo
fda22df5b7 commit before merge with master 2019-08-17 13:29:43 -06:00
Li-Ta Lo
989d3f32b9 fully generic, table driven triangle generation 2019-08-17 12:28:54 -06:00
Li-Ta Lo
7ded276fa6 table driven triangle generation 2019-08-17 11:37:14 -06:00
Abhishek Yenpure
484c587221 Merge topic 'fix_lcs_filter'
695614ae4 Adding necessary imports

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1779
2019-08-17 12:47:51 -04:00
Kenneth Moreland
bf96d921de Add extra braces around std::array initializers
This appears to be a bug in older clang and gcc compilers where they
gave a warning asking for an extra unnecessary set of braces around the
initializer of std::array. See for example

https://bugs.llvm.org/show_bug.cgi?id=21629
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25137

I don't think newer compilers give this warning, but we still support
some older compilers it happens on, so we live with it.
2019-08-16 13:29:12 -06:00
Allison Vacanti
59bafd7a2d Update moments filter to reflect further changes to CreateResult. 2019-08-16 08:16:53 -04:00
Allison Vacanti
b2d4731630 Merge topic 'fix_moments_filter'
e5008a017 Update moments filter to reflect namespace changes.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1775
2019-08-16 07:43:57 -04:00
Li-Ta Lo
4e8e250705 new uniform table driven cell classifier 2019-08-15 22:37:52 -06:00
Li-Ta Lo
d82d380979 marching tetrahedra generates triangles 2019-08-15 18:03:53 -06:00
Abhishek Dilip Yenpure (-EXP)
695614ae48 Adding necessary imports 2019-08-15 17:39:55 -06:00
Kenneth Moreland
9bbf4a5a61 Corrections and expanded testing of implicit functions
There were some errors in the ImplicitFunction classes. Fix the errors
found and expand TestingImplicitFunction.h to cover more cases.
2019-08-15 17:25:41 -06:00
Robert Maynard
8d8b3a77d9 Merge topic 'exposing-intersected-mc-edges'
719614560 Exposed the edges intersected by Marching Cubes.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1739
2019-08-15 12:57:13 -04:00
Robert Maynard
031407443d Provide simplified way to construct point and cell fields 2019-08-15 11:03:41 -04:00
Robert Maynard
4616286643 Merge topic 'provide_nicer_createresult_filter_api'
a6c1b10cd CreateResult API improved to make it easier to use

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1770
2019-08-15 10:47:58 -04:00
Allison Vacanti
e5008a017a Update moments filter to reflect namespace changes. 2019-08-15 09:27:57 -04:00
Robert Maynard
a6c1b10cd3 CreateResult API improved to make it easier to use
To help provide a better time writing VTK-m filter this streamlines
the CreateResult API to provide a focused set of methods, based on
how CreateResult has been used by existing filters.
2019-08-14 15:28:43 -04:00
Allison Vacanti
608c5e6ba5 Remove unused invoker. 2019-08-14 07:30:24 -04:00
Allison Vacanti
cec4633dc5 Add ComputeMoments filter to build system. 2019-08-14 07:30:24 -04:00
Sujin Philip
06f450615d Fix moments filter 2019-08-14 07:30:23 -04:00
Li-Ta Lo
298f68a5c3 update copyright notice 2019-08-14 07:30:23 -04:00
Li-Ta Lo
2718cede97 Add ComputeMoments worklet and filter 2019-08-14 07:30:22 -04:00
Allison Vacanti
ac718e2b33 Remove traits class for ComputeMoments filter.
TypeListTagAll only defines vectors up to size 4, while the default
filter traits do not restrict input types at all.

Since the moments computation may use 6- or 9-tuple vecs, this
restriction is breaking those usecases.
2019-08-14 07:30:21 -04:00
Allison Vacanti
a5e7f20b13 Extend ComputeMoments to 3D. 2019-08-14 07:30:21 -04:00
Allison Vacanti
9194e2bea8 Respect boundary conditions in moment convolution. 2019-08-14 07:30:20 -04:00
Sujin Philip
cd6501bd4e Fix bugs causing same results for all indices 2019-08-14 07:30:20 -04:00
Sujin Philip
34792145f2 Fix compile error 2019-08-14 07:30:20 -04:00
Li-Ta Lo
162d369f5f restored capacity for 2D 2019-08-14 07:30:19 -04:00
Li-Ta Lo
e9358b7a18 still have no good way to dispatch on dimensions 2019-08-14 07:30:19 -04:00
Li-Ta Lo
9106a1b46c clarification from Roxana 2019-08-14 07:30:18 -04:00
Li-Ta Lo
3c5e14392a extend to 3D space 2019-08-14 07:30:18 -04:00
Li-Ta Lo
f64721c2bc update copyright notice 2019-08-14 07:30:18 -04:00
Li-Ta Lo
675ffe110e parametritize pixel type, it works with 3-vectors 2019-08-14 07:30:17 -04:00
Li-Ta Lo
434f751de1 Add ComputeMoments worklet and filter 2019-08-14 07:30:13 -04:00
Abhishek Yenpure
46d4e50622 Merge topic 'lagrangian-coherent-structures'
ac8d8c95b Separating GridMetaData class
4aa51fcab Adding custom dataset name to LCS filter output
ec8a29e07 Resolving nvcc implicit conversion warning
469e60430 Resolving nvcc compiler warnings
d5ef47040 LCS fixes
da3983d21 Changes from Ken's review
6b8aa3f24 Fixing missing header in install issue
9634924e1 Fixing issues with LCS Filter files
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1764
2019-08-13 19:13:37 -04:00
Abhishek Yenpure
ac8d8c95b0 Separating GridMetaData class
Also, Using vtkm::Log instead of just log
2019-08-13 12:11:50 -07:00
Abhishek Yenpure
4aa51fcabb Adding custom dataset name to LCS filter output 2019-08-13 09:19:32 -07:00
Allison Vacanti
0510c6f053 Patch thrust to be happy with aligned_r_cast<long> and friends. 2019-08-12 15:21:11 -04:00