Commit Graph

1896 Commits

Author SHA1 Message Date
Kenneth Moreland
fa3e43fbaa Change vtkm::rendering::RenderSurface to Canvas
The word surface is more often used for something like a polygonal mesh,
so this name is quite confusing. Canvas is consistent with a
conventional name in GUI widget APIs.
2016-06-02 16:04:13 -06:00
Kenneth Moreland
eb9288cb1a Change vtkm::rendering::Window to View
The rendering classes do not actually manage windows, and window was not
descriptive of what this class was doing. We decided that the class was
mostly analogous to what we call a "view" in ParaView.
2016-06-02 15:43:40 -06:00
Kenneth Moreland
f4bf723cdf Change vtkm::rendering::Plot to Actor
This name was chosen to reflect the analogous name in VTK.
2016-06-02 13:49:49 -06:00
Kenneth Moreland
9fc86890eb Change vtkm::rendering::SceneRenderer* to Mapper*
This name was chosen to reflect the analogous name in VTK.
2016-06-02 13:41:14 -06:00
Kenneth Moreland
f66d72c72d Merge branch 'installed-files' into 'master'
Make sure all header files are listed with build

This should help ensure that all files are properly installed.

See merge request !436
2016-06-02 15:21:43 -04:00
Kenneth Moreland
1934049df9 Change vtkm::rendering::View to Camera 2016-06-02 13:04:01 -06:00
Kenneth Moreland
fe8654d7eb Add export macros to splat kernel methods
Not having them could cause compiler issues.
2016-06-02 12:30:37 -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
caef882e9d List splatter worklet header files in build files 2016-06-02 10:24:21 -06:00
Kenneth Moreland
7f005562ac Make all benchmarking sources listed in build
The benchmarking header files were not listed. Not a huge deal since
these files do not need to be installed, but they should be listed
anyway. Changed the vtkm_save_benchmarks CMake macro to be able to list
headers.

Also moved everything from BenchmarkDeviceAdapter.h to
BenchmarkDeviceAdapter.cxx. Since this code shouldn't need to be
included by anything except this benchmark, there is no need to have it
in a header file. Plus, the build changes would mean that any change in
the header (where most of the source was) could cause all code in this
directory to recompile. I do not want to set that precedent.
2016-06-02 10:24:21 -06:00
Kenneth Moreland
4ae3a20dfc Add test to check that all source files are part of the build system
The test is a simple CMake script that finds all files in the build
directory with certain extensions (.h, .cxx, etc.) and makes sure that
the filename is listed somewhere in the CMakeLists.txt file of the same
directory. If the filename is listed in the CMakeLists.txt file, then
there is a good chance it is being addressed by the build.

This should help catch when header files are not being installed. It also
should help verify that test builds are being done on all files. It will
also highlight dead source files.
2016-06-02 10:23:37 -06:00
Kenneth Moreland
985cb971ea Merge branch 'install_missing_vtkm_filter_header' into 'master'
delete the vtkm::filter::FieldTypes header.



See merge request !434
2016-06-02 11:29:28 -04:00
Kenneth Moreland
0e114bb14d Merge branch 'annotation-compile-issues' into 'master'
Fix minor compile issues with font classes



See merge request !435
2016-06-01 18:53:10 -04:00
Kenneth Moreland
a28432d737 Fix some compile warnings
These compile warnings include implicit conversion from signed to
unsigned, a shadowed variable, and an unused static function.
2016-06-01 15:16:13 -06:00
Kenneth Moreland
bc979013e0 Use VTK-m's OpenGLHeaders.h instead of GL/gl.h
Not all systems put their OpenGL headers in a directory named GL. (In
particular, OSX decides to be different.) The vtkm/rendering/internal/
OpenGLHeaders.h header takes care of including the OpenGL header on all
platforms.
2016-06-01 15:16:13 -06:00
Kenneth Moreland
7154ba2968 Add new rendering files to CMakeLists.txt
This is required for installing the files. It is also useful for
developers because it adds the files to IDEs and creates test builds for
the header files. Those test builds highlighted some missing includes.
2016-06-01 15:15:18 -06:00
Robert Maynard
e3e94d102e delete the vtkm::filter::FieldTypes header.
The header is used by nothing, and contains an old version of
the FieldMetadata class.
2016-06-01 16:45:09 -04:00
Jeremy Meredith
298b9d2e6c Merge branch 'annot6' into 'master'
Adding text annotations to rendering

This adds bitmap font support and two types of text annotations - screen space text and world-space billboard text - as well as enables the labels in the axes.

