Commit Graph

2491 Commits

Author SHA1 Message Date
Patricia Kroll Fasel - 090207
9583e627dc Add ExtractCells by Id and by ImplicitFunction 2017-03-16 13:44:01 -06:00
Li-Ta Lo
5a50d60573 Merge topic 'unified-memory'
2bdc0be5 add cuda calls for memory advise as per Tom Fogel
6ce8a013 Merge branch 'master' into unified-memory
b470175f new unified memory effort with the new Thrust device
835073da clean up with custom allocator
dfae8f5e Fixing merge issue with contour_tree
82c40a63 First support for unified memory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !729
2017-03-16 15:14:55 -04:00
Robert Maynard
5566afdd8d Allow MarchingCubes to handle multiple iso-contour values. 2017-03-16 11:49:20 -04:00
Li-Ta Lo
2bdc0be5ca add cuda calls for memory advise as per Tom Fogel 2017-03-14 14:19:01 -06:00
Patricia Kroll Fasel - 090207
8598711c09 ExtractPoints worklet for ImplicitFunction
Add Box to ImplicitFunction
2017-03-14 12:14:50 -06:00
Sujin Philip
ed1f568d2d Merge topic 'fix-readers-fields-parsing'
07cb1119 Fix more issues with the readers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !726
2017-03-14 11:42:29 -04:00
Matt Larsen
1d4cfc2a28 Fixing Min and Max calls not defined for non-floating point types 2017-03-13 21:12:02 -07:00
Matt Larsen
cfc252ad83 completed refactoring 2017-03-13 20:59:32 -07:00
mclarsen
2f9fb6eecb Almost finished refactoring 2017-03-13 17:03:37 -07:00
mclarsen
237df547ec Adding classes to reduce the ammount of redundant code 2017-03-13 11:49:29 -07:00
Sujin Philip
07cb111904 Fix more issues with the readers
1) Fix parsing issues related to visit style field data
2) Create appropriate dimension cellset for structured cell sets
2017-03-13 13:46:26 -04:00
Sujin Philip
566d70c450 Merge topic 'fix-windows_h-include-logic'
25f9f88f Fix windows.h include logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !722
2017-03-13 09:59:24 -04:00
Sujin Philip
25f9f88f3e Fix windows.h include logic
windows.h was only being included for MSVC, while in UnitTestTimer.cxx, the
Windows function Sleep was being called after check for _WIN32. This was
causing compilation failure in MINGW.

Fixes #122
2017-03-10 16:28:13 -05:00
Robert Maynard
2cbf97e705 Merge topic 'support-vtkfiles-empty-titles'
6d6b5991 Support reading VTK files with empty title

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !725
2017-03-10 09:18:12 -05:00
Robert Maynard
f6094304d8 Merge topic 'mc_classify_checks_cellshape'
f2f928ce MarchingCubes classify step now makes sure we have hex elements.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !723
2017-03-10 09:17:50 -05:00
Li-Ta Lo - 194699
6ce8a0135a Merge branch 'master' into unified-memory 2017-03-09 14:54:03 -07:00
Li-Ta Lo - 194699
b470175f98 new unified memory effort with the new Thrust device 2017-03-09 14:51:45 -07:00
Sujin Philip
6d6b599115 Support reading VTK files with empty title 2017-03-09 15:48:25 -05:00
Robert Maynard
f2f928ceae MarchingCubes classify step now makes sure we have hex elements.
We now explicitly verify that each cell is a hex element, so that
we don't try to execute on incorrect cells
2017-03-09 14:05:37 -05:00
Kenneth Moreland
6fdc7eb8c0 Add Field::GetRange and CoordinateSystem::GetBounds to library
Following what was done with ArrayRangeCompute, the GetRange and
GetBounds methods are embedded into the vtkm_cont library for the most
common type lists.

Also, and probably more importantly, the device adapter is no longer one
of the arguments for either of these methods. It is no longer needed as
ArrayRangeCompute no longer needs it.
2017-03-09 13:18:36 -05:00
Kenneth Moreland
c16236ce69 Use ArrayRangeCompute without specifying a device
Most uses of ArrayRangeCompute just want to get the range of the data
and probably don't have a particular device in mind. Thus, it is better
to use a TryExecute internally use whatever devices are available.

Note that when using TryExecute, the calling code is expected to be able
to support all devices. That might not always be the case. Thus, I am
experimenting a bit with how we incorporate this in a library. The
advantage of having the code compiled in a library is that you only have
to compile it once and the calling code does not need to worry about
CUDA, etc.

However, because ArrayRangeCompute is templated, we can only pre-compile
some subset of array handle types. The most common are compiled into the
code (matching all the predefined ArrayHandles as well as some special
cases). If the code wants to use some other type, it has to include
ArrayRangeCompute.hxx. The only place where this is necessary is a test
that intentially trys to find the range on an uncommon type.

