Fixing libproj4.

This is required by Geovis/Core. vtkGeoProjection and vtkGeotransfrom can now be compiled.

Change-Id: I8e4c82a8a8faaedb375f7b9b52a078fe30873138
Add single, double, and data array functor dispatch classes.

The dispatcher provides the ability to do multiple dispatching based
on a runtime polymorphism. This allows mapping to compile time
polymorphism.
The double dispatcher allows you to call a functor
based on the types of two objects allowing you to call specialized
implementations.
The data array dispatch is a replacement for the vtkTemplateMacro
offering an object based way that is far easier to read and use.

Change-Id: If281ddc1ac803c0ed234e33c9cc0bf4c090fca71
Avoid SegFault from vtkBalloonWidget::SetEnabled at destruction:

Test if the Interactor is still linked with the RenderWindow when getting
the Renderers.

Change-Id: I4ae789a340fdc8677cbedb768f065420b3729a7b
FIX:Replaced geometryfilter datasetsurfacefilter for composite data

vtkGeometryFilter does not work for input composite datasets that are a
combination of 0D, 1D, 2D cells. It does not account for the polydata
ordering. vtkDataSetSurfaceFilter circumvents this problem.

Change-Id: Iacb50dc2f4e21cedfec88de9cafe3fe931ea269a
DOC: Add a note about the input and output range for HSVToRGB.

Change-Id: I1cdbc491186cae97345442d6c0029e52bf308916
Capture GL2PS special props in the renderer instead of renderwindow.

Previously, all props that needed special handling by the GL2PS
exporter were captured in the RenderWindow, and then renderered in
each renderer separately. This patch associates each prop with its
respective renderer so that multiple renderers can be handled correctly.

Change-Id: I81f365b6a57ce4144f837b64d8b494fd964add7b
Clean up some compiler warnings.

Shadowed parameters and signed/unsigned comparisons.

Change-Id: I0e167f346409a40a9b03faf1c9e41d5b1a62897f
Clean up GL2PS exporter.

This patch moves much of the messy logic in WriteData to protected
helper functions, replaces if/else if chains with switch statements,
and gets rid of early declarations.

The code to draw text on the overlay plane from
vtkTextActors/vtkTextMappers is combined and updated to work with
the correct renderer's transformation applied.

Change-Id: Idd802e12134d8038cab8f732f8e5d31058bb2425
Add testcase for multirenderer export.

Verify that the output of multiple renderers is valid (needed
for ParaView).

Change-Id: Idffdb7ec87091255eaf85640090ea30e6d7d2a65
Fix search path for vtk module in the build directory.

vtkPythonAppInit searches for the "vtk" module in the build directory at known
locations. When vtkpython was built from ParaView, it ended up adding an
incorrect path since ParaView also contains the Wrapping/Python directory, but
that doesn't include the VTK module. Fixing it by ensure we search for the path
upto "vtk" module and not just the directory containing it.

Change-Id: I1fa684a8e6ec28fecb3103c34dd55974291e773f
Adding Geovis/Core/Testing/Cxx.

Adding build system for the tests and fixing their dependencies.

Change-Id: I346f4003f1344c3df7b91c6a089d1590665400f1
Merge branch 'master' into build-Geovis/Core/Testing/Cxx

Change-Id: Ifa995255df45c6aaae0acf6a6a2893e81e61870a
Merge branch 'master' into build-Geovis/Core/Testing/Cxx

Change-Id: I5de3d7cdbe68538e4277287cb37915543009f302
Add vtkGL2PSExporter::Draw3DPath to reuse GL path transformation.

Both the vtkMathTextActor3D And vtkTextActor3D classes need to transform
a vtkPath according to GL state. This patch encapsulates the GL/GL2PS calls.

Change-Id: I0eea1ff1be647c165ff214289b8fb765add7384d
BUG: Fix loop in vtkHardwareSelector::GetPixelInformation

When vtkHardwareSelector::GetPixelInformation was called for the pixel
{0, 0}, the function would effectively freeze while stuck in a loop.

The bug was introduced by commit dd4f84d805027c0cec8dd5ebfbed54f366e3798d.

This commit fixes the bug by reverting the previous commit, and also
introduces logic to reduce the number of unnecessary recursive calls
when near the edge of the screen.

Change-Id: If711026da900e80e0419c79bec0ddf26c8f646cf
Enable zlib and libpng support in vtkgl2ps.

Also remove an unnecessary call to INCLUDE_DIRS in
ThirdParty/gl2ps/CMakeLists.txt.

Change-Id: Ieaee126f4c1c8375bac28b29a4fc96b143376aa2
vtkTuple.h: Include standard VTK headers

Include the vtkCommonDataModel module header since vtkTuple.h belongs to
that module.  Include vtkSystemIncludes.h to get the standard VTK
translation unit headers needed to define feature macros like those for
large file support.

Change-Id: Ia6fb53422f84c83e1a736fc1e6652959889a5c1a
Merge topic 'fix-pixel-info' into master

e8a6627d BUG: Fix loop in vtkHardwareSelector::GetPixelInformation
Fix warnings and move test.

Moving the `IndexedLookup` test from `Interaction/Widgets` to
`Rendering/Matplotlib` in order to avoid introducing unwanted
module dependencies.

Change-Id: I8a44d822f130a057c6eae03788d72fb5ac1e4365
Add Picking Manager to deal with the picking process:

Test interactively the functionalities with the example:
- TestPickingManagerWidgets.cxx
- TestPickingManagerSeedWidget.cxx

Unit test added for the internal data structure && performances:
- TestPickingManager.cxx
- TestPickingManagerSeedWidget.cxx (Perfs)

The management is currently implemented and enabled by default
with the following widgets:
- vtkBoxWidget
- vtkBoxWidget2
- vtkBrokenLineWidget
- vtkBalloonWidget
- vtkEllipsoidTensorProbeRepresentation
- vtkImagePlaneWidget
- vtkImageTracerWidget
- vtkImplicitPlaneWidget
- vtkLineWidget
- vtkLineWidget2
- vtkPlaneWidget
- vtkProp3DButtonRepresentation
- vtkSphereHandleRepresentation
- vtkSphereWidget
- vtkSphereWidget2
- vtkSplineWidget
- ...

This effort is part of the MSV project.

 Change-Id: I9a92bed7c36903f56835b7e737f2aea6b7c1fc44

Minor comment fixes to be merged within existing commit

Change-Id: I5b25d9d9d960e5a5dea332c7af2a20a4e9756c28