See merge request !423
2016-06-01 14:35:06 -04:00
Jeremy Meredith
6c8045bdc3 unifying 2d and 3d scenes 2016-06-01 13:51:37 -04:00
Jeremy Meredith
501f34c27a cleanup and style 2016-06-01 13:37:03 -04:00
Kenneth Moreland
3a8c9421bd Merge branch 'reader-field-names' into 'master'
Reader should name fields only with their field name

The Legacy VTK file reader was augmenting all the field names with the
type of field. For example, if you had a point scalar field named
"elevation", it would be loaded as "SCALARS:elevation".

This is bad for two reasons. First, it is downright confusing. A tool
like ParaView or VisIt will tell me the field is named "elevation", but
VTK-m will report that field does not exist. Second, the writer does not
follow the same convention. Thus, if you have a loop of read file,
modify, write file, you could end up with fields named
"SCALARS:SCALARS:SCALARS:...".

See merge request !432
2016-06-01 09:27:27 -04:00
Kenneth Moreland
c202de14fc Merge branch 'fix-endian-flip' into 'master'
Fix endian flip when reading vector arrays

The legacy VTK file reader has a condition to flip the bytes in values
when the endian does not match the current system. The problem was that
when reading in a vector, the flip was happening on all bytes of a Vec.
This caused the last components of the Vec to be flipped with the first
components. Instead, we want each component to be flipped independently.

See merge request !433
2016-06-01 09:26:44 -04:00
Kenneth Moreland
2e285c3409 Fix endian flip when reading vector arrays
The legacy VTK file reader has a condition to flip the bytes in values
when the endian does not match the current system. The problem was that
when reading in a vector, the flip was happening on all bytes of a Vec.
This caused the last components of the Vec to be flipped with the first
components. Instead, we want each component to be flipped independently.
2016-05-31 17:36:08 -06:00
Jeremy Meredith
dd27e32cfc Merge branch 'master' into annot6
Conflicts:
	vtkm/rendering/RenderSurfaceGL.h
	vtkm/rendering/Window.h
2016-05-31 15:32:56 -04:00
Kenneth Moreland
0d5885c0a9 Name fields only with their field name
The Legacy VTK file reader was augmenting all the field names with the
type of field. For example, if you had a point scalar field named
"elevation", it would be loaded as "SCALARS:elevation".

This is bad for two reasons. First, it is downright confusing. A tool
like ParaView or VisIt will tell me the field is named "elevation", but
VTK-m will report that field does not exist. Second, the writer does not
follow the same convention. Thus, if you have a loop of read file,
modify, write file, you could end up with fields named
"SCALARS:SCALARS:SCALARS:...".
2016-05-31 12:57:44 -06:00
Robert Maynard
86efb75c67 Merge topic 'use_PointCount_over_FromCount'
317a48d4 Prefer using PointCount instead of FromCount in cell based worklets.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !431
2016-05-31 11:53:19 -04:00
Kenneth Moreland
13e574b0f4 Merge branch 'bounds-helper' into 'master'
Create Range and Bounds helper classes



See merge request !429
2016-05-31 11:34:49 -04:00
Robert Maynard
317a48d42f Prefer using PointCount instead of FromCount in cell based worklets.
The PointCount name is far more descriptive and helps readers understand
what the content of the variable is.
2016-05-31 10:42:39 -04:00
Kenneth Moreland
507222c489 Change rendering classes to use Range and Bounds
In addition to this being necessary to be compatible with recent
changes, it makes for cleaner declaration of these values.
2016-05-29 18:49:37 -06:00
Kenneth Moreland
b5415169e2 Change Field and related methods to use Range and Bounds
First, be more explicit when we mean a range of values in a field or a
spacial bounds. Use the Range and Bounds structs in Field and
CoordinateSystem to make all of this more clear (and reduce a bit of
code as well).
2016-05-29 18:49:36 -06:00
Kenneth Moreland
d75857d0bc Add Bounds struct
This is a simple struct that defines min and max values over X, Y, and Z
to define an axis-aligned bounding box.
2016-05-29 18:49:36 -06:00
Kenneth Moreland
b358fcb19f Add Range struct
This is a simple struct that has a min and max scalar value to represent
a range of scalar values. It also comes with several helper methods.
2016-05-29 18:49:36 -06:00
Kenneth Moreland
a338ac52a2 Merge branch 'missing-export' into 'master'
Add missing export macro to VecTraits

