Commit Graph

38 Commits

Author SHA1 Message Date
Kitware Robot
4ade5f5770 clang-format: apply to the entire tree 2017-05-25 07:51:37 -04:00
Robert Maynard
5566afdd8d Allow MarchingCubes to handle multiple iso-contour values. 2017-03-16 11:49:20 -04:00
Tom Fogal
55be1fcbb2 examples: ensure cleanup occurs before main ends.
Else the implicit context in the CUDA driver may destroy itself
before the destructors for globals/statics run, and we could try
to e.g. cudaFree without a valid context.
2017-02-15 10:32:20 -08:00
Robert Maynard
e415f55b6f Update the examples to work with the new usage requirements 2017-01-27 10:03:53 -05: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
Kenneth Moreland
d1d7ac54a0 Add GLUT component to find_package(VTKm)
This makes it easier to use VTK-m with GLUT. It also makes it more
consistent with GLFW, GLEW, and other support libraries.
2016-10-03 17:34:13 -06:00
Robert Maynard
4521403fd2 Examples now correctly request the optional CUDA component 2016-09-14 15:29:04 -04:00
Kenneth Moreland
893f3115f2 Fix precision warnings when FloatDefault is 64 bit
When VTKm_USE_DOUBLE_PRECISION is on (not the default), then
vtkm::FloatDefault is set to 64 bit values. There was some code that was
coded for 32 bit and never checked for 64 bit (on all compilers).
2016-08-26 09:33:37 -06:00
Kenneth Moreland
866c617cbf Fix config issues with headers and libraries
There were a couple of places where the configure scripts did not add
either includes to VTKm_INCLUDE_DIRS or libraries to VTKm_LIBRARIES.

The biggest offender was when the examples used find_package to load the
VTK-m configuration it needed. find_package cleared out the includes and
libraries, but it did not clear out the VTKm_<COMPONENT>_FOUND
variables. Normally, these variables would not be set before
find_package is called, but in this case the examples were called after
some partial configuration. I got around this issue by clearing out all
the *_FOUND variables in VTKmConfig.cmake.
2016-08-23 14:07:38 -06:00
Robert Maynard
88ce3f23ae Examples now call find_package(VTKm)
The examples are now written so they can be copied out of the vtk-m
source and still build properly. This will help new users / developers
learn how to build projects that use VTK-m.
2016-08-22 14:03:16 -04:00
Robert Maynard
4ca6ce2ad6 nvcc doesn't have troubles with boost shared_ptr optimizations 2016-07-19 13:26:23 -04:00
Kenneth Moreland
7ff20c9230 Fix includes for CUDA builds
The CMake CUDA build targets do not respect the
target_include_directories (yet?). Instead, add the necessary includes
to cuda_include_directories().
2016-06-22 12:53:23 -06:00
Kenneth Moreland
13ee8bc190 Fix several issues with making sure all includes are set
Make everything consistent with new builds.
2016-06-21 18:03:29 -06:00
Kenneth Moreland
a8169fbf61 Make sure all source files are declared in the examples
For header files, this only adds the file to IDE file lists, which is
convenient but not critical. However, the test did find a ligit error in
the hello_world example where the TBB build was actually using the
serial device adapter.
2016-06-02 10:24:21 -06:00
Kenneth Moreland
b446abba37 Update examples to filter interface changes. 2016-05-06 15:03:50 -06:00
Jeremy Meredith
d0c490dccb found more uses of field::order to remove. 2016-03-23 12:57:05 -04:00
Kenneth Moreland
f81e8c642f Fix example that was using the old interface to VTKDataSetWriter
As a bonus, fix a compiler warning about an unused typedef.
2016-03-17 09:13:25 -06:00
Robert Maynard
8e4a47ef57 Update IsosurfaceUniformGrid to use the marching cubes filter.
This way we have an example of how to use the filter code.
2016-03-14 08:39:17 -04:00
Robert Maynard
ad4f6c6485 All examples now use the proper CMake CUDA found variable. 2016-02-22 11:25:15 -05:00
Robert Maynard
ee368d0d68 Do not add c++ compiler optimizations to all compilers, but on a target basis.
As reported in Issue #54 the add_compile_options pollutes the global compile
flags. Instead we provided cmake flags for people to use.
2016-01-25 14:38:06 -05:00
Kenneth Moreland
ed43dad6ca Simplify and unify cast interface.
Previously, DynamicArrayHandle and DynamicCellSet had slightly different
interfaces to their CastTo feature. It was a bit confusing and not all
that easy to use.