If array portals were to support virtual methods, then we should be able
to modify this code so that we could precompile for all array handle
types.
2017-03-09 13:18:36 -05:00
Kenneth Moreland
c1dc5b67f2 Merge topic 'algorithms-on-small-arrays'
8b33f2bc Fix device adapter algorithms for small arrays
72654641 ArrayHandle reallocations of 0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !724
2017-03-09 13:17:03 -05:00
Patricia Kroll Fasel - 090207
be73dec0cb Default for selected points changed to CompactPoints = true 2017-03-09 09:16:41 -07:00
Samuel Li
85d09a55d8 add a flag to facilitate testing 2017-03-08 19:29:27 -08:00
Kenneth Moreland
8b33f2bc79 Fix device adapter algorithms for small arrays
There were some issues for device adapter algorithms (like scan and
reduce) for empty arrays or arrays of size 1. This adds tests for these
short arrays to the device adapter algorithm tests and fixes these
problems.
2017-03-08 19:05:28 -05:00
Kenneth Moreland
726546419d ArrayHandle reallocations of 0
The basic storage has an implicit invariant that if the size of the
storage is 0 then the array is a null pointer. That invariant was broken
if the array was allocated and then Shrink or Allocate was called with
0. In that case, the array remained allocated by the size was set to 0.

This fixes the problem by making sure a Shrink(0) actually does an
Allocate(0) (to clear out the data) and that the basic storage always
frees its memory when allocating a 0 sized array.
2017-03-08 18:53:06 -05:00
Patricia Kroll Fasel - 090207
fa0b9bee73 MaskPoints worklet and filter added 2017-03-08 16:04:12 -07:00
Patricia Kroll Fasel - 090207
c1b2d1f50a Add filter and unit test to ThresholdPoints.
Allow for CompactPoints to call CleanGrid.
2017-03-08 13:25:27 -07:00
Sujin Philip
149fd79386 Merge topic 'move-BaseComponentOf-to-vtkm_BaseComponent'
b455636b Move BaseComponentOf to vtkm::BaseComponent

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !721
2017-03-08 12:37:13 -05:00
Patricia Kroll Fasel - 090207
040b0420ab Merge branch 'master' into extract-subset 2017-03-07 14:06:23 -07:00
Patricia Kroll Fasel - 090207
dee28a3089 ThresholdPoints first attempt 2017-03-07 14:03:22 -07:00
Sujin Philip
b455636bcd Move BaseComponentOf to vtkm::BaseComponent 2017-03-07 14:46:55 -05:00
Sujin Philip
1ceb46f802 Merge topic 'externalfaces-cleangrid'
e2efb839 External Faces filter add CompactPoints option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !720
2017-03-07 13:59:23 -05:00
Sujin Philip
e2efb839a7 External Faces filter add CompactPoints option 2017-03-07 11:05:52 -05:00
Robert Maynard
d5dfb1f673 Restore ArrayRangeCompute to using a single Reduce call.
We can easily compute the min and max of an array using a single reduction
2017-03-06 16:14:48 -05:00
Sujin Philip
dbdcfc50a8 Merge topic 'rename-StreamCompact-to-CopyIf'
9eddce6c Rename StreamCompact to CopyIf

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !717
2017-03-06 14:17:19 -05:00
Kenneth Moreland
e51105e84b Merge topic 'input-domain-tag-invocation'
297c1b07 Add InputDomainTag to Invocation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !718
2017-03-06 11:13:38 -05:00
Sujin Philip
9eddce6c99 Rename StreamCompact to CopyIf
Plus, removes the version that uses one array as both input and stencil.
2017-03-06 11:08:27 -05:00
Kenneth Moreland
297c1b0709 Add InputDomainTag to Invocation 2017-03-03 20:20:35 -07:00
Sujin Philip
269691e7ff Map point fields in ExternalFaces filter 2017-03-03 15:43:52 -05:00
Sujin Philip
f1bc19f4a2 Merge topic 'improve-ExternalFaces-filter'
b1d6e743 Improve ExternalFaces filter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !714
2017-03-03 08:33:30 -05:00
Sujin Philip
b1d6e74353 Improve ExternalFaces filter
Now it can work with more types of input CellSets.
2017-03-02 16:31:01 -05:00
David Lonie
e634946a2d Merge topic 'marching_cubes_normals_name'
8d5f4eb6 Expose the normal array's name in the MarchingCubes filter.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !713
2017-03-02 13:37:11 -05:00
David C. Lonie
8d5f4eb690 Expose the normal array's name in the MarchingCubes filter. 2017-03-02 12:15:20 -05:00
Robert Maynard
ae9a8fd0a4 Fix CellSet* typeid to consistent across dynamic libraries.
Since we don't have explicit template instantiations for CellSetExplicit
and CellSetSingleType we need to mark them as being exported from all
libraries.
2017-03-01 17:12:46 -05:00
Samuel Li
ae3daecdcf Merge branch 'master' of gitlab.kitware.com:samuelli/vtk-m 2017-02-27 21:56:19 -08:00
Samuel Li
15a7b842b7 move up cases that are more likely to happen 2017-02-27 21:35:07 -07:00
Samuel Li
2ee208b833 add back all the timers 2017-02-25 18:49:12 -08:00
Samuel Li
62d82974c9 implement 3D gaussian generation 2017-02-25 17:19:33 -07:00
Samuel Li
0a6a26248e fix test program to not use L vector 2017-02-25 13:23:40 -07:00
Samuel Li
80590fdf29 finish multi-level implementation, need to test 2017-02-25 11:55:00 -07:00
Samuel Li
4d22303c6b fix bug on operating on 32bit float 2017-02-24 16:40:14 -07:00
Samuel Li
0c260370c5 1024 cube 1 level of transform pass test 2017-02-24 11:56:24 -07:00
Sujin Philip
57f5881538 Merge topic 'use-c++11=delete'
8c4bbc39 Use C++11 =delete keyword

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !708
2017-02-24 13:31:57 -05:00
Kenneth Moreland
3e77f4e18b Merge topic 'refactor-runtime-device-tracker'
18c4190d Update classes using RuntimeDeviceTracker
200928ef Add a global RuntimeDeviceTracker
a3573117 Compile RuntimeDeviceTracker.cxx with CUDA when appropriate
814b2db1 Add the implementation of RuntimeDeviceTracker to cont library
b9d3206e Move RuntimeDeviceTracker to vtkm::cont

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !707
2017-02-24 10:50:19 -05:00
Sujin Philip
8c4bbc39ad Use C++11 =delete keyword 2017-02-24 09:39:22 -05:00
David Lonie
69fe31005b Merge topic 'verbose_castandcall_errors'
7e34f861 Append newline to ArrayHandle summaries.
6f417a38 Add type information to array summaries and cast/call errors.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !705
2017-02-24 09:03:31 -05:00
Sujin Philip
e5bc34e9f5 Merge topic 'catch-by-reference'
a88807fd Catch all exceptions by reference

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !704
2017-02-23 16:36:00 -05:00
David Lonie
12a9a390f7 Merge topic 'clip_filter_output_clipped_coords'
14f216d5 Update the output coordinates for the clip filter.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !706
2017-02-23 15:45:05 -05:00
Sujin Philip
a88807fd7e Catch all exceptions by reference 2017-02-23 13:25:01 -05:00
David C. Lonie
7e34f86115 Append newline to ArrayHandle summaries. 2017-02-23 12:48:32 -05:00
David C. Lonie
14f216d58e Update the output coordinates for the clip filter.
The clip worklet will change the number of points in the result
set by adding points at the clip boundaries. The filter was updating
the clipped scalar array to reflect the new points, but not the actual
coordinate array.

