Commit Graph

2576 Commits

Author SHA1 Message Date
Robert Maynard
09c8305cd4 Merge topic 'efficient_gradient_computations'
2c225e9e Update MarchingCubes to use the new gradient API.
5de35112 Allow Gradient to output in FORTRAN ordering.
8d04796b Allow Vector Gradient computation to output fancy fields and not gradient
85a62423 Gradient now has a Run method, and requires ArrayHandle type to be known

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !812
2017-07-07 09:25:45 -04:00
Robert Maynard
09a08fea8d Correct errors in TaskTuner found from the TestBuilds. 2017-07-07 08:40:03 -04:00
Robert Maynard
c2d184008e Merge topic 'move_cuda_parameter_sweep_to_seaparate_file'
c11f29c0 Move the parameter sweeping code to a separate header.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !823
2017-07-07 08:13:26 -04:00
Mark Kim
8c5129fa68 Saving pnms with VS2015 converts LF into CRLF unless the file is opened as binary. 2017-07-06 18:56:16 -04:00
Robert Maynard
2c225e9e87 Update MarchingCubes to use the new gradient API. 2017-07-05 16:32:31 -04:00
Robert Maynard
5de351124a Allow Gradient to output in FORTRAN ordering.
VTK expects that the tensor fields generated by the gradient of a vector field
to have FORTRAN ordering instead of C ordering.

Discovering this actually uncovered bugs in the Vorticity and QCriterion
implementation where they presumed FORTRAN ordering, and would generate
incorrect results.
2017-07-05 16:32:31 -04:00
Robert Maynard
c11f29c093 Move the parameter sweeping code to a separate header.
The parameter sweeping code is only enabled when tuning for new GPU's
so we should move it to a separate header to make DeviceAdapterAlgorithmThrust
easier to read.
2017-07-05 14:58:19 -04:00
Matt Larsen
33ebf0aaa1 simpler method of scaling epsilon based on primitive AABB 2017-07-04 16:43:31 -07:00
Matt Larsen
c2ffa665d2 Adding scaled epsilon to bounding boxes to handle floating point edge cases 2017-07-04 15:10:17 -07:00
Matt Larsen
ce3814c266 bvh checking for a single triangle 2017-07-03 19:50:45 -07:00
Matt Larsen
0165bdc377 Merge topic 'volume_set_composite_background'
95749ee2 connecting composite background from volume mapper to renderer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !819
2017-07-03 20:58:22 -04:00
Robert Maynard
8d04796b1f Allow Vector Gradient computation to output fancy fields and not gradient
Basically we can run the gradient worklet and compute the Divergence, Vorticity,
and QCriterion without ever having to store the gradient tensor in global memory
2017-07-03 16:11:01 -04:00
Robert Maynard
85a62423bd Gradient now has a Run method, and requires ArrayHandle type to be known
The gradient worklet is now templated on the input value type. This simplifies
the logic of the gradient. Secondly we have added a Run method for the
first step of making gradient a 'fatter' worklet that can handle generation
of vorticity, Divergence, and QCriterion.
2017-07-03 16:11:01 -04:00
Robert Maynard
295402a3a5 Merge topic 'allow_reverse_connectivity_building_on_empty_cellset'
f9906bbe CellSetExplicit can now build reverse connectivity even when empty.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !818
2017-07-03 16:03:53 -04:00
Matt Larsen
95749ee223 connecting composite background from volume mapper to renderer 2017-07-03 11:00:54 -07:00
Robert Maynard
f9906bbe05 CellSetExplicit can now build reverse connectivity even when empty.
Before we would try to access the -1 index of the connectivity array
2017-07-03 13:45:08 -04:00
Matt Larsen
ce2c29105f removing debug variable 2017-07-02 17:02:39 -07:00
Matt Larsen
0498f48269 Fixing incorrect logic when sampling the upper edge of a cell that is on the data set boundry 2017-07-02 17:00:10 -07:00
David Lonie
86e597b309 Merge topic 'simplify_transfers'
b2c3e416 Refactor array transfer logic for basic storage.
bc1b9207 Add macro to help pass commas into other macros.
d4d7683f Initialize member variables of ArrayPortalFromIterators.
8ffaa83b Silence pointless warnings on TestBuilds.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !752
2017-06-30 14:53:24 -04:00
David C. Lonie
b2c3e41645 Refactor array transfer logic for basic storage.
The old templated array transfer mechanism generated a lot of code
that ended up doing a simple, type-agnostic memcpy for most devices.
This patch specialized array handles for basic storage and uses a
fast-path array transfer implementation. This reduces the size of the
vtkm_cont library by 27% on gcc (from 6.2MB to 4.5MB).
2017-06-29 13:18:44 -04:00
Sujin Philip
10dc106fa8 Add option to skip facted normals normalization
This will allow us to generate faster but approximate point normals.
2017-06-29 12:26:35 -04:00
David C. Lonie
bc1b920741 Add macro to help pass commas into other macros.
VTKM_PASS_COMMAS(...) will pass it's arguments verbatim into another
macro, even if they contain commas. This is helpful when using templated
classes, e.g.

#define SOME_MACRO(arg) ...

SOME_MACRO(vtkm::cont::ArrayHandle<float, StorageTag>)

won't compile, because the comma in the template parameters is assumed
to be separating macro arguments. Adding extra parenthesis,

