Fix a memory leak that occures when Uniform Variables are updated

The Merge method called when some uniforms are added or changed
on a shader used to leak at each call. Fix that.

Change-Id: I46879903c2891cdf1dd94247d089621464a6f8db
Refactor vtkWrapPython into smaller source files.

Because several thousands lines of code is too much for one file.

Change-Id: Ib3af0f2153fddc3f593fd90913bb3408944062f6
Wrap enum constant members for non-vtkObject types.

Change-Id: Id9b7b1659b07103ebb8dd80df02cccd56e5ab6a0
Add an enum type to the python wrappers.

Any enum types that are encountered will automatically be wrapped
as integral types.  This is true for enum types defined in the global
namespace, and enum types defined within a wrapped class.  Other
namespaces are not yet supported, because the python wrappers do not
yet wrap C++ namespaces.

When a class method has an enum parameter, and if the enum is a member
of the class, then that method will perform type checking on the enum.
Class methods that require enums that are not members of the class will
not be wrapped (in future versions of the wrappers, they might).

Change-Id: If38391de8a1a66eb255ddf83a72916af6d81dc78
Fix two previously undetected wrapper bugs.

The vtkParseHierarchy class was not detecting enum types, and the
vtkWrapPython_PythonicName code for converting mangled type names
to pythonic names was not able to handle namespaces.

Change-Id: If5c044eca741c12a387d150a764b65cf7085a4f9
Wrap namespaces in python.

For now, namespaces can only be used to define constants and enum types.
Any functions or methods in the namespace will not be wrapped.

Change-Id: If876e77f814630aa4cb0336579826fd9b58c66f2
Allow use of all enum types as method parameters.

Previously, enum types could only be used as method parameters if
the enum type was defined in the same class as the method.  This change
removes that restriction, by using the hierarchy files to figure out
what enum types will be wrapped across the whole project.

Change-Id: Ia44272a341312f984d05ed54ae3318c12a2fe404
Move VTK_BUILD_SHARED_LIBS check to generated code.

Any use of vtkConfigure.h from within the wrapper tool code can
lead to incorrect configuration when cross compiling.  This change
moves the VTK_BUILD_SHARED_LIBS check from the wrapper tool code
into the generated code.

Change-Id: Ie80075bf107aa7635767488ed9f87b0aa3590c72
Wrap constants more efficiently.

Sometimes header files contain a large number of constants, and
the wrappers were generating a function call for each and every
one in order to convert them into python values.  This new code
stores the constants in static data structures when possible.

Change-Id: Id59c8448be154647ff349b43d958871b0f18af69
Avoid creating duplicate wrapped namespaces.

In C++, the contents of a single namespace can be defined in more
than one header.  We must allow for this when wrapping namespaces
in python, by checking if the namespace has already been created.

Change-Id: Ib64d0fad648cf597c59f3a67edcb9a165594fbf6
Only wrap namespaces that have useful contents.

Namespaces are often used just for forward declarations of third
party classes, e.g. boost or even std.  We don't want to wrap these,
we only want to wrap namespaces that are part of our API.  For now,
that means wrapping namespaces that define useful constants.

Change-Id: Icdd111c2e8b3c9031cde1a5409a74f3d09767e69
Update the readme file for new wrapping capabilities.

Change-Id: Ifc1563d7159b892e078ff2589dff6a5e30e50c62
Test for large sample distance in volume mapper

Change-Id: I220af71625b59bcd503a845375964c55afdd39df
Suppress clang analyzer warning

Just init buffer to zeros so it doesn’t think
we use it uninitialized.

Change-Id: I6aa75c14ba8b304f23815d7d663f3a2520efa3f9
Fix Xdmf3 CMake file to export symbols in DLL.

The CMake was defining/using the variable BUILD_SHARED_LIBS
while the XdmfConfig.hpp.in file use BUILD_SHARED.

Change-Id: Ibf8e3eb004b8506207197aee8892c3b34e4bc166
Suppress warning about dead store

Change-Id: I5a58d4b1f0728e0816f878b7d0bc4be65d080fb5
Suppress warning about ‘x’ used uninitialized

If the ‘for’ loop is executed less that 3 times,
‘x’ is not (fully) initialized.  If more that 3
times, ‘x’ gets buffer-overrun.

Some better refactoring should probably be done…

Change-Id: I006e3f8e7850a618472a3fbb956dad2944d8d31e
Move warning check to prevent ‘fd’ null deref

Change-Id: I9e357c113dbb06ae7a40871c538f055344874d55
Return after warning to prevent ‘dsa’ null deref

Change-Id: I32c21b761eafe5a8a5fcc158a13e86f73e62934a
Simplify and exit quickly if input point ids empty

Fixes clang analyzer false positive about
minCells being null and dereferenced.

Change-Id: I86e3ab1af25091fa97602fcdabfc1b635012f77d