This patch will cause the clip filter's result dataset to contain the
correct number of points and no longer automatically map the scalar
array onto the output, since this is easily done via the filter API.
2017-02-23 12:41:40 -05:00
Kenneth Moreland
04be000d23 Merge topic 'vec-variable-output-fix'
81f7ff23 Make offsets for ArrayHandleGroupVecVariable always input

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !703
2017-02-23 12:12:09 -05:00
Kenneth Moreland
18c4190d85 Update classes using RuntimeDeviceTracker
They now grab the global runtime device tracker. In some cases, I've
added the ability to set/get the tracker to change it from the global.
In others I just removed the local copy, since it was just hooked into
the global tracker.
2017-02-23 09:54:41 -07:00
David C. Lonie
6f417a386b Add type information to array summaries and cast/call errors.
This isn't always the most human readable type info on some platforms,
but it does greatly assist in tracking down why a cast failed.
2017-02-23 11:20:45 -05:00
Kenneth Moreland
200928ef35 Add a global RuntimeDeviceTracker
Next up is using this by default pretty much everywhere you want to run
an algorithm but don't care on what device.
2017-02-23 09:19:13 -07:00
David Lonie
ccf73f3e6e Merge topic 'map_fields_ignore_filter_traits'
ab9e1f6e Ignore filter traits when mapping fields to output.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !701
2017-02-23 11:18:13 -05:00
Kenneth Moreland
a3573117de Compile RuntimeDeviceTracker.cxx with CUDA when appropriate
The RuntimeDeviceTracker.cxx contains a library method that queries the
CUDA device, which only works if compiled as a CUDA source file.