SOME_MACRO((vtkm::cont::ArrayHandle<float, StorageTag>))

helps in some cases, but not others (e.g. the macro declares a variable).

SOME_MACRO(VTKM_PASS_COMMAS(vtkm::cont::ArrayHandle<float, StorageTag>))

will always* work.
2017-06-29 09:51:07 -04:00
David C. Lonie
d4d7683f17 Initialize member variables of ArrayPortalFromIterators. 2017-06-29 09:51:06 -04:00
Sujin Philip
67a95ee19a Merge topic 'fix-marchingcubes-normals'
08fb95d5 Options to compute fast normals in MarchingCubes
74f1a0bf Fix Marching Cubes normals
42ce2dcb Add ScatterPermutation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !811
2017-06-21 09:39:08 -04:00
David Lonie
462033699f Merge topic '157-threshold_field_refactor'
1cc855ab Refactor the Threshold worklet field mapping.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !808
2017-06-21 09:12:10 -04:00
David C. Lonie
1cc855abec Refactor the Threshold worklet field mapping.
Refs #157.
2017-06-21 09:09:46 -04:00
Sujin Philip
08fb95d5ee Options to compute fast normals in MarchingCubes
Adds ComputeFastNormalsForStructured and ComputeFastNormalsForUnstructured
flags to the marching cubes filter.
2017-06-20 16:56:24 -04:00
Sujin Philip
74f1a0bf8b Fix Marching Cubes normals 2017-06-20 16:25:49 -04:00
David Lonie
8c0d1d12d0 Merge topic '157-extract_geometry_refactor'
769c3c40 Extract geometry celldata refactor.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !803
2017-06-20 16:18:06 -04:00
David Lonie
572411c3dd Merge topic '157-triangulate_refactor'
5fb60c04 Refactor Triangulate worklet/filter for field mapping.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !810
2017-06-20 15:45:25 -04:00
David Lonie
1a4cdfb55a Merge topic '157-mask_filter_refactor'
63aecfa5 Refactor field processing for Mask worklet/filter.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !805
2017-06-20 15:44:27 -04:00
Sujin Philip
42ce2dcb39 Add ScatterPermutation 2017-06-20 13:41:02 -04:00
David C. Lonie
5fb60c04ed Refactor Triangulate worklet/filter for field mapping.
Refs #157.
2017-06-19 14:50:06 -04:00
Matt Larsen
6c8b0e3e9d Merge topic 'refactor_ray_tracing'
630e871e refactoring ray tracing and adding new renderer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !802
2017-06-19 11:02:49 -04:00
Robert Maynard
9716344d88 Merge topic 'correct_ArrayManagerExecutionThrustDevice_warnings'
cfda0593 ArrayManagerExecutionThrustDevice stops generating casting warnings.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: David Lonie <david.lonie@kitware.com>
Merge-request: !807
2017-06-19 10:33:33 -04:00
Matt Larsen
630e871ea7 refactoring ray tracing and adding new renderer 2017-06-17 14:28:45 -07:00
David C. Lonie
769c3c405e Extract geometry celldata refactor.
References #157.
2017-06-16 14:34:26 -04:00
Robert Maynard
cfda0593be ArrayManagerExecutionThrustDevice stops generating casting warnings. 2017-06-16 08:50:32 -04:00
David C. Lonie
25da216514 Refactor tetrahedralize filter's field processing.
Refs #157.
2017-06-15 14:14:27 -04:00
David C. Lonie
63aecfa501 Refactor field processing for Mask worklet/filter. 2017-06-15 13:17:52 -04:00
Sujin Philip
5f78f67939 Fix SurfaceNormals.hxx installation 2017-06-14 14:12:20 -04:00
David Lonie
42a4bb5bb6 Merge topic '157-clip-refactor'
20eed197 Refactor the clip filters/worklet (See #157).

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !799
2017-06-13 15:48:58 -04:00
David C. Lonie
20eed197c1 Refactor the clip filters/worklet (See #157). 2017-06-13 10:24:07 -04:00
David C. Lonie
959db03ca0 Add option to print full arrayhandle in summary.
Useful for quickly debugging.
2017-06-13 10:21:41 -04:00
Sujin Philip
75f0957f8c Merge topic 'add-SmoothSurfaceNormals'
18d0f3e1 Add SmoothSurfaceNormals worklet

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !798
2017-06-12 17:21:45 -04:00
Sujin Philip
18d0f3e143 Add SmoothSurfaceNormals worklet
Also updates SurfaceNormals filter to produce smooth normals.
2017-06-12 16:50:22 -04:00
David Lonie
8c64247707 Merge topic 'marching_cubes_celldata'
c9f38480 Release CellIdMap if no cell fields exist in MC filter.
44c1d4f6 Remove unused variable.
82ebdd5b Add MarchingCubes::ProcessCellField.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !793
2017-06-09 09:50:47 -04:00
David C. Lonie
c9f38480d9 Release CellIdMap if no cell fields exist in MC filter. 2017-06-09 09:13:01 -04:00
David C. Lonie
44c1d4f641 Remove unused variable. 2017-06-08 16:50:27 -04:00
David C. Lonie
82ebdd5be7 Add MarchingCubes::ProcessCellField.
Allow cell data to be mapped through the MarchingCubes filter.
2017-06-08 16:50:27 -04:00