Commit Graph

39 Commits

Author SHA1 Message Date
Kenneth Moreland
1d5a4d470d Update ExternalFaces worklet to use hashes
Our experiments have shown using hashes and then resolving collisions to
be faster than trying to sort by Ids.
2017-08-24 12:11:45 -06:00
Kenneth Moreland
8e72dc738a Add method for getting a cononical face id
The cononical face id is stored in a vtkm::Id3 (independent of the
actual number of points in the face).
2017-08-17 15:48:47 -06:00
Thomas J. Otahal
147247e8a5 Code formatting changes and compiler warning fixes. 2017-08-03 14:08:06 -06:00
Thomas J. Otahal
a3fd135b97 Fix errors and warnings on Mac and Windows 2017-08-03 11:59:53 -06:00
Thomas J. Otahal
347af49722 Poly Data for External Faces
The external faces filter and worklet now pass input
PolyData (0D, 1D, and 2D) cells to the output. The external
faces filter has a flag to control this output (PassPolyData).
Added tests to the external faces filter and worklet.
2017-08-03 09:19:22 -06:00
Thomas J. Otahal
aeed7a07af Cell variables for External Faces
The External Faces filter and worklet now pass cell variables
through to the output data.
2017-07-31 08:06:33 -06:00
Thomas J. Otahal
ab25c160ed External Faces Uniform and Rectilear grids
Added new Run method to External Faces worklet to support
uniform and rectilinear grids, taking advantage of the grids
regular strucuture to speed-up computation.

Changed External Faces filter to call the proper Run method
in the External Faces worklet based on cell set type.

Added tests for uniform and rectilinear grids to External Faces
filter unit test.
2017-07-19 13:35:31 -06:00
Robert Maynard
5dd346007b Respect VTK-m convention of parameters all or nothing on a line
clang-format BinPack settings have been disabled to make sure that the
VTK-m style guideline is obeyed.
2017-05-26 13:53:28 -04:00
Kitware Robot
4ade5f5770 clang-format: apply to the entire tree 2017-05-25 07:51:37 -04:00
Kitware Robot
efbde1d54b clang-format: sort include directives 2017-05-18 12:59:33 -04: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
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
Kenneth Moreland
16970b571e Update ExternalFaces to use common face tables 2016-12-05 22:48:45 -07:00
Kenneth Moreland
fdaccc22db Remove exports for header-only functions/methods
Change the VTKM_CONT_EXPORT to VTKM_CONT. (Likewise for EXEC and
EXEC_CONT.) Remove the inline from these macros so that they can be
applied to everything, including implementations in a library.

Because inline is not declared in these modifies, you have to add the
keyword to functions and methods where the implementation is not inlined
in the class.
2016-11-15 22:22:13 -07:00
Robert Maynard
f31d6c2258 Refactor vtkm::Types to be concise and move math helpers out of internal.
I have verified that the optimized assembly for Vec<3> and Vec<4> are consistent
with what we generated before.
2016-10-28 14:57:16 -04:00
Robert Maynard
8dfe8cd385 Rename ControlSignature tag TopologyIn to CellSetIn. 2016-05-17 15:07:08 -04:00
Robert Maynard
956cedfd17 Turn off the benchmarking ExternalsFaces. 2016-01-14 15:56:10 -05:00
Robert Maynard
dbee92752e ExternalFaces worklet is not templated on device adapter.
This should help reduce the amount of code generation, when building the
ExternalFaces worklet for all device adapters.
2016-01-14 15:55:12 -05:00
Robert Maynard
f34119b62e Clarify the name of worklet for point to cell operations. 2015-10-22 18:46:00 -04:00
Robert Maynard
19cebccf11 Correct issues that buildbot brought up in the code. 2015-09-24 10:15:44 -04:00
Robert Maynard
935b3fd6b9 CellSetExplicit uses UInt8 for shape, and IdComponent for numIndices. 2015-09-23 11:17:04 -04: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
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
Robert Maynard
c4ede29b2c Removed uneeded typedef from ExternalFaces.h 2015-08-27 16:46:35 -04:00
Robert Maynard
22172a227b Update to handle the new WorkletMapTopologyPointToCell type. 2015-08-27 16:43:32 -04:00
Robert Maynard
46be998e2c Update ExternalFaces to use the new pseudo exec vec classes. 2015-08-25 09:27:11 -04:00
Robert Maynard
e84b545562 Update ExternalFaces worklet to latest dataset and worklet API. 2015-08-19 10:44:07 -04:00
Robert Maynard
5f88859794 Cleanup includes in ExternalFaces. 2015-08-17 14:42:58 -04:00
Robert Maynard
86fe9acdff Fix the indentation in ExternalFaces. 2015-08-14 15:47:25 -04:00
Robert Maynard
88a5184814 Remove warning about 64bit to 32bit data loss in ExternalFaces.
Index table into array should be done with type vtkm::IdComponent not
vtkm::Id
2015-08-14 14:41:01 -04:00
Robert Maynard
c8d19d1f3f Update ExternalFaces to invoke using CellSetExplicit.
ExternalFaces was still invoking using the ConnectivityExplicit which
is the 'old' way of doing that.
2015-08-14 14:40:10 -04:00
Brent Lessley
8258ec486c Adjusted the export modifier of the GetConnIndex operator function. Runtime exception still occurs for a bad type. 2015-08-12 11:24:53 -07:00
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
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