Commit Graph

4740 Commits

Author SHA1 Message Date
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
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
Allison Vacanti
bff75de48c Use std::is_integral<T>::value instead of is_int<>{}.
NVCC doesn't seem to handle the construction + implicit conversion
well. Explicitly specifying the value fixes this.
2019-07-23 11:38:37 -04:00
Kenneth Moreland
468ee61cac Merge topic 'write-to-array-handle-cast'
6592e5288 Fix IsWritableArrayHandle for portals that exist but cannot be written
0e15a1116 Enable writing to ArrayHandleCast
6d37ce945 Remove invalid PortalType

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1731
2019-07-22 10:34:54 -04:00
Kenneth Moreland
6592e52880 Fix IsWritableArrayHandle for portals that exist but cannot be written
Previously, IsWriteableArrayHandle just checked to see if an
ArrayHandle's portal has a ValueType of void* because we had coded the
special read-only array handles to have fake portals for writing.
However, we recently removed that because it was more trouble than it
was worth. Now IsWritableArrayHandle checks for the existance of the Set
method. If it does not exist, then the portal is considered read-only.

Also corrected spelling (writeable -> writable).
2019-07-19 20:33:58 -06:00
Allison Vacanti
694d1e113d Add methods to BoundaryState to query specific offsets.
The existing functionality worked on radii, but it's helpful to
know if a specific sample location will be in bounds, too.
2019-07-19 15:09:57 -04:00
Kenneth Moreland
0e15a1116c Enable writing to ArrayHandleCast
Previously, `ArrayHandleCast` was considered a read-only array handle.
However, it is trivial to reverse the cast (now that `ArrayHandleTransform`
supports an inverse transform). So now you can write to a cast array
(assuming the underlying array is writable).

One trivial consequence of this change is that you can no longer make a
cast that cannot be reversed. For example, it was possible to cast a simple
scalar to a `Vec` even though it is not possible to convert a `Vec` to a
scalar value. This was of dubious correctness (it is more of a construction
than a cast) and is easy to recreate with `ArrayHandleTransform`.
2019-07-17 18:40:45 -06:00
Kenneth Moreland
6d37ce9453 Remove invalid PortalType
Several ArrayHandles (actuall Storage implementations) had a fake portal
type that only defined invalid value types and no Get/Set methods. The
idea was to quickly identify when using a read-only array for writing.
However, this was more trouble than it was worth as the compiler just
gives  an incomprehensible error and it is hard to track down the actual
value.

Now actually define some type even if it is never used.
2019-07-17 18:39:00 -06:00
Robert Maynard
8d3310fe55 Merge topic 'namespace_lodepng'
46a1df6c1 DecodePNG uses the namespaced lodepng from thirdparty/
26e50065a Merge branch 'upstream-lodepng' into namespace_lodepng
43e0185b2 lodepng 2019-07-17 (82328a33)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <larsen30@llnl.gov>
Merge-request: !1728
2019-07-17 16:07:15 -04:00
Kenneth Moreland
79909ecf12 Merge topic 'add_mesh_quality'
b622c7962 Fixed index out of bounds error for the cell counts array
4d61066e9 Removed all modifications in the internal device adapter algorithm header files.
06ac9f721 Revised version of the original mesh quality merge request
e54001367 Added few lines of code missing from cuda device adapter header
3dd34d251 Added custom CopyIf function
417dbcea7 Removed all modifications in the internal device adapter algorithm header files.
50cb805ce Fixed cuda device adapter alg
8c070caa0 Added few lines of code missing from cuda device adapter header
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1714
2019-07-17 15:42:22 -04:00
Robert Maynard
46a1df6c18 DecodePNG uses the namespaced lodepng from thirdparty/ 2019-07-17 14:21:33 -04:00
Robert Maynard
26e50065ab Merge branch 'upstream-lodepng' into namespace_lodepng
* upstream-lodepng:
  lodepng 2019-07-17 (82328a33)
2019-07-17 14:21:13 -04:00
Allison Vacanti
c2772ad857 Merge topic 'unroll_omp_reduce'
41894a97b Unroll reduction loops for non-integral types on OpenMP.
e30cb0872 Fix OpenMP for gcc-9 backwards incompatibility.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1724
2019-07-17 09:50:41 -04:00
Hank
6b65f1e2dd Merge topic 'open_nonexistent_file'
2fc7cb02a remove unused variable
5064854a0 Add error message with bad file open

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !1722
2019-07-16 17:42:34 -04:00
Allison Vacanti
41894a97b3 Unroll reduction loops for non-integral types on OpenMP. 2019-07-16 14:47:41 -04:00
Allison Vacanti
e30cb08725 Fix OpenMP for gcc-9 backwards incompatibility.
For details, see

