Commit Graph

327 Commits

Author SHA1 Message Date
Patricia Kroll Fasel - 090207
e34aaa02ea Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into streamline 2015-11-12 16:08:44 -07:00
Patricia Kroll Fasel - 090207
82d9c10206 Pass input and output datasets and not arrays. Support FORWARD, BACKWARD and BOTH. 2015-11-12 15:35:46 -07:00
Patricia Kroll Fasel - 090207
add67881db Rework stream code 2015-11-10 10:33:21 -07:00
Kenneth Moreland
58aa46df74 Fix spacing in Isosurface test code.
The original isosurface code was not treating the origin and spacing of
the point coordinates correctly. Instead, it was ignoring the origin and
spacing and instead scaling all point coordinates to be in the unit cube
in world space (except there was also an off-by-one error in that). This
change recompensates by adjusting the origin and spacing to make the
correct position where the geometry was previously errantly placed.
2015-11-06 18:05:20 -07:00
Kenneth Moreland
e6a9c96c96 Adding ScatterCounting 2015-11-06 18:05:20 -07:00
Patricia Kroll Fasel - 090207
123322f4b9 First code for stream lines worklet 2015-11-05 16:08:54 -07:00
Robert Maynard
ca71d70bed Update worklet UnitTests to not try statically known invalid combinations 2015-10-26 17:21:24 -04:00
Robert Maynard
39142d8347 Add convenience tags like FieldInPoint, FieldInCell, to WorkletMapPointToCell 2015-10-23 09:50:48 -04:00
Robert Maynard
f34119b62e Clarify the name of worklet for point to cell operations. 2015-10-22 18:46:00 -04:00
Patricia
58178a3e00 Merge topic 'stat_histogram'
d3d63a0a Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into stat_histogram
4aa57d5c Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into stat_histogram
49940a4c Attempt to fix compiler errors and warnings.
0e0f5d2e Fix compiler warnings.
a6487b3c Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into stat_histogram
c2a9f184 Fix syntax of ArrayHandleCounting usage
6dd8bde6 Merge branch 'master' into stat_histogram

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !190
2015-10-14 15:56:24 -04:00
Sujin Philip
4642889f93 Merge topic 'add-Threshold'
e4a8ae82 Add Threshold worklet and unit tests.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !236
2015-10-14 14:34:17 -04:00
Patricia Kroll Fasel - 090207
d3d63a0a20 Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into stat_histogram 2015-10-14 11:51:31 -06:00
Robert Maynard
c78aac4650 UnitTestClipping now properly handles 64bit vtkm::FloatDefault. 2015-10-13 10:29:46 -04:00
Sujin Philip
e4a8ae82ed Add Threshold worklet and unit tests. 2015-10-12 14:37:59 -04:00
Patricia Kroll Fasel - 090207
65c9de08bd Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into tetra_explicit 2015-10-08 16:07:18 -06:00
Patricia
610672a3a1 Merge topic 'tetra_uniform'
5f6a552a Compiler warnings
b7473712 Compiler warnings GL deprecated
2f532bf3 Compiler warnings
5569d8c1 Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into tetra_uniform
0e8b9b15 Compiler warnings.
810e6b00 Fix CastTo with template to avoid compiler errors.
deceb79e Fix to work with gcc and pgi compilers.  Change to use CellSetSingleType.
f624683e Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into tetra_uniform
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !204
2015-10-08 17:36:47 -04:00
Patricia Kroll Fasel - 090207
2b43e52516 Compiler warnings 2015-10-08 11:38:56 -06:00
Patricia Kroll Fasel - 090207
2f532bf379 Compiler warnings 2015-10-08 11:11:08 -06:00
Patricia Kroll Fasel - 090207
cba29a1e67 Fix compiler warnings 2015-10-08 10:52:34 -06:00
Sujin Philip
15ad595888 Add support for clipping with implicit functions 2015-10-08 12:12:51 -04:00
Patricia Kroll Fasel - 090207
0b9cffe4f4 Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into tetra_explicit 2015-10-08 09:56:44 -06:00
Patricia Kroll Fasel - 090207
5569d8c1b1 Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into tetra_uniform 2015-10-08 09:35:10 -06:00
Patricia Kroll Fasel - 090207
4aa57d5c64 Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into stat_histogram 2015-10-08 09:13:28 -06:00
Patricia Kroll Fasel - 090207
49940a4cbf Attempt to fix compiler errors and warnings. 2015-10-01 15:08:36 -06:00
Patricia Kroll Fasel - 090207
a6487b3c79 Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into stat_histogram 2015-10-01 10:15:02 -06:00
Robert Maynard
20f3fb5000 Update VertexClustering to use vtkm::cont::CellSetSingleType. 2015-10-01 09:23:10 -04:00
Patricia Kroll Fasel - 090207
0e8b9b15a5 Compiler warnings. 2015-09-29 13:39:30 -06:00
Patricia Kroll Fasel - 090207
5a7b3668ee Correct for gcc and pgi compilers and CastTo. Add CellSetSingleType for output. 2015-09-29 11:20:05 -06:00
Patricia Kroll Fasel - 090207
deceb79edc Fix to work with gcc and pgi compilers. Change to use CellSetSingleType. 2015-09-28 16:23:03 -06:00
Patricia Kroll Fasel - 090207
a821310b6f Changes in CellSetExplicit for shape and numindices types. Made one Run() method
by getting point dimensions from the dataset.
2015-09-24 16:07:45 -06:00
Patricia Kroll Fasel - 090207
3e4ca9ae8f Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into tetra_uniform 2015-09-24 11:55:33 -06:00
Patricia Kroll Fasel - 090207
3e94b4295b Types for shapes and numindices changed in CellSetExplicit. 2015-09-24 11:52:38 -06:00
Patricia Kroll Fasel - 090207
c7234eedf7 Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into tetra_explicit 2015-09-24 11:10:20 -06:00
Patricia Kroll Fasel - 090207
a7f7b46169 Add 3D tetrahedralize of explicit cell set. 2015-09-24 10:56:03 -06:00
Patricia Kroll Fasel - 090207
4e92cd3f33 Tetrahedralize 2D explicit dataset first version with opengl example 2015-09-23 14:43:27 -06:00
Robert Maynard
935b3fd6b9 CellSetExplicit uses UInt8 for shape, and IdComponent for numIndices. 2015-09-23 11:17:04 -04:00
Patricia Kroll Fasel - 090207
1c19a15f51 Triangulate a 2D data set extension 2015-09-22 11:40:01 -06:00
Patricia Kroll Fasel - 090207
c2a9f184cf Fix syntax of ArrayHandleCounting usage 2015-09-21 11:55:10 -06:00
Patricia Kroll Fasel - 090207
6dd8bde6ab Merge branch 'master' into stat_histogram 2015-09-21 10:56:00 -06:00
Patricia Kroll Fasel - 090207
685b9bf7c5 Clean up uniform tetrahedralize for merge 2015-09-18 10:49:30 -06:00
Patricia Kroll Fasel - 090207
d57393d142 Fix merge problems with CMakeList files 2015-09-17 13:49:47 -06:00
Patricia Kroll Fasel - 090207
1acd09610e Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into tetra_uniform 2015-09-17 13:27:45 -06:00
Patricia Kroll Fasel - 090207
02d2eefe22 3d uniform grid to tetrahedra now includes getting actual vertex points. 2015-09-17 13:10:22 -06:00
Robert Maynard
c87e1f5e16 Merge topic 'add-gaussian-splatter'
5e72d3a8 Rename kernels directory to splatkernels to avoid confusion
7a2225cf Add Copyright text
d04e4dfa Remove c++11 constexpr keyword
ed5faf5b Fix for M_PI on windows, use vtkm::Pi()
fe284ffb Add unit test for splat kernel integral.
29001e37 Change GaussianSplatter to KernelSplatter to support other kernels
378cb17e Code cleanup, style, debug, unused vars
65d2980f Fix clang compile error, cleanup debug messages
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !193
2015-09-17 10:03:26 -04:00
Patricia Kroll Fasel - 090207
6398a6a00c Remove histogram and statistics which are in another branch 2015-09-16 11:58:30 -06:00
Patricia Kroll Fasel - 090207
6683c32a9f OpenGL example working for 3d tet uniform, serial and cuda. 2015-09-16 11:52:41 -06:00
John Biddiscombe
5e72d3a87a Rename kernels directory to splatkernels to avoid confusion 2015-09-15 19:46:53 +02:00
John Biddiscombe
7a2225cfd1 Add Copyright text 2015-09-15 12:03:09 +02:00
Kenneth Moreland
891182ee19 Add ArrayHandleIndex class.
This is the most common use case for ArrayHandleCounting, and this class
is a bit easier to use and a bit faster.
2015-09-14 22:11:09 -06:00
Patricia Kroll Fasel - 090207
22c95f102a Update tetrahedralize to output dataset 2015-09-14 14:45:59 -06:00
John Biddiscombe
fe284ffbfb Add unit test for splat kernel integral.
The test computes the integral using simpsons rule and checks
that the value is unity (+/- epsilon)
2015-09-14 21:39:43 +02:00
Patricia Kroll Fasel - 090207
73362fb4aa Use CellSet.Fill() to add all tets at one time. 2015-09-11 15:44:53 -06:00
Patricia Kroll Fasel - 090207
d40caf2703 Tetrahedralize a uniform structured grid of hexahedra. 2015-09-10 11:48:05 -06:00
Patricia Kroll Fasel - 090207
ec06d00683 Both FieldHistogram and FieldStatistics operate on point data or cell data in the
form of an ArrayHandle.  Histogram takes the number of bins and returns the bin array.
Statistics returns a structure with standard stats plus raw and central moments.
2015-09-10 11:13:08 -06:00
Sujin Philip
9a911a9761 Merge topic 'update-VertexClustering'
6fde5016 Update VertexClustering to use the new features in vtkm

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !174
2015-09-04 14:34:44 -04:00
Kenneth Moreland
68428c6487 Add test to make sure uniform coords work in topology map
Although this is labeled as a unit test, this is more of an integration
test to make sure that when a uniform point coordinate is passed as a
field to a WorkletTopologyMap from points to cells with a regular cell
set, you get the specialized VecRectilinearPointCoordinates in the
worklet argument.
2015-09-02 13:54:54 -07:00
Kenneth Moreland
c5e9ce4769 Fix compiler warnings for isosurface code 2015-09-02 13:47:48 -07:00
Sujin Philip
6fde50160b Update VertexClustering to use the new features in vtkm 2015-09-02 16:41:54 -04:00
Christopher Meyer Sewell - 188584
493ca4e0c6 Merging with master 2015-09-02 14:18:05 -06:00
Christopher Meyer Sewell - 188584
a10d1fc237 Removing unnecessary cell fields from isosurface test and example, and adding a few comments 2015-09-02 12:03:49 -06:00
Jeremy Meredith
8544fb8ca4 adding topology types to explicit cell set connectivity array accessors. 2015-09-02 12:26:37 -04:00
Jeremy Meredith
d1492cca24 Merge branch 'master' into newtopology 2015-09-01 19:46:18 -04:00
Christopher Meyer Sewell - 188584
30100e2ae8 Adding examples directory with isosurface rendering example 2015-09-01 17:09:36 -06:00
Jeremy Meredith
407d1619d0 one more warning 2015-09-01 15:06:17 -04:00
Jeremy Meredith
c9d3ae3dcf more warnings 2015-09-01 14:54:56 -04:00
Robert Maynard
9cb00d9048 Merge branch 'isosurface-for-sprint' into 'master'
Isosurface for sprint