The VTKM_EXEC_CONT_EXPORT macro was missing from the
GetNumberOfComponents method in the VecTraits class for base C types.

See merge request !430
2016-05-29 20:48:26 -04:00
Kenneth Moreland
bcc5987858 Add missing export macro to VecTraits.
The VTKM_EXEC_CONT_EXPORT macro was missing from the
GetNumberOfComponents method in the VecTraits class for base C types.
2016-05-29 10:22:30 -06:00
Robert Maynard
f1146f7474 Merge topic 'simplify_bounds_computation'
06a06b52 Simplify the bounds computation code to reduce library size.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !426
2016-05-26 15:51:21 -04:00
Robert Maynard
5c7adbd208 Merge topic 'add_policies_to_convert_to_certain_cell_types'
5e200528 Allow filters to have finer control on what cell sets they support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !428
2016-05-26 15:49:14 -04:00
Robert Maynard
0908a91fc9 Merge topic 'support_explicit_instantiation'
6da2dc0c ArrayPortalFromIterators now can be explicitly instantiated.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !427
2016-05-26 14:28:26 -04:00
Robert Maynard
06a06b529d Simplify the bounds computation code to reduce library size.
The previous version of the bounds code required once less pass across
the data, but significantly increase the size of the resulting library:

Data for VTK-VTK-m interop:
  - 7k more symbol table entries
  - 1.5MB larger library

Because of the significant savings we need to use a less efficient
implementation that minimized the code size.
2016-05-26 13:48:30 -04:00
Robert Maynard
5e200528ee Allow filters to have finer control on what cell sets they support
Certain algorithms like VertexClustering only work on certain cellset types.
It is pointless to generate the code paths for structured data cell sets,
when the algorithm can't operate on those dataset types.
2016-05-26 11:32:35 -04:00
Kenneth Moreland
4d3af52a8c Merge branch 'mac-gl' into 'master'
Support OpenGL on Mac OSX

More fixes I needed to compile the OpenGL rendering examples on my OS X system.

See merge request !425
2016-05-26 09:41:25 -04:00
Robert Maynard
6da2dc0cda ArrayPortalFromIterators now can be explicitly instantiated.
Template instantiation is useful because when you are creating object files, as
uninstantiated template definitions are not are not added. Fully supporting
explicit instantiation like ITK does will require more code changes, but
this is a very minor step towards that goal.
2016-05-26 08:23:27 -04:00
Kenneth Moreland
32efc36c1c Update Rendering example to latest rendering module changes 2016-05-25 15:34:57 -06:00
Kenneth Moreland
db6d61cadb Modify build to handle non-X-based OpenGL
Specifically, I am trying to compile the code on OSX. OSX uses OpenGL
libraries in a different directory than most other installs (including
X11) and does not generally support GLX. These changes remove the files
that support GLX in systems that do not support it.

I also added several header files to the CMake lists that were not there
but should have been.
2016-05-25 15:34:14 -06:00
Kenneth Moreland
c028329222 Merge branch 'rendering-warnings-style' into 'master'
Fix warnings and style in rendering module

Fix some coding style issues and a few warnings in the rendering code.

See merge request !424
2016-05-25 16:31:00 -04:00
Robert Maynard
a3d27a644c Merge topic 'rename_topology_tag'
8dfe8cd3 Rename ControlSignature tag TopologyIn to CellSetIn.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !416
2016-05-25 14:08:09 -04:00
Kenneth Moreland
fcbfacb4f0 Better conform Plot.h to VTK-m style
Principally, the indentation style was changed to 2 spaces and the
member variables of classes were changed to start with a capitol.
2016-05-24 14:54:20 -06:00
Kenneth Moreland
3456fc1455 Better conform Scene.h to VTK-m style
Principally, the indentation style was changed to 2 spaces and the
member variables of classes were changed to start with a capitol.
2016-05-24 14:46:12 -06:00
Kenneth Moreland
73a617db59 Fix warning about member init order and conform to style in Window.h
Made several changes to Window.h that fix the following:

* Fix warning about the member functions being initialized out of order
* Conform indentation to be 2 spaces
* Conform member functions to be capitolized
* Conform the use of "this->" when referencing class members
* Conform using full namespace when using classes
* Be more descriptive in some variable names
* Alphabetize includes
2016-05-24 14:36:25 -06:00
Jeremy Meredith
0dab70990b adding mention of SIL Open Font License. 2016-05-24 11:45:23 -04:00
Jeremy Meredith
b158ac2c11 removing debug code 2016-05-23 14:02:11 -04:00