This set up will allow code that is not compiled with CUDA use a
RuntimeDeviceTracker with other code that does use CUDA.
2017-02-22 16:18:23 -07:00
Matt Larsen
a6bd88d2fe Removing unused timing code and headers 2017-02-22 14:45:33 -08:00
Kenneth Moreland
81f7ff2391 Make offsets for ArrayHandleGroupVecVariable always input
The offsets for an ArrayHandleGroupVecVariable are always inputs
and cannot be changed, even when the array handle is used as an output.
There was a mistake where the PrepareFor* methods tried to make
the offsets mutable. In the case of an output, the offsets were not
pushed to the execution environment, and the arrays could not be looked
up.
2017-02-22 15:44:06 -07:00
Kenneth Moreland
814b2db18c Add the implementation of RuntimeDeviceTracker to cont library
This allows code to include the RuntimeDeviceTracker without depending
on the device-specific adapters (I think).

Also changed the implementation to use a shared_ptr for the state so you
can pass it around and share the state easier.
2017-02-22 15:25:04 -07:00
Matt Larsen
6d9766943e Merge topic 'volume_rendering_fix'
7d4334b5 Had conditional backwards
50ccedf8 Fixing the default behavior of the volume renderer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !700
2017-02-22 17:17:54 -05:00
Kenneth Moreland
b9d3206ea6 Move RuntimeDeviceTracker to vtkm::cont
Before it was in the vtkm::cont::internal namespace. However, we expect
to be using this feature quite a bit more as we want VTK-m to handle
multiple devices effectively (as in, just figure it out and go).
2017-02-22 13:33:52 -07:00
David C. Lonie
ab9e1f6e9d Ignore filter traits when mapping fields to output.
The input type restrictions in FilterTraits should not be used to
restrict the arrays that can be mapped to the output dataset.
2017-02-22 14:30:56 -05:00
Matt Larsen
7d4334b5e3 Had conditional backwards 2017-02-22 11:21:48 -08:00
Matt Larsen
50ccedf828 Fixing the default behavior of the volume renderer 2017-02-22 11:17:22 -08:00
Samuel Li
19866b1347 no run-time errors, but still gives wrong reconstructions 2017-02-21 22:45:31 -07:00
Samuel Li
c22ff73bc5 debug for 3D transforms 2017-02-21 16:56:57 -07:00
Kenneth Moreland
6089e7396e Match the two overload of ArrayRangeCompute
There are two versions of ArrayRangeCompute. The first version is a
general version that computes the min and max by running a reduction on
a device. The second version was a specialization for uniform grid
coordinate arrays, which is easily computed without looking at the
values.

The problem was that the generic version of ArrayRangeCompute took two
arguments and the specialization only took one argument (because it does
not need a device). This means that templated code uses the general
version will never use the specialized version. This fix adds a device
argument to the specialized version. The extra argument is not used, but
will properly overload the general version.
2017-02-21 16:22:53 -07:00
Samuel Li
85dbce11ea style optimization 2017-02-18 21:14:20 -07:00
Samuel Li
d993678500 finsih DWT3D 2017-02-17 15:27:30 -07:00
David C. Lonie
d118116055 Allow any DynamicCellSetBase to be used with the Clip worklet. 2017-02-17 16:31:50 -05:00
David Lonie
a0016456cc Merge topic 'default_device_to_public_header'
7a41621d Move default device selection out of private headers.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !693
2017-02-17 08:26:01 -05:00
Samuel Li
5a5185d748 extension3D function finished; style fixes 2017-02-16 23:23:36 -07:00
David C. Lonie
7a41621d82 Move default device selection out of private headers.
This will make the librarification of vtk-m easier as we tread that
path.

Refs #120.
2017-02-16 13:40:35 -05:00
Kenneth Moreland
c3a9a55307 Merge topic 'group-vec-variable-cont-portal'
17ed7a36 Remove typedef that is no longer used
364f4175 Only print cell arrays that are valid
5b8389f9 Use printSummary_ArrayHandle when testing fancy arrays
873ceefc Implement ArrayHandleGroupVecVariable::GetPortalConst

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !695
2017-02-16 12:43:32 -05:00
Kenneth Moreland
d339025a1b Merge topic 'external-face-more-generic'
dcbbb727 Merge branch 'master' into external-face-more-generic
0703139a Make Keys class do in-place sort
059c7f6d Fix issue with ExternalFaces on CellSetSingleType
876514ba Add better test for external faces
53679dfc Update ExternalFaces to support mixed face types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brent Lessley <blessley@cs.uoregon.edu>
Merge-request: !662
2017-02-16 10:28:56 -05:00
Samuel Li
e432351f8a assign zero plane, need to implement the function in Base 2017-02-15 23:54:38 -07:00
Samuel Li
c87fe5d8b5 sync 2017-02-15 17:14:33 -07:00
Kenneth Moreland
17ed7a3629 Remove typedef that is no longer used
It was a typedef for a Portal. Instead of setting the portal directly,
the portal is just sent to a function, so we don't directly use this
type anymore.

