Commit Graph

645 Commits

Author SHA1 Message Date
Kenneth Moreland
c6fdceaf46 Fix an error in the clip tables
There was an error in the clip tables for clipping lines. It was
referring to edge 1 for one of the case, but of course a line has only 1
edge at index 0. Fix the error in the clipping table and also add a
check for if we get an index to an invalid line.
2017-01-24 13:23:47 -07:00
Kenneth Moreland
28b866920f Merge branch 'reduce-by-key-worklet' into 'master'
Reduce by Key Worklet Type

See merge request !645
2017-01-19 16:25:06 -05:00
Kenneth Moreland
d6eb477a45 Minor fixes to UnitTestWorkletReduceByKey 2017-01-17 15:53:17 -07:00
Kenneth Moreland
058439851e Remove static assert from templated function
There was a static assert in a templated function that was never
supposed to be used. Some compilers were fine as long as there was no
use of the templated function, but others errored out anyway. Change the
implementation to use the =delete keyword instead.

This won't have as nice of an error message, but you would have to jump
through some hoops to get to this point anyway. If this still does not
work, we could just probably remove the invalid templated function. The
compiler error would get even more obfuscated, but again I don't expect
anyone to actually run into it.
2017-01-17 15:53:15 -07:00
Kenneth Moreland
72b85559c2 Add ReducedValues[In][Out] tags to WorkletReduceByKey 2017-01-17 15:53:13 -07:00
Kenneth Moreland
ffa3b167b5 Add ValueCount tag to WorkletReduceByKey 2017-01-17 15:53:10 -07:00
Kenneth Moreland
add10f56cf Add Value[In][Out] tags for WorkletReduceByKey
This lets you give arrays of values paired with the keys that will be
grouped into (hopefully) small Vecs.
2017-01-17 15:53:08 -07:00
Kenneth Moreland
58eb8f168d Add WorkletReduceByKey and dispatcher
And the basic type for a reduce by key worklet and its associated
adapter. Right now the worklet only supports passing in keys. Values
come next.
2017-01-17 15:53:06 -07:00
Kenneth Moreland
cd64b69a55 Add Keys class
This class will manage the keys during a reduce-by-key worklet
execution.
2017-01-17 15:53:04 -07:00
Robert Maynard
4a56e9f129 Merge branch 'contour-tree' into 'master'
Contour tree

See merge request !658
2017-01-17 17:00:54 -05:00
Patricia Kroll Fasel - 090207
fd7f34c95d Fix warnings 2017-01-12 15:44:41 -07:00
Patricia Kroll Fasel - 090207
0950af7aeb Compiler warnings 2017-01-12 14:35:34 -07:00
Patricia Kroll Fasel - 090207
834f81f622 Fix order on class members to match constructor initialization -Wreorder
Make all non-templated PrintVectors methods inline
2017-01-12 13:57:04 -07:00
Kenneth Moreland
713cf4228a Make it not possible to create a cell set without specifying num points
The CellSetExplicit and CellSetSingleType classes have an ivar that
marks the number of points. There were several instances of code
creating cell sets without specifying the number of points. This can be
very bad if subsequent code needs that information.
2017-01-12 13:02:10 -07:00
Patricia Kroll Fasel - 090207
6db0c4e763 PrintVectors.h must be in CMakeLists.txt. Problem with the
non-templated code it contains causing doubly defineds.
2017-01-12 10:52:48 -07:00
Patricia Kroll Fasel - 090207
b3b5149b28 Use cont/testing/MakeTestDataSet.h and add contour tree tests.
Remove worklet/contourtree/PrintVectors.h from CMakeLists.txt.
2017-01-12 10:40:29 -07:00
Patricia Kroll Fasel - 090207
bed40256c8 Fix compiler warnings. Fix case table operation to comply. 2017-01-11 14:02:32 -07:00
Robert Maynard
79b74ccd3c Merge branch 'gcc6_warnings' into 'master'
Fix warnings on GCC6.

See merge request !656
2017-01-11 15:37:30 -05:00
Patricia Kroll Fasel - 090207
9548441565 Fix compiler warnings and test errors before merge. 2017-01-10 16:52:59 -07:00
David C. Lonie
c928b14cfe Fix warnings on GCC6. 2017-01-10 14:22:22 -05:00
Kenneth Moreland
f23ff9fa49 Fix warnings about assignment operators not being generated
For some reason when VTK-m was being compiled as an accelerator in VTK,
Visual Studio 2013 gave a bunch of warnings about not being able to generate
assignment operators for many classes. This happened for classes with a
const ivar that could not be automatically set. (Automatic copy constructors
are fine on this count.) I'm not sure why these warnings did not happen
when just compiling VTK-m, nor am I sure why they were generated at all as
no code actually used the copy constructors.