See merge request !150
2015-08-29 09:42:21 -04:00
Robert Maynard
24d0346dce Fix warnings generated with gcc-4.8 2015-08-28 17:28:22 -04:00
Jeremy Meredith
f62f1755e7 the value after the name in the cell set constructor is dimensionality, not numcells. 2015-08-28 16:57:06 -04:00
Jeremy Meredith
8afee80e55 updating newly merged code with changes for new connectivity types. 2015-08-28 16:56:09 -04:00
Robert Maynard
69f5a39931 IsosurfaceUniformGrid can now handle non square volumes. 2015-08-28 16:48:19 -04:00
Robert Maynard
4de11a353e Update IsosurfaceUniformGrid to new coordinate system and worklet classes. 2015-08-28 16:32:17 -04:00
Robert Maynard
2fd7ce3554 IsosurfaceUniformGrid Run now templated on device adapter to execute on.
Also fixes warnings in IsosurfaceUniformGrid.
2015-08-28 16:12:21 -04:00
Christopher Meyer Sewell - 188584
d61aedd8bb Moving functors inside IsosurfaceFilterUniformGrid, and templating on DeviceAdapter 2015-08-28 16:12:21 -04:00
Christopher Meyer Sewell - 188584
b99d252dc8 Fixing some Windows build errors related to typename and a non-const array declaration 2015-08-28 16:12:21 -04:00
Christopher Meyer Sewell - 188584
f7b031f1fb First version of uniform grid isosurface using new data model and topology worklet 2015-08-28 16:12:21 -04:00
Jeremy Meredith
5d6b9bb9ac Merge branch 'master' into newtopology 2015-08-28 16:09:29 -04:00
Robert Maynard
7b185003b2 UnitTestCellAverage now properly tests 2DRegularDataSet. 2015-08-28 16:08:27 -04:00
Kenneth Moreland
89c72c9975 Update clip and external faces code to new cell shapes
The names of the cell shapes and header files changed superficially. The
check in missed the clip and external faces. Update that code.