Not a big deal, but it could cause compiler warnings.
2017-02-15 16:59:54 -07:00
Kenneth Moreland
364f417529 Only print cell arrays that are valid
ConnectivityExplicitInternals::PrintSummary blindly attempted to print
all of its arrays regardless of whether they are valid. Trying to print
uninitialized arrays can be invalid in some circumstances. Instead,
check to see of the arrays are valid before printing them out. (This can
give you useful information anyway. There is a difference between an
uninitialized array and one of zero length.)
2017-02-15 15:07:50 -07:00
Kenneth Moreland
5b8389f955 Use printSummary_ArrayHandle when testing fancy arrays
This makes it easier to see what is going on in the fancy arrays and do
diagnostics.

This change required some changes to printSummary_ArrayHandle to support
more array types.
2017-02-15 14:34:17 -07:00
Robert Maynard
ca302128a9 Merge topic 'benchmarks'
fc68362d Build benchmarks even when testing is not enabled.
31e20859 Fix typo.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !696
2017-02-15 15:10:38 -05:00
Samuel Li
04fd1fa1f7 take off a typedef; some formality changes 2017-02-15 12:54:53 -07:00
Kenneth Moreland
873ceefc17 Implement ArrayHandleGroupVecVariable::GetPortalConst
Previously it was impossible to get an ArrayPortal from an
ArrayHandleGroupVecVariable on the control side (by calling GetPortal or
GetPortalConst). This makes it possible.
2017-02-15 08:26:53 -07:00
Kenneth Moreland
3834afdd43 Merge topic 'empty-array'
58bbeb18 Support using empty array handles as input
6d5de0c3 Change make_ArrayHandle work with empty std::vector

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !694
2017-02-15 10:23:26 -05:00
Robert Maynard
2600b3d890 Merge topic 'leverage_move_constructors'
94bd79b0 Leverage std::move to help FunctionInterface make less copies.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !691
2017-02-15 08:23:14 -05:00
Kenneth Moreland
58bbeb183a Support using empty array handles as input
Previously if you constructed an array handle without allocating it, you
would get an error if you tried to use the array as input. This
conflicted with some recent changes to accept empty vectors.