https://www.gnu.org/software/gcc/gcc-9/porting_to.html
2019-07-16 14:47:31 -04:00
Hank Childs
2fc7cb02a3 remove unused variable 2019-07-16 10:58:40 -07:00
Robert Maynard
c80c1d09c0 Merge topic 'refactor_vtkm_buildsystem_to_provide_better_consumer_experience'
28484fc6a Update examples and benchmarks to use new VTK-m CMake helper function
ea50e82aa Move VTK-m CMake testing wrappers to the testing folder
0b7dd7c38 Add CMake vtkm_add_target_information() to make using vtk-m easier
e934e2273 vtkm_library WRAP_FOR_CUDA renamed to clarify the intent of the property
a2e6660fd Remove unused vtkm_compile_as_cuda CMake function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <larsen30@llnl.gov>
Merge-request: !1718
2019-07-16 08:46:22 -04:00
Hank Childs
5064854a0d Add error message with bad file open 2019-07-12 18:19:48 -07:00
Li-Ta Lo
2c6061d37f Merge topic 'locate-points-on-boundary'
461f87dbc Fix issues with PointLocatorUniformGrid not finding all points
e473cb4bb Fix PointLocatorUniformGrid for points on boundary

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Merge-request: !1720
2019-07-11 10:48:49 -04:00
Kenneth Moreland
461f87dbc8 Fix issues with PointLocatorUniformGrid not finding all points
There was a known issue where PointLocatorUniformGrid would quickly quit
once it found a point. Instead, look at one more level of bins just in
case there is a closer one near the boundary. (Still not guaranteed, but
likely.)

Also, fix a typo that caused some bins in the y and z direction to not
be searched.
2019-07-10 09:52:49 -06:00
Kenneth Moreland
e473cb4bbc Fix PointLocatorUniformGrid for points on boundary
When creating the search structures in PointLocatorUniformGrid, a point
outside the boundary would be given an invalid bin id. These points
could never be found. Generally, this is not a big deal for points
outside of the boundary, but it could be a problem for points on the
boundary. A point on the boundary could be taken as outside the
boundary. Since the boundary is chosen from limits of the points, some
will almost always be on the boundary.

Fix this problem by clamping all points to the nearest valid bin. This
could cause a problem if the user has selected a boundary excluding a
lot of points. All those points could be grouped to the same edge bins,
but that is probably not a great idea anyway.
2019-07-10 08:35:45 -06:00
Robert Maynard
ea50e82aac Move VTK-m CMake testing wrappers to the testing folder
The VTK-m testing infrastructure isn't public facing so it doesn't
need to be installed or clutter the main VTKmWrappers file.

At the same time I have refactored the code to make it clearer
to understand, and remove unused options.
2019-07-09 13:32:23 -04:00
Robert Maynard
e934e2273c vtkm_library WRAP_FOR_CUDA renamed to clarify the intent of the property
We want the option name to be clear that it might be applicable for
more than just CUDA. If VTK-m ever supported something like SYCL
it would not be clear that those sources should go in `WRAP_FOR_CUDA`.
2019-07-09 13:04:07 -04:00
Brent Lessley
b622c79625 Fixed index out of bounds error for the cell counts array 2019-07-04 15:34:26 -07:00
Brent Lessley
4d61066e9c Removed all modifications in the internal device adapter algorithm header files. 2019-07-03 11:12:19 -07:00
Dave Pugmire
fc69b9c1bc Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into polyLinePathGeom 2019-07-03 10:47:13 -04:00
Dave Pugmire
b866b31f48 Fix cuda compile error. 2019-07-03 08:40:50 -04:00
Brent Lessley
06ac9f7219 Revised version of the original mesh quality merge request 2019-07-02 22:35:54 -07:00
Brent Lessley
e540013679 Added few lines of code missing from cuda device adapter header 2019-07-02 22:35:54 -07:00
Brent Lessley
3dd34d251e Added custom CopyIf function 2019-07-02 22:35:54 -07:00
Brent Lessley
417dbcea7f Removed all modifications in the internal device adapter algorithm header files. 2019-07-02 22:35:54 -07:00
Brent Lessley
50cb805ceb Fixed cuda device adapter alg 2019-07-02 22:35:47 -07:00
Brent Lessley
8c070caa01 Added few lines of code missing from cuda device adapter header 2019-07-02 22:33:48 -07:00
Brent Lessley
e0f0e4d673 Added custom CopyIf function 2019-07-02 22:33:23 -07:00
Dave Pugmire
023e6bb625 Remove redundant code for computing w. 2019-07-02 18:53:32 -04:00
Dave Pugmire
e74a0800bd Move helper worklets from the detail namespace into the Tube class. 2019-07-02 16:49:48 -04:00
Dave Pugmire
2dad0301e3 Handle polylines with only 1 point. Add testing for linear polylines. 2019-07-02 14:34:37 -04:00
Robert Maynard
9213038aa2 Make sure all vtkm/cont .hxx files have header guards
Make it easier for consumer to only include hxx files a single
time.
2019-07-01 14:03:40 -04:00
Allison Vacanti
938a116dc2 Fix brace initialization of std::atomic for gcc 4.8. 2019-07-01 10:15:19 -04:00
Dave Pugmire
2e53de81fa Raise error when bad data are encountered. 2019-06-27 09:11:04 -04:00
Brent Lessley
d370674d2b Removed all modifications in the internal device adapter algorithm header files. 2019-06-27 01:35:00 -07:00