9cb98f85 Doxygen disable showing full paths for files
c1f1f3cb Add CONTRIBUTING.md to the doxygen page
feaa1450 Make VTK-m inheritance diagrams look like VTK's
3f42642d Use Markdown readme as mainpage for doxygen.
c09e88d2 Improve the overall doxygen content for vtk-m.
ccc8455e First initial pass at cleaning up the doxygen generation for vtkm
41fbff90 Ignore whitespace in markdown files as they mean something
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !825
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
8c5129fa Saving pnms with VS2015 converts LF into CRLF unless the file is opened as binary.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !826
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.
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.
33ebf0aa simpler method of scaling epsilon based on primitive AABB
c2ffa665 Adding scaled epsilon to bounding boxes to handle floating point edge cases
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !821
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
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.
ce2c2910 removing debug variable
0498f482 Fixing incorrect logic when sampling the upper edge of a cell that is on the data set boundry
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !817
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
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).
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.