This change simplifies and unifies them by making each class have a single
CopyTo method that takes a reference to a cast object (an ArrayHandle or
CellSet, respectively) and fills that object with the data contained if
the cast is successfull. This interface gets around having to declare
strange types.

Each object also has a Cast method that has to have a template parameter
specified and returns a reference of that type (if possible).

In addition, the old behavior is preserved for DynamicArrayHandle (but
not DynamicCellSet). To avoid confusion, the name of that cast method is
CastToTypeStorage. However, the method was chaned to not take parameters
to make it consistent with the other Cast method.

Also, the IsType methods have been modified to reflect changes in
cast/copy. IsType now no longer takes arguments. However, an alternate
IsSameType does the same thing but does take an argument.
2016-01-18 15:58:04 -07:00
Robert Maynard
f5f9939f26 Update all of vtkm to understand it can only identify as one compiler. 2016-01-12 11:05:40 -05:00
Robert Maynard
c70da5fc23 Extend vtkm::DeviceAdapterTraits to include a unique numeric identifier.
Previously each device adapter only had a unique string name. This was
not the best when it came to developing data structures to track the status
of a given device at runtime.

This adds in a unique numeric identifier to each device adapter. This will
allow classes to easily create bitmasks / lookup tables for the validity of
devices.
2015-12-16 11:18:52 -05:00
Robert Maynard
7d249e8996 Move DeviceAdapterTraits into vtkm::cont as they are user API.
When writing multiple backend code users of vtkm need to use the
DeviceAdapterTraits classes, so therefore we should move them to vtkm::cont
to signify this.
2015-12-11 09:52:18 -05:00
T.J. Corona
e14dba7ed4 Use vtkm::Float32 with OpenGL, not vtkm::FloatDefault.
When vtkm is built with VTKm_USE_DOUBLE_PRECISION, the IsosurfaceUniformGrid
example would not compile. Now it does.
2015-12-03 15:02:41 -05:00
T.J. Corona
a5ae4127e0 Remove IsosurfaceUniformGrid. 2015-12-02 15:11:56 -05:00
Kenneth Moreland
fac5d79a52 Remove direct use of TBB_LIBRARIES and TBB_INCLUDE_DIRS
Instead, use VTKm_LIBRARIES and VTKm_INCLUDE_DIRS where the configuration
stores all necessary libraries and include directories.
2015-11-12 14:34:31 -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
Sujin Philip
1b8fe17f1b Fix for several warnings 2015-11-03 09:11:38 -05:00
Robert Maynard
91a09c8ba2 Remove unneeded cmake code from the examples.
This is needed as it allows the policies specified in the root of
vtk-m to propagate properly to the examples. When CMake
sees a cmake_minimum_required command it resets all policy flags.
2015-10-21 10:27:21 -04:00
Robert Maynard
dda098e80f Suppress Deprecation warnings about glut in the examples. 2015-09-23 09:00:51 -04:00
Robert Maynard
46dc67c336 Suppress warnings from examples. 2015-09-21 14:17:25 -04:00
Robert Maynard
c6fa4aa326 Remove unused variables. 2015-09-18 11:40:32 -04:00
Robert Maynard
83f164daaa Update isosurface to know about ArrayHandleCounting step parameter. 2015-09-17 14:19:18 -04:00
Robert Maynard
319303564c Correct warnings in the isosurface example. 2015-09-17 14:19:18 -04:00
Robert Maynard
9c3ff00b6e Switch over to a simpler way to specify the vtkm backend. 2015-09-16 13:16:25 -04:00
Robert Maynard
86ef09acd9 Update Isosurface Example to properly use the correct device adapter. 2015-09-15 14:18:36 -04:00
Robert Maynard
5e5e307939 Move IsoSurface example to its own directory. 2015-09-03 16:05:21 -04:00