Commit Graph

123 Commits

Author SHA1 Message Date
Brent Lessley
b5ed990d85 Removed compilation errors related to ArrayHandleImplicit. 2015-08-08 12:33:15 -07:00
Brent Lessley
12e9271d8b See previous commit description 2015-08-06 14:32:31 -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
9ae2957fee Changed the export macro of the GetFaceVertex operator() to support both execution and control environment function calls. 2015-08-06 14:31:35 -07:00
Brent Lessley
eac36c1fcf Revised the GetFaceVertex functor to accept and use an execution const portal, instead of a control environment const portal. This change is necessary for proper Cuda device adapter functionality. 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
Robert Maynard
bae6ff7f55 Merge branch 'introduce_binary_and_unary_operators' into 'master'
Introduce binary and unary operators

See merge request !94
2015-08-06 15:14:28 -04:00
Robert Maynard
f20b1ea99a Add vtkm/BinaryPredicates header.
Currently includes the following predicates:
  - Equal
  - NotEqual
  - SortLess
  - SortGreater
  - LogicalAnd
  - LogicalOr
2015-08-04 16:55:53 -04: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
0aba1b080e Merge branch 'reduce_dynamic_handle_compilation_size' into 'master'
Remove the usage of enable_if as return type to reduce binary size.

Using enable_if/disable_if as a return type has a negative impact on
binary size compared to use a boost::true/false_type as a method parameter.

For comparison the WorkletTests_TBB sees a 6-7% reduction in binary size when
compiled with O3.

Origin WorkletTests_TBB size details:
__TEXT  __DATA  __OBJC  others  dec hex
2363392 49152 0 4297793536  4300206080  1004ff000

Updated WorkletTests_TBB size details:
__TEXT  __DATA  __OBJC  others  dec hex
2215936 49152 0 4297568256  4299833344  1004a4000

See merge request !90
2015-07-22 08:30:56 -04:00
Robert Maynard
4156130ee8 Remove the usage of enable_if from method signatures to reduce binary size.
Using enable_if/disable_if as a return type has a negative impact on
binary size compared to use a boost::true/false_type as a method parameter.

For comparison the WorkletTests_TBB sees a 6-7% reduction in binary size when
compiled with O3.

Origin WorkletTests_TBB size details:
__TEXT  __DATA  __OBJC  others  dec hex
2363392 49152 0 4297793536  4300206080  1004ff000

Updated WorkletTests_TBB size details:
__TEXT  __DATA  __OBJC  others  dec hex
2215936 49152 0 4297568256  4299833344  1004a4000
2015-07-21 15:05:02 -04:00
Sujin Philip
6e16591ca3 Merge branch 'add-doxygen-support' into 'master'
Initial support for generating documentation using Doxygen

See merge request !89
2015-07-20 11:42:30 -04:00
Sujin Philip
1a9e8d1e3d Initial support for generating documentation using Doxygen 2015-07-17 15:35:59 -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
Robert Maynard
b40db1db1f Cleanup the code to make it easier to read. 2015-07-15 09:48:37 -04:00
Chun-Ming Chen
a6a29158da Member variables should start with an uppercase letter 2015-07-08 10:00:48 -04:00
Chun-Ming Chen
9504a61411 update testing for the new modification 2015-07-02 17:06:56 -04:00
Chun-Ming Chen
14d1610a0b Sort triangle point ids so that the same triangle will have the same signature 2015-07-02 12:58:26 -04:00
Chun-Ming Chen
f0a98855f4 Hashing id3 to Int64 for sorting 2015-07-01 00:24:45 -04:00
Chun-Ming Chen
b9f8544d4e Remove copy() before sort() 2015-06-30 15:29:37 -04:00
Chun-Ming Chen
0c69960799 Move the definition of an arrayhandle out of worklet 2015-06-30 12:54:58 -04:00
Chun-Ming Chen
63e4ae5acc use vtkm::Id as the ArrayHandle size input type 2015-06-30 12:48:56 -04:00
Chun-Ming Chen
03ef13eaaf release resources during process 2015-06-30 12:39:24 -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
Chun-Ming Chen
00382a3b8b fix warning: && with || 2015-06-25 15:33:25 -04:00
Jimmy
0fd5556cae Move DataSet related codes in VertexClustering to UnitTestVertexClustering 2015-06-25 13:16:16 -04:00
Jimmy
05b550b574 change double to vtkm::Float64 2015-06-25 11:46:28 -04:00
Jimmy
7d1e3f8b1d set the invlid_id to -1, so the Id3Less will have to take care of this. 2015-06-25 11:43:29 -04:00
Jimmy
e234f29148 remove vc_debug 2015-06-25 10:52:02 -04:00
Jimmy
314c1b9da2 remove if 0 blocks in averageByKey 2015-06-25 10:38:34 -04:00
Jimmy
a5a4fb36ad remove internal namespace to expose AverageByKey 2015-06-25 10:37:11 -04:00
Jimmy
03823d96a1 Fix VertexClustering and missing iteratortype in ArrayHandleImplicit.h for CUDA 2015-06-24 16:35:11 -04:00
Jimmy
73564d7a2c Fix VortexClustering for thrust backend (partially) 2015-06-24 15:52:56 -04:00
Jimmy
3c25024781 hide debug / benchmark outputs 2015-06-24 15:13: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