This commit fixes the problems by adding a private declaration for assignment
operators that cannot be automatically created. No implementation is
provided, nor should any be needed.
2017-01-10 11:10:38 -07:00
Patricia Kroll Fasel - 090207
62a1cceea6 Add file that creates test data sets and use that instead for contour tree. 2017-01-09 15:50:23 -07:00
Patricia Kroll Fasel - 090207
f6140c39e2 Add LANL/LLC copyright notification. 2017-01-09 14:53:59 -07:00
Patricia Kroll Fasel - 090207
9412584bf2 First implementation of contour tree 2D and 3D, serial and cuda. 2017-01-09 13:54:47 -07:00
Robert Maynard
b0a6b17924 Add support for computing divergence to the gradient filter. 2016-12-23 09:34:33 -05:00
Robert Maynard
5eade282ee Restrict Gradient to scalar values and vec<3> of scalar values. 2016-12-23 09:03:35 -05:00
Kenneth Moreland
a52f2b5521 Merge topic 'transport-with-input-domain'
eb0691f5 Fix example data set for marching cubes test
a5817da4 Fix cow nose data set
02bf444d Test that the array transports check the size of input arrays
9ea10317 Add passing input domain to transport operator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !643
2016-12-21 13:34:17 -05:00
Kenneth Moreland
02bf444dc2 Test that the array transports check the size of input arrays 2016-12-19 17:30:41 -07:00
Kenneth Moreland
9ea10317d9 Add passing input domain to transport operator
Previously, the operator for a Transport class took the object being
transported to the execution environment and the size of the output
domain. This change also passes in the control-side argument for the
input domain. This will help check input array sizes as well as make
other potential transformations based on the input domain.
2016-12-19 17:03:15 -07:00
Robert Maynard
75288e2dd6 Correct location of VTKM_EXEC on Vorticity worklets 2016-12-19 16:08:47 -05:00
Robert Maynard
f71f3ed011 Allow the gradient filter to compute Vorticity and QCriterion. 2016-12-16 08:42:16 -05:00
Robert Maynard
efb119ead0 Sort the worklet headers, as they should be in alphabetical order. 2016-12-15 15:16:49 -05:00
Robert Maynard
f698a006fc Simplify the implementation of the average worklets. 2016-12-15 09:10:53 -05:00
Robert Maynard
daa75d744b Add a PointAverage worklet which is the twin to CellAverage. 2016-12-14 14:05:50 -05:00
Robert Maynard
839d8e8392 CellAverage first control parameter is now the cellset.
This was done so that it consistently matches other cell based worklets,
and the majority of examples inside the VTK-m Users Guide.
2016-12-14 14:04:57 -05:00
Robert Maynard
134f24496b Add a point gradient worklet. 2016-12-12 13:26:16 -05:00
Robert Maynard
9f2b680594 WholeCellSetIn now uses the proper fetch tag. 2016-12-12 13:26:16 -05:00
Kenneth Moreland
16970b571e Update ExternalFaces to use common face tables 2016-12-05 22:48:45 -07:00
Robert Maynard
64bcc34389 Refactor MinAndMax to use vtkm::Vec<T,2> instead of Pair.
The types are the same which makes Vec a more suitable container.
2016-11-25 13:11:19 -05:00
Robert Maynard
8d60ed57ad Refactor MinAndMax to be a shared binary operator. 2016-11-25 11:40:46 -05:00
Robert Maynard
18375b5424 Update Bound computations to always use a single Reduce call 2016-11-25 11:40:46 -05:00
Kenneth Moreland
b142a8c032 Fix change in new Gradient worklet
Didn't catch the change in the last rebase.
2016-11-22 17:24:10 -07:00
Kenneth Moreland
c6cd9d02ba Implement CleanGrid filter 2016-11-22 17:16:49 -07:00
Kenneth Moreland
ce338d1484 Add a worklet for copying cell sets 2016-11-22 17:15:10 -07:00
Kenneth Moreland
b175468082 Add RemoveUnusedPoints class
RemoveUnusedPoints contains a couple of worklets and some helper methods
to compact the points in a CellSetExplicit. This is helpful when you
have an operation that creates new cells but might not use all the
original points of the inputs.
2016-11-22 17:11:52 -07:00
Kenneth Moreland
63c748f049 Implement ArrayHandleGroupVecVariable
This is a fancy array handle that can group entries in another array by
arbitrary amounts. This allows us to implement input and output arrays
with a different sized Vec for each instance. This is necessary for
generating new topologies with cells of different types.
2016-11-22 17:10:09 -07:00
Kenneth Moreland
fdaccc22db Remove exports for header-only functions/methods
Change the VTKM_CONT_EXPORT to VTKM_CONT. (Likewise for EXEC and
EXEC_CONT.) Remove the inline from these macros so that they can be
applied to everything, including implementations in a library.

Because inline is not declared in these modifies, you have to add the
keyword to functions and methods where the implementation is not inlined
in the class.
2016-11-15 22:22:13 -07:00
Robert Maynard
8dadf560cd Add in support for vector fields to Gradient worklet. 2016-11-15 18:54:53 -05:00
Robert Maynard
7a52fa3940 Add in Cell Gradient for scalar fields. 2016-11-14 12:52:00 -05:00
Robert Maynard
3a9bcca016 Merge topic 'add_whole_topology_tag'
c4183cfa Refactor WholeCellSetIn to handle Point->Cell and Cell->Point
f65f5ea6 WorkletBase can now transport CellSets as a whole execution object.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !601
2016-11-10 14:50:04 -05:00