Now when you try to use an unallocated ArrayHandle as input (calling
PrepareForInput or PrepareForInPlace), it internally calls Allocate(0)
(to establish internal state) and sets up a valid execution ArrayPortal
of size 0.
2017-02-14 15:27:34 -07:00
Robert Maynard
94bd79b09c Leverage std::move to help FunctionInterface make less copies. 2017-02-14 17:02:32 -05:00
Kenneth Moreland
6d5de0c34b Change make_ArrayHandle work with empty std::vector
When make_ArrayHandle gets an std::vector, it converts it to an
ArrayHandle by getting a pointer to the vector's internal array.
However, when the vector is of size 0, there is no array and it is
invalid to get a pointer. Instead, make a special case for empty
vectors.
2017-02-14 14:49:41 -07:00
Tom Fogal
31e20859d4 Fix typo. 2017-02-14 10:29:00 -08:00
Robert Maynard
df437afbbf Remove an unnecessary copy of a string in ErrorExecution constructor 2017-02-14 13:11:27 -05:00
Samuel Li
c9a0773188 style fix and code cleaning 2017-02-13 23:54:41 -07:00
Li-Ta Lo - 194699
835073dae2 clean up with custom allocator 2017-02-13 11:45:17 -07:00
Robert Maynard
6fa2784db9 Clanup some whitespace / newline issues in vtkm::worklet 2017-02-13 09:55:32 -05:00
Samuel Li
33987ce005 finish inverse transform worklets 2017-02-12 19:12:46 -07:00
Samuel Li
56b9587d02 sync 2017-02-12 18:15:20 -07:00
Samuel Li
afda56c9c4 forward transform finished in 3 directions 2017-02-10 23:50:08 -07:00
Matt Larsen
87e53d6c00 Fixing error in volume renderer 2017-02-10 14:00:02 -08:00
Thomas Otahal
9d9c39e197 Merge topic 'vector_magnitude_field_filter'
ba2be2fe Added FilterTraits and code cleanup.
f6d5d24c Removed integer vector field from vector magnitude filter unit test
70e145fd Attempt to fix Visual Studio 2013/2015 warning message
f1300c61 Changed vtkm::Abs() to return input type
71b2348d Adjusted Math.h.in for const vtkm::Float32 function inputs
7d6601d7 Modified Math.h.in and VectorAnalysis.h to support integral types.
cd95cbe9 Modified Math.h.in instead of Math.h
5777c4ca Merge branch 'master' into vector_magnitude_field_filter
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !666
2017-02-10 11:34:28 -05:00
Samuel Li
506f44c69a fix a bug in 2D cases; finish translator of 6 cubes 2017-02-09 22:50:19 -07:00
Matt Larsen
30c5c3be4a Merge topic 'volume_mapper_fix'
1f6ef23b adding the ability to turn off background compositing for volume renderer
3fe918ce adding sample distance to the volume mapper

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !688
2017-02-10 00:08:26 -05:00
Samuel Li
90d45560e6 sync 2017-02-09 18:27:09 -07:00
Matt Larsen
1f6ef23b98 adding the ability to turn off background compositing for volume renderer 2017-02-09 16:26:23 -08:00
Matt Larsen
3fe918ce4d adding sample distance to the volume mapper 2017-02-09 16:12:23 -08:00
Matt Larsen
6b534a438f Fixing a typo in Actor 2017-02-09 15:59:37 -08:00
Samuel Li
44a7370e3c finish translator of 3 cubes in 3 directions 2017-02-09 16:56:02 -07:00
Matt Larsen
c2f0dd5a64 Adding the ablitiy to set the scalar range of an Actor to get a consistent mapping of scalar values when running with MPI 2017-02-09 15:38:40 -08:00
Matt Larsen
bd845f01d6 Adding coordinate system include to the volume renderer 2017-02-09 13:00:08 -08:00
Matt Larsen
59020fe98f Adding several more includes to the volume renderer 2017-02-09 12:51:46 -08:00
Matt Larsen
9f074e4ad8 Removing typename from typdef declaration in the volume renderer 2017-02-09 12:47:02 -08:00
Matt Larsen
bee6868254 Fixing the include in the rendering library 2017-02-09 12:36:59 -08:00
Thomas J. Otahal
ba2be2fe3a Added FilterTraits and code cleanup. 2017-02-09 10:58:49 -07:00
David Lonie
7c50b00263 Fix old exception name in ArrayHandleDiscard. 2017-02-09 11:59:49 -05:00
Samuel Li
d9f7319076 use 1 enum to indicate direction; finish a translator for left-right in 3D 2017-02-08 22:53:55 -07:00
Kenneth Moreland
dcbbb72784 Merge branch 'master' into external-face-more-generic
Update exception methods to new names.
2017-02-08 17:10:17 -07:00
James Kress
a0b7cd2606 Merge topic 'DataSetAddUniform-test-enhance'
4fc6a6a4 Updating formatting and fixing compiler warnings
00b73b63 Updating formatting and fixing compiler warnings
eee9edde Updating formatting and fixing compiler warnings
6cac1843 Updating formatting and fixing compiler warnings
48d22460 Updating formatting and fixing compiler warnings
19b61a53 Merge branch 'master' into DataSetAddUniform-test-enhance
cefc333a Adding fields to data set builder unit tests to test fields.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !681
2017-02-08 10:19:14 -05:00
David Lonie
6f51bf18ef Merge topic '57-rename-exception-classes'
f601e38b Simplify exception hierarchy.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !683
2017-02-08 08:46:35 -05:00
David C. Lonie
17b2dd66c5 Add ArrayHandleDiscard for unused outputs.
ArrayHandleDiscard is intended to be used for worklets that produce
multiple output arrays when one or more outputs is not needed. It
does not allocate space for its data and the Set method is a no-op,
allowing the compiler to prune unnecessary instructions.
Reading from the array handle is not allowed.
2017-02-07 15:55:33 -05:00
David C. Lonie
f601e38ba8 Simplify exception hierarchy.
Remove the ErrorControl class such that all subclasses now inherit from
error. Renamed all exception classes via s/ErrorControl/Error/.