There are also some less superficial changes that allow you to manage
cell shapes with tags. It might be worthwhile to update this code to use
that new infrastructure.
2015-08-28 12:48:00 -06:00
Jeremy Meredith
2987142fa6 adding support and tests for cell-to-point topology worklet. 2015-08-28 14:03:13 -04:00
Kenneth Moreland
827b58a8f2 Merge branch 'shape-specific-functions' into 'master'
Shape specific functions

These changes support creating methods that are specific to cell shape in worklets (issue #27).

See merge request !149
2015-08-28 13:21:21 -04:00
Kenneth Moreland
3e251de469 The CellShape fetch returns a tag rather than ID.
Previously, when you requested a CellShape in the ExecutionSignature,
you just got an ID stored in a vtkm::IdComponent. This change returns a
cell shape tag of the appropriate type (or generic if the type is not
known at compile time). This will allow functions called from the
worklet to specialize on the cell type better.
2015-08-27 16:31:06 -06:00
Kenneth Moreland
5b47354058 Rename CellType to CellShape.
We have been using the term "shape" in the cell set and connectivity
classes. To be consistent, use the term "shape" for the geometric
identify of the cell everywhere.
2015-08-27 16:25:59 -06:00
Robert Maynard
55a11c4551 Merge branch 'master' into add-external-faces
Conflicts:
	vtkm/worklet/CMakeLists.txt
	vtkm/worklet/testing/CMakeLists.txt
2015-08-27 16:40:36 -04:00
Sujin Philip
310b80e09a Fix const expression error in VS 2015-08-27 16:09:37 -04:00
Sujin Philip
cef966bc5b Add convenience class WorkletMapToplogyPointToCell 2015-08-27 15:21:19 -04:00
Sujin Philip
8530197ff1 Merge topic 'add-clip-implementation'
e3815220 Clip worklets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !130
2015-08-27 12:42:00 -04:00
Jeremy Meredith
22e6de6312 Merge branch 'newtopology' into 'master'
templating topology worklet to support mappings other than point-to-cell

This adds a FromTopology and ToTopology template type to the topology worklet, removing hard-coded types.

This is a precursor step necessary before we can add other mappings (like cell-to-point, etc.).

See merge request !140
2015-08-26 15:27:36 -04:00
Sujin Philip
e38152206a Clip worklets 2015-08-26 15:21:25 -04:00
Robert Maynard
38ed239ed0 Update ExternalFaces to the new CoordinateSystem design. 2015-08-26 08:49:17 -04:00
Robert Maynard
e583d0f7d8 Merge branch 'master' into add-external-faces 2015-08-26 08:23:26 -04:00
Kenneth Moreland
9f624f0a36 Have CoordinateSystem inherit from Field
Previously, coordinate systems in a DataSet simply pointed to field data
specifying the coordinate information (although the ability to get that
back out of the DataSet was missing). This makes sense since point
coordinates are in fact just fields with a particular semantic meaning
to them.

However, there is an issue with this approach. It turns out that there
are special representations that are very common for point coordinates
and very uncommon for other types of fields. For example, a uniform
(a.k.a. regular or image) grid has point coordinates that are easily
derived from the point index, but such fields are quite uncommon
elsewhere.

Representing this kind of structure in the Field list of a DataSet is
problematic. Either all fields have to check to see if they are this
type, which will cause an explosion of unnecessary generated code, or
you will have to actually write out the coordinates in memory, which is
really wasteful but what was done previously.

However, by storing fields representing coordinate systems in a separate
batch, we can use these special types without the stated explosion.
2015-08-25 14:38:41 -06:00
Jeremy Meredith
d1a979782c removing explicit from/to topology template types for dispatcher.
these can be obtained from the topology worklet type.
2015-08-25 15:56:24 -04:00
Jeremy Meredith
6df4c2e4f1 templating topology worklet to support mappings other than point-to-cell. 2015-08-25 15:37:53 -04:00
Robert Maynard
a23125575a Merge branch 'master' into add-external-faces 2015-08-24 16:22:35 -04:00
Sujin Philip
e2129364a4 Fix ExecutionWholeArray
The constructor for execution whole array was wrong and would result in compilation error if used. This fixes that and adds a test path for testing ExecutionWholeArray with ExecutionWholeArrayConst.
2015-08-24 14:42:22 -04:00
Robert Maynard
e84b545562 Update ExternalFaces worklet to latest dataset and worklet API. 2015-08-19 10:44:07 -04:00
Robert Maynard
f3251cc4ea Merge branch 'master' into add-external-faces
Conflicts:
	vtkm/cont/ExplicitConnectivity.h
2015-08-14 16:01:49 -04:00
Robert Maynard
d7ad9e0e90 Make sure the ExternalFaces test code is in an anonymous namespace. 2015-08-14 14:30:47 -04:00
Kenneth Moreland
6598b296a6 Remove TopologyData class.
This class was used to store a group of from field data in a topology
map. However, the fetching has been changed to use a customized class
for each type of fetch that can be optimized for the fetch type and does
not require to know the number of items in the fetch at compile time.
Thus, this class is no longer needed, so it is being removed.
2015-08-14 09:17:34 -06:00
Kenneth Moreland
f7a6946d9a Use variable Vec-like objects for topology map fetching
This change removes the requirement to specify some maximum cell length
in each of the worklets, which is basically impossible. It also makes
some of the loading more lazy, which might help reduce the number of
registers required in a worklet.
2015-08-14 09:17:13 -06:00
Kenneth Moreland
c847f0b148 Get FromIndices as unknown type.
We want to be able to get topological connections where it is difficult
to know how many values you get each time. In this change, the type of
the vector holding the from indices is determined from the connectivity
object, and the worklet does not know the type (it must be templated).

Although you do not need to specify the max number for this value set
(you still currently do for field values), we still need to change the
type for explicit sets that uses something that does not rely on the Vec
class. The cell-to-point method also needs a Vec wrapper that allows it
to shorten the vector dynamically.
2015-08-14 09:15:46 -06:00
Robert Maynard
ab59e34a2f Rename pragma header guard so it makes sense for tbb and thrust.
Boost is not the only thirdparty that we are supressing warnings for, so
make the name more generic.
2015-08-13 09:04:23 -04:00
Kenneth Moreland
42aba97728 Add in-place (in-out) arrays to worklets.
Previously, all arrays passed to worklets were designated as either
input or output. No in-place operation was permitted. This change adds
the FieldInOut tag for ControlSignature in both WorkletMapField and
WorkletMapTopology that allows you to read and write from the same
array.
2015-08-12 14:41:56 -06:00
Kenneth Moreland
1862970a0b Reintroduce explicit connectivity class for cont environment
(Re-) Add a helper structure that holds the connectivity information for
a particular topology connection (e.g. from points to cells) to make it
easier to manage connections in multiple different directions in
CellSetExplicit.

Unlike the previous version of connectivity, this structure is
considered "internal" and not exposed through the API so that
CellSetExplicit can better manage the data. Also, many of the helper
methods remain in CellSetExplicit since they were specific for point-to-

Also, CellSetExplicit has a mechanism to take an arbitrary pair of
TopologyElementTags and get the appropriate connectivity. This should
simplify adding connections in the future.
2015-08-11 12:42:34 -06:00
Brent Lessley
d06928da9b Resolved compilation errors and warnings. A single runtime error relating to ArrayHandleImplicit still exists. 2015-08-10 15:32:07 -07:00
Brent Lessley
b5ed990d85 Removed compilation errors related to ArrayHandleImplicit. 2015-08-08 12:33:15 -07:00
Brent Lessley
965d2af99b Reverted previous changed to GetFaceVertex operator() function. Commented out the connectivity printing function call on line 210 of ExplicitConnectivity.h; this change is a temporary fix to remove a Thrust compilation error. A Cuda error still occurrs when ArrayHandle subclasses are passed into the device adapter functions. 2015-08-06 14:31:35 -07:00
Brent Lessley
77ec743219 Resolved all compilation errors and warnings. Replaced the nested for-loops of the face connectivity construction with an implicit array handle invocation. 2015-08-06 14:31:35 -07:00
Brent Lessley
49eb758532 Resolved all but one of the issues from merge request #78. Currently, there is a compilation error related to new code for sorting based on face vertices, instead of hash key values. 2015-08-06 14:31:35 -07:00
Brent Lessley
365a0a2382 A working implementation of the External Faces algorithm, along with a unit test to verify correctness on a simple dataset. 2015-08-06 14:31:35 -07:00
Kenneth Moreland
63b45ad1e5 Consistently use from/to for topological links
In the CellSet and related classes, a connection was referred to by a
"from" topology element and a "to" topology element. However, in the
worklet control signature tags the elements were referred to by "src"
and "dest." To make things consistent, use "from" and "to" everywhere.
2015-08-03 10:48:50 -06:00
Kenneth Moreland
01757ea136 Change Node -> Point
Most of VTK-m follows the convention of calling the 0D topology elements
"points" (which follows the convention of VTK). However, there were
several places where they were referred to as "nodes." Make things
consistent by calling them points everywhere.

Also merged some redundant ExecutionSignature tags.
2015-08-03 10:06:59 -06:00
Kenneth Moreland
7212469d04 Roll connectivity information into CellSet in control environment
Previously there was a Connectivity* structure for both the control
environment and the execution environment. This was necessary before
because the connectivity is explicit to the from and to topology
elements, so you would get this structure from the appropriate call to
CellSet*. However, the symantics are changed so that the type of
connectivity is selected in the worklet's dispatcher. Thus, it is now
much cleaner to manage the CellSet structure in the CellSet class itself
and just have a single set of Connectivity* classes in the execution
environment.
2015-08-02 15:59:44 -06:00
Kenneth Moreland
926f04e1d4 Move ExplicitConnectivity to ConnectivityExplicit
This is more consistent with VTK-m's naming convention.

Also made some minor changes and corrections.
2015-07-31 14:18:13 -06:00
Kenneth Moreland
21b3b318ba Always disable conversion warnings when including boost header files
On one of my compile platforms, GCC was giving conversion warnings from
any boost include that was not wrapped in pragmas to disable conversion
warnings. To make things easier and more robust, I created a pair of
macros, VTKM_BOOST_PRE_INCLUDE and VTKM_BOOST_POST_INCLUDE, that should
be wrapped around any #include of a boost header file.
2015-07-30 17:40:40 -06:00
Kenneth Moreland
b8febd1c01 DataSet now holds DynamicCellSet instead of smart_ptr<CellSet>
The Invoke of the topology dispatcher is also changed to expect a
concrete cell set (which the DynamicCellSet is automatically cast to)
rather than a connectivity structure. The dispatcher calls the
GetNodeToCellConnectivity method for you. (That is currently the only
one supported.)
2015-07-28 17:33:52 -06:00
Kenneth Moreland
53d669772f Merge branch 'msvc-array-handle-fail' into 'master'
MSVC ArrayHandle fail

Fix the fact that UnitTestArrayHandle is failing on the Windows dashboards. Also fix some of the MSVC warnings.

See merge request !101
2015-07-27 18:36:11 -04:00
Kenneth Moreland
85a2545c1e Fix various MSVC warnings.
Most warnings had to do with implicit type conversions and some on
treating an integer (actually a pointer) as a boolean.
2015-07-27 15:56:04 -06:00
Kenneth Moreland
19db32f084 Conform DataSet classes to coding practices better
The most common changes were making class members uppercase and spelled
out, adding "this->" whenever a class member is used, and declare
functions and members with export macros. Also fixed some uses of int
(instead of vtkm::Id or something similar) and a bit of indentation. I
also sprinkled some const goodness over the code.

It should be noted that I had about a week delay between first making
these changes and checking them in. In the mean time Sujin also made
some similar changes, so there might be some repetative changes.
2015-07-27 12:49:42 -06:00
Robert Maynard
98d6e99275 Correct some warnings about 64bit to 32bit conversion. 2015-07-23 09:29:10 -04:00
Robert Maynard
69eb4bb46b Correct issues compiling on OSX 10.8 with CUDA 6.5
Removed the MultiParam test as we have PointElevation which does the exact
same thing.
2015-07-16 14:38:56 -04:00
Robert Maynard
4af01d305e Explicitly check against NULL to reduce windows warnings. 2015-07-15 09:48:51 -04:00
Chun-Ming Chen
9504a61411 update testing for the new modification 2015-07-02 17:06:56 -04:00
Chun-Ming Chen
f0a98855f4 Hashing id3 to Int64 for sorting 2015-07-01 00:24:45 -04:00
Kenneth Moreland
e19e0ea551 Merge branch 'mesh-simplify-changes' into 'master'
Some fixes to VertexClustering

VertexClustering previously only worked with data of a specific floating
point type (32 bit for point coordinates). Add some templates to accept
either 32 bit or 64 bit floating points for point coordintes and be a
bit more careful about implicit type conversions.

I also made some changes to conform better with the VTK-m coding
standards. The most common changes are using 2 space indentation for all
block levels, capitolizing and using camel case for all class members,
and prefixing "this->" to all use of internal class members.

See merge request !64
2015-06-29 18:14:19 -04:00
Kenneth Moreland
ba99e830ae Make sure VertexClustering grid dimensions do not exceed nDimensions
When mixing precision, it is possible for the computation to pick a grid
size greater than the requested number of dimensions. This change
ensures that you never get more dimensions than requested. (Thanks to
Chun-Ming Chen for the fix.)

The test now behaves the same way as it did before the last change.
2015-06-29 16:10:25 -06:00
Kenneth Moreland
cc8a5d35ec Some fixes to VertexClustering
VertexClustering previously only worked with data of a specific floating
point type (32 bit for point coordinates). Add some templates to accept
either 32 bit or 64 bit floating points for point coordintes and be a
bit more careful about implicit type conversions.

I also made some changes to conform better with the VTK-m coding
standards. The most common changes are using 2 space indentation for all
block levels, capitolizing and using camel case for all class members,
and prefixing "this->" to all use of internal class members.
2015-06-29 15:14:50 -06:00
Robert Maynard
99df565f85 Merge branch 'vtkm_exec_array_in' into 'master'
Implement a way to pass a portal to worklet as a parameter.

This is built ontop of the ExecutionObjectBase work, and is designed to show
other developers how they can create custom objects that are shared among
all worklets, but are passed as parameters to the worklet.

See merge request !60
2015-06-29 15:06:41 -04:00
Robert Maynard
40a2ce0645 Merge branch 'MeshSimplifyWorklets' into 'master'
Mesh simplify worklets

Vertex clustering algorithm and a AverageByKey computation are now in vtkm::worklets

See merge request !57
2015-06-29 09:49:19 -04:00
Robert Maynard
d7e85bb6ae Implement a way to pass a portal to worklet as a parameter.
This is built ontop of the ExecutionObjectBase work, and is designed to show
other developers how they can create custom objects that are shared among
all worklets, but are passed as parameters to the worklet.
2015-06-26 16:26:51 -04:00
Robert Maynard
5fa6afed2e Cleanup the worklet UnitTests. Mainly move everything into namespaces. 2015-06-26 15:52:59 -04:00
Jimmy
0fd5556cae Move DataSet related codes in VertexClustering to UnitTestVertexClustering 2015-06-25 13:16:16 -04:00
Jimmy
4220b37135 Finish testing codes for VertexClustering 2015-06-24 14:55:22 -04:00
Chun-Ming Chen
470c93fe69 move VertexClustering codes to /vtkm/cont/worklet 2015-06-24 14:55:22 -04:00
Chun-Ming Chen
71974e4cd3 Add vtkm/worklet/testing/UnitTestVertexClustering.cxx 2015-06-24 14:55:22 -04:00
Chun-Ming Chen
ebd6e43409 Added VertexClustering test 2015-06-24 14:55:22 -04:00
Robert Maynard
36c2740072 Teach DispatcherMapTopology how to do 2d and 3d scheduling.
The requirements for 2d/3d scheduling are that the input domain must be a
regularly structured grid.
2015-06-22 16:05:32 -04:00
Sujin Philip
5241cab738 Add PointElevation Worklet 2015-06-09 11:28:55 -04:00
Robert Maynard
44deb3c870 Allow creation of vtkm::cont::Field without any data.
This is needed to allow Field's to be used as output.
2015-06-08 16:14:49 -04:00
Robert Maynard
eb572169a5 Make sure each worklet test uses a different namespace.
Otherwise NVCC compiler has issues are we are breaking ODR, since it smashes
all these files into a single compilation unit.
2015-06-08 09:02:23 -04:00
Sujin Philip
0127e4d9d7 Add cell average worklet 2015-06-05 12:48:29 -04:00
Robert Maynard
73d27435f1 Merge branch 'dynamic_handles_to_worklet_warnings' 2015-06-04 13:49:28 -04:00
Robert Maynard
60e8166290 Add a simple example on how to handle multiple params to a worklet.
Mainly showing how to constrain the type for all parameters to be the
same, and to throw an error otherwise.
2015-06-04 13:12:52 -04:00
Robert Maynard
ae9914e9c8 Add full support for dynamic array handles to Topology test worklets.
Currently the topology test worklets only worked for Float32, and produced
warnings when generating the Float64 code paths, this solves this problem.
2015-06-04 13:11:49 -04:00
Robert Maynard
342a9989a5 Correct double to float conversion warnings. 2015-06-04 09:06:47 -04:00
Robert Maynard
0a433303e6 Correct headers to have the new copyright. 2015-06-03 15:06:43 -04:00
Robert Maynard
7f2ee8d050 Merge branch 'master' into datamodel-design 2015-06-03 14:36:53 -04:00
Robert Maynard
f88992e2f7 cuda can't handle invoking worklets from anonymous namespaces. 2015-06-01 17:20:02 -04:00
Sujin Philip
08f88b1cb9 Add TBB backend. 2015-06-01 13:57:37 -04:00
Robert Maynard
81450f2317 CellSetExplicit can now use different storage backends.
CellSetExplicit can now use different storage backends to allow
for cheaper representations of the data. For example a pool of triangles
can now implicit handles for shape and num indices.

This does raise the question if runtime polymorphism is the best approach
for CellSet, or if we should do some from of CRTP.
2015-06-01 09:55:53 -04:00
Robert Maynard
895a0dff6c Correct testing results for UnitTestWorkletMapTopologyExplicit.
Looking at the cell fields in MakeTestDataSet, I have computed the corrected
average values that we should expect.
2015-05-29 09:07:24 -04:00
Robert Maynard
41a22b7bfb mark variables in Topology tests as vtkmNotUsed. 2015-05-28 16:53:53 -04:00
Robert Maynard
b1dfa20d45 All test vtkm::cont::DataSets are now made on the stack.
No need to heap allocate vtkm::cont::DataSet now.
2015-05-28 15:35:19 -04:00
Robert Maynard
a7bfc99579 DataSet now holds all CellSets by shared pointer.
This clarifies the ownership semantics of the CellSets.
2015-05-28 15:30:13 -04:00
Robert Maynard
6b8e7822be The Copyright statement now has all the periods in the correct location. 2015-05-21 10:30:11 -04:00
Jeremy Meredith
8a7f0add99 removing some debug code. 2015-05-20 12:56:16 -04:00
Jeremy Meredith
019e30a263 allow requesting fields by name, and make test data set names more sensible. 2015-05-20 11:46:04 -04:00
Dave Pugmire
21d31e6548 verify results 2015-05-20 10:21:04 -04:00
Jeremy Meredith
4e36d05fac moderately substantial cleanup to fields. 2015-05-19 16:49:17 -04:00
Jeremy Meredith
a7eabbc73c wrapping returned sets of values from topology map within a new class. 2015-05-19 15:16:13 -04:00
Dave Pugmire
3e681d96f0 Merge branch 'datamodel-design' of public.kitware.com:vtkm into datamodel-design 2015-05-19 14:35:29 -04:00
Jeremy Meredith
39b1b9cc18 adding convenience methods and cleaning up explicit connectivity. 2015-05-19 14:30:41 -04:00
Dave Pugmire
65e4fa32b9 Merge branch 'datamodel-design' of public.kitware.com:vtkm into datamodel-design 2015-05-19 14:11:58 -04:00
Dave Pugmire
885ba3e36b Re-organize worklet tests, add an other test. Check for right answers. 2015-05-19 14:11:26 -04:00
Jeremy Meredith
bd4bfb175a Merge branch 'datamodel-design' of public.kitware.com:vtkm into datamodel-design 2015-05-19 13:11:17 -04:00
Jeremy Meredith
4e67adca8c moving explicit data set creation to make test data set file. 2015-05-19 13:10:56 -04:00
Dave Pugmire
a8ff5af670 check for cell set. 2015-05-19 11:17:04 -04:00
Dave Pugmire
3a4966fef3 check assert for cell set. 2015-05-18 17:12:34 -04:00
Dave Pugmire
4dd186eda6 add worklet test for regular 2015-05-18 17:08:15 -04:00
Jeremy Meredith
6816ec4293 updating reg struct usage in cell set 2015-05-15 13:15:11 -04:00
Jeremy Meredith
9768070aed fixing problems with cuda build. 2015-05-14 15:59:37 -04:00
Robert Maynard
269ac3a8af Add in the MapTopologyExplicit worklet test.
Currently only works on serial backend.
2015-05-12 15:42:48 -04:00
Robert Maynard
9f60876a0a Move the MapField testing worklets to a worklet namespace.
NVCC is unable to handle finding the worklets when they are in an anonymous
namespace. It only looks at the the anonymous namespaces included by the
files that device code uses, and misses our anon namespace. Moving to a named
namespace solves these issues.
2015-01-19 14:25:54 -05:00
Robert Maynard
3e8ac22fe6 Allow worklet tests to be built for the cuda device adapter. 2014-12-19 13:47:28 -05:00
Kenneth Moreland
4ab4dc9cf2 Use test_equal instead of == for comparing numbers in exec worklets.
A couple of tests were failing with the Intel compiler due to
imprecision in comparing floating point values.

Also snuck in some minor documentation fixes in a comment for
FunctionInterface.
2014-11-12 08:53:03 -07:00
Kenneth Moreland
6b1db2cf04 Check value type in Invoke input arrays.
Instead of just checking that a dispatcher's Invoke input is an
ArrayHandle, also check that the ValueType of the ArrayHandle is
compatible with the types of the worklet operator. This is done by
adding a template argument to the ControlSignature tags that is a type
list tag that gets passed to the type check.
2014-10-22 16:51:42 -06:00
Kenneth Moreland
80809a8f0f Add DispatcherMapField.
This is a simple version of a dispatcher, but an important one.

Note that there is an issue brought up with UnitTestWorkletMapField in
that there needs to be better ways to specify worklet argument types.
2014-10-21 13:10:00 -06:00