See issue #57.
2017-02-07 15:42:38 -05:00
Thomas J. Otahal
f6d5d24c82 Removed integer vector field from vector magnitude filter unit test
Integer vector field was causing link errors on Windows with Visual
Studio.
2017-02-07 11:38:52 -07:00
James Kress
4fc6a6a4b9 Updating formatting and fixing compiler warnings 2017-02-07 13:02:27 -05:00
James Kress
00b73b63b2 Updating formatting and fixing compiler warnings 2017-02-07 11:52:53 -05:00
James Kress
eee9edde58 Updating formatting and fixing compiler warnings 2017-02-07 11:48:43 -05:00
James Kress
6cac18438d Updating formatting and fixing compiler warnings 2017-02-07 11:32:15 -05:00
James Kress
48d22460ee Updating formatting and fixing compiler warnings 2017-02-07 11:16:07 -05:00
Thomas J. Otahal
70e145fd83 Attempt to fix Visual Studio 2013/2015 warning message 2017-02-07 07:41:38 -07:00
James Kress
19b61a5367 Merge branch 'master' into DataSetAddUniform-test-enhance 2017-02-07 08:12:20 -05:00
Samuel Li
b6a2f49400 keep working on 3D extension 2017-02-06 23:34:14 -07:00
Thomas J. Otahal
f1300c6143 Changed vtkm::Abs() to return input type 2017-02-06 15:50:13 -07:00
James Kress
cefc333a99 Adding fields to data set builder unit tests to test fields. 2017-02-06 16:24:36 -05:00
Thomas J. Otahal
71b2348dd9 Adjusted Math.h.in for const vtkm::Float32 function inputs 2017-02-06 12:18:13 -07:00
Robert Maynard
9148bea396 Corrects ignorable warnings with msvc and cuda enabled.
These constant value warnings are ignorable as we are trying
to throw an assert.
2017-02-02 10:09:34 -05:00
Robert Maynard
799277e515 Merge topic 'move_computerange_to_own_header'
3d2e15b4 Move ComputeRange for ArrayHandle to its own header

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !677
2017-02-01 10:37:36 -05:00
Robert Maynard
e0fd5696a3 Merge topic '2-field_assoc_convenience'
5020a848 Add convenience getters for accessing field data by association.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !678
2017-02-01 09:08:54 -05:00
Robert Maynard
6e4e07b378 Merge topic 'all_array_portals_have_set'
629271bc Make sure all ArrayPortals have a Set method.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !676
2017-02-01 09:08:51 -05:00
Kenneth Moreland
3d2e15b4c0 Move ComputeRange for ArrayHandle to its own header
It will be convenient to make this accessible outside of Field.
2017-02-01 09:06:42 -05:00
Kenneth Moreland
629271bceb Make sure all ArrayPortals have a Set method.
The current design for ArrayPortalVirtual makes it a requirement for all
array portals (that it wraps) to have Set defined. Thus, make sure Set is
defined for all ArrayPortal. Where Set is invalid, an assert is thrown if
something calls it at runtime.
2017-01-31 15:46:39 -05:00
David Lonie
49a88cda08 Merge topic '114-thrust-cudaMalloc'
575d74d1 Manage cuda device memory with cudaMalloc instead of thrust::vector.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !675
2017-01-31 14:56:02 -05:00
David C. Lonie
5020a8482f Add convenience getters for accessing field data by association. 2017-01-31 14:50:52 -05:00
David C. Lonie
575d74d143 Manage cuda device memory with cudaMalloc instead of thrust::vector. 2017-01-30 15:36:37 -05:00
Robert Maynard
407f9822c2 Merge branch 'use_usage_requirements' into 'master'
Use usage requirements

See merge request !673
2017-01-27 17:36:16 -05:00
Robert Maynard
dc143e7d9e Fix issues found on dashboard machines. 2017-01-27 15:22:34 -05:00
Robert Maynard
8035b526a8 Update the CMake components to have the concept of backends.
Now components are labeled as devices, and therefore allow other components
to link to only backends. We also have done the same thing for rendering.
2017-01-27 10:03:53 -05:00
Kenneth Moreland
0703139a3d Make Keys class do in-place sort
Previously, the Keys class constructor took an array of keys, made a
copy of it, and sorted the copy. This was to protect the caller in case
it needed the original keys array again. However, this copy takes a
significant chunk of time and it is probably rare in practice to ever
need the original keys array again. So instead just do an in-place sort.
2017-01-26 13:35:53 -07:00
Kenneth Moreland
059c7f6db0 Fix issue with ExternalFaces on CellSetSingleType
The ExternalFaces filter should work fine on a CellSetSingleType.
However, the filter was not operating on them because it a templated
method that is a placeholder for "this cell set type not supported" was
matching it. This simple change allows a CellSetSingleType to match the
template for a CellSetExplicit (which is the superclass).
2017-01-26 13:35:51 -07:00
Kenneth Moreland
876514bab2 Add better test for external faces
Tests zoo cells with different face size. Also makes sure the surface is
exactly as expected.
2017-01-26 13:35:49 -07:00
Kenneth Moreland
53679dfc9c Update ExternalFaces to support mixed face types
Previously, ExternalFaces really only supported tetrahedral meshes that
have only triangular faces. These changes support all mixes of cells and
their faces.
2017-01-26 13:35:46 -07:00
Thomas J. Otahal
7d6601d794 Modified Math.h.in and VectorAnalysis.h to support integral types.
Unary operations on scalars and vectors will return vtkm::Float64 for
integral input types and vtkm::Float64 input types. Unary operations will
return vtkm::Float32 for vtkm::Float32 input vectors and scalars.
2017-01-26 13:30:28 -07:00
Kenneth Moreland
a671963834 Add Version.h header file
This allows source files to use the VTK-m version.

Note that Configure.h does not include the version. This is intentional.
First, I don't want the entirety of VTK-m to recompile every time the
version is updated (which is every time a commit happens in git).
Second, it is important that external project source files be able to
get the VTK-m version without actually loading any VTK-m code.
2017-01-26 10:33:42 -07:00
Kenneth Moreland
d32f3457d8 Merge topic 'fix-clip-table-error-for-lines'
c6fdceaf Fix an error in the clip tables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !669
2017-01-25 11:07:39 -05:00
Andrew Bauer
7b165842cd Fixing documentation typo 2017-01-25 10:41:09 -05:00
Thomas J. Otahal
cd95cbe90b Modified Math.h.in instead of Math.h
Changed return types for all scalar and vector unary math operations
to return vtkm::FloatDefault instead of input type. vtkm::Float64 will
be returned when the input is vtkm::Float64.
2017-01-24 14:47:51 -07:00
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
Thomas J. Otahal
5777c4caa5 Merge branch 'master' into vector_magnitude_field_filter
Conflicts:
	vtkm/worklet/testing/CMakeLists.txt
2017-01-24 09:55:31 -07:00
Robert Maynard
2c916780a0 Reduce the amount of output the UnitTestHistogramFilter generates
It was producing about 40MB of output when saved by cdash/buildbot so
lets reduce that and make web pages load again.
2017-01-24 09:21:43 -05:00
Kenneth Moreland
fe1c7c3228 Merge topic 'fix-clean-grid'
5004e64c Fix CleanGrid when compact point fields is off

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !665
2017-01-23 11:00:02 -05:00
Robert Maynard
d0eb528aaf Merge branch 'reduce_amount_of_weak_vtables' into 'master'
Reduce amount of weak vtables

See merge request !612
2017-01-23 08:47:54 -05: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
5004e64c3e Fix CleanGrid when compact point fields is off
There was an error in the CleanGrid filter where if the
CompactPointFields flag was off it would still try to compact the point
coordinates. Add an extra check so that the coordinate systems are just
passed when this flag is off.
2017-01-19 14:10:40 -07:00
Thomas J. Otahal
556b922733 Created a filter for the vector magnitude worklet.
Modified the vector magnitude worklet to accept VecAll instead
of Vec3 and return Scalar. Modified the Magnitude() and Sqrt() functions
to return FloatDefault for all inputs except for Float64.

Perhaps we should modify other functions in Math.h and VectorAnalysis.h to
return float types for intergral arguments instead of integral types?
2017-01-19 13:27:42 -07:00
Robert Maynard
2dc23cf1a8 Correct compilation errors on Windows with CUDA. 2017-01-19 14:02:35 -05:00
Christopher Sewell
82c40a6374 First support for unified memory 2017-01-18 11:43:49 -07:00
Kenneth Moreland
503bebda54 Merge topic 'array-handle-zip-in-place'
4d1da547 Fix ArrayHandleZip::PrepareForInPlace

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !660
2017-01-18 10:00:45 -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
Kenneth Moreland
4d1da5474a Fix ArrayHandleZip::PrepareForInPlace
The implementation was calling PrepareForOutput on the delegate arrays
rather than PrepareForInPlace, do when used with CUDA you did not get
the data on the device.

Also added a regression test to check this.
2017-01-17 15:33:18 -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
Robert Maynard
a6bd3a22e0 Make sure all custom storage containers are exported. 2017-01-16 09:17:38 -05:00
Robert Maynard
fc398d36a1 Make sure vtkm::Vec types are always exported. 2017-01-16 09:17:38 -05:00
Robert Maynard
bd1ff7a5ac Allow vtkm errors to properly work with shared libraries. 2017-01-16 09:17:38 -05:00
Robert Maynard
5921c8d9b8 vtkm_cont now contains explicit instantiations of common StorageBasic types. 2017-01-16 09:17:38 -05:00
Robert Maynard
0a34a4027c vtkm_cont now contains explicit instantiations of common ArrayHandles.
To help reduce compile and library size the vtkm_cont library now holds
common instantiations.
2017-01-16 09:17:38 -05:00
Robert Maynard
3c07c77fa7 Introduce vtkm_cont library to reduce weak vtable creation.
This reduces the number of weak vtables vtkm generates, resulting in
a reduction of binary sizes for projects that include vtkm classes in
multiple translation units.
2017-01-16 09:17:38 -05:00
Robert Maynard
d8d6fd1741 StorageTags are now always exported to resolve future dynamic_cast issues.
Class that need to be passed across dynamic library boundaries such as
DynamicArrayHandle need to be properly export. One of 'tricks' of this
is that templated classes such as PolymorphicArrayHandleContainer need
the Type and Storage types to have public visibility.

This makes sure that all vtkm storage tags have public visibility so
in the future we can transfer dynamic array handles across libraries.
2017-01-16 09:17:38 -05:00
Robert Maynard
a16f9fedbe Reduce the amount of vtables that vtkm::rendering produce. 2017-01-16 09:17:38 -05:00
Robert Maynard
4387dcf0f8 Introduce macros VTKM_ALWAYS_EXPORT and VTKM_NEVER_EXPORT
These are designed so that we can safely export template classes from
multiple dynamic libraries and have them all resolve to the same
type at runtime
2017-01-16 09:17:38 -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
Robert Maynard
be1e6588c1 Merge topic 'correct_exclusive_scan_tbb_2017'
35585f39 Correct a bug in tbb scan exclusive that was found using tbb 2017.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !652
2017-01-12 11:25:34 -05:00
Patricia Kroll Fasel - 090207
bed40256c8 Fix compiler warnings. Fix case table operation to comply. 2017-01-11 14:02:32 -07:00