PERF: Removed unnecessary garbage collection.

Information iterators increment/decrement the reference of their
information object by default. This leads to lots of garbage
collection passes, which when not necessary cause performance
degradation. Used a weak reference instead. In these cases, we
know for sure that someone else has a reference to the information
objects (the executive).

Change-Id: I9bc0f6a09b96c726b5d2a3bb7e78f3f7c67152b2
Merge topic 'remove-garbage-collection-in-executives' into master

a4ee6414 PERF: Removed unnecessary garbage collection.
export xdmf for import into vtk

extracted with:
    sha1=975536e3d94f08b06b002452a5ed575dc6eb0fc9 &&
    paths='
    CMake
    CMakeLists.txt
    CTestConfig.cmake
    Copyright.txt
    Xdmf.hpp
    XdmfAttribute.cpp
    XdmfAttribute.hpp
    XdmfAttributeCenter.cpp
    XdmfAttributeCenter.hpp
    XdmfAttributeType.cpp
    XdmfAttributeType.hpp
    XdmfConfig.cmake.in
    XdmfCurvilinearGrid.cpp
    XdmfCurvilinearGrid.hpp
    XdmfDomain.cpp
    XdmfDomain.hpp
    XdmfGeometry.cpp
    XdmfGeometry.hpp
    XdmfGeometryType.cpp
    XdmfGeometryType.hpp
    XdmfGraph.cpp
    XdmfGraph.hpp
    XdmfGrid.cpp
    XdmfGrid.hpp
    XdmfGridCollection.cpp
    XdmfGridCollection.hpp
    XdmfGridCollectionType.cpp
    XdmfGridCollectionType.hpp
    XdmfItemFactory.cpp
    XdmfItemFactory.hpp
    XdmfMap.cpp
    XdmfMap.hpp
    XdmfReader.cpp
    XdmfReader.hpp
    XdmfRectilinearGrid.cpp
    XdmfRectilinearGrid.hpp
    XdmfRegularGrid.cpp
    XdmfRegularGrid.hpp
    XdmfSet.cpp
    XdmfSet.hpp
    XdmfSetType.cpp
    XdmfSetType.hpp
    XdmfTime.cpp
    XdmfTime.hpp
    XdmfTopology.cpp
    XdmfTopology.hpp
    XdmfTopologyType.cpp
    XdmfTopologyType.hpp
    XdmfUnstructuredGrid.cpp
    XdmfUnstructuredGrid.hpp
    core/CMakeLists.txt
    core/XdmfArray.cpp
    core/XdmfArray.hpp
    core/XdmfArray.tpp
    core/XdmfArrayReference.cpp
    core/XdmfArrayReference.hpp
    core/XdmfArrayType.cpp
    core/XdmfArrayType.hpp
    core/XdmfBinaryController.cpp
    core/XdmfBinaryController.hpp
    core/XdmfConfig.hpp.in
    core/XdmfCore.hpp
    core/XdmfCoreItemFactory.cpp
    core/XdmfCoreItemFactory.hpp
    core/XdmfCoreReader.cpp
    core/XdmfCoreReader.hpp
    core/XdmfError.cpp
    core/XdmfError.hpp
    core/XdmfFunction.cpp
    core/XdmfFunction.hpp
    core/XdmfHDF5Controller.cpp
    core/XdmfHDF5Controller.hpp
    core/XdmfHDF5Writer.cpp
    core/XdmfHDF5Writer.hpp
    core/XdmfHeavyDataController.cpp
    core/XdmfHeavyDataController.hpp
    core/XdmfHeavyDataWriter.cpp
    core/XdmfHeavyDataWriter.hpp
    core/XdmfInformation.cpp
    core/XdmfInformation.hpp
    core/XdmfItem.cpp
    core/XdmfItem.hpp
    core/XdmfItemProperty.cpp
    core/XdmfItemProperty.hpp
    core/XdmfSharedPtr.hpp
    core/XdmfSparseMatrix.cpp
    core/XdmfSparseMatrix.hpp
    core/XdmfSubset.cpp
    core/XdmfSubset.hpp
    core/XdmfSystemUtils.cpp
    core/XdmfSystemUtils.hpp
    core/XdmfVisitor.cpp
    core/XdmfVisitor.hpp
    core/XdmfWriter.cpp
    core/XdmfWriter.hpp
    core/loki
    core/dsm/CMakeLists.txt
    core/dsm/XdmfDSM.hpp
    core/dsm/XdmfDSMBuffer.cpp
    core/dsm/XdmfDSMBuffer.hpp
    core/dsm/XdmfDSMCommMPI.cpp
    core/dsm/XdmfDSMCommMPI.hpp
    core/dsm/XdmfDSMDriver.cpp
    core/dsm/XdmfDSMDriver.hpp
    core/dsm/XdmfDSMManager.cpp
    core/dsm/XdmfDSMManager.hpp
    core/dsm/XdmfHDF5ControllerDSM.cpp
    core/dsm/XdmfHDF5ControllerDSM.hpp
    core/dsm/XdmfHDF5WriterDSM.cpp
    core/dsm/XdmfHDF5WriterDSM.hpp
    ' &&
    git archive --prefix=xdmf3-reduced/ $sha1 -- $paths |
    tar x

Change-Id: I8c3dd91dc165a592f7dc3d2898ddf1d18db45811
Put libxdmf into a namespace so that libxdmf3 can coincide with it.

xdmf2 will be deprecated soon, but in the meanwhile it is useful
to have both available

Change-Id: Iefb30945ca239f58bc5959cfb0e36108616fa040
Merge branch 'xdmf3-upstream'

Change-Id: I52eee60a9a63e0b0440fd3fc0d2e6d67d129afa8
Adapt libxdmf to build within VTK.

The changes make it compile with MSVC and make it a child of the
parent project with only selected options and subdirectories.

Conflicts:
	ThirdParty/xdmf3/vtkxdmf3/Xdmf.hpp
	ThirdParty/xdmf3/vtkxdmf3/core/XdmfCore.hpp

Change-Id: Ie78b487c10d09297da70417c468171f220ceaeaa
add cmakescript infrastructure to make libxdmf a VTK module

Change-Id: I08c2341c224e593860022c468f16fc5f06c0ae11
Add a reader and writer for the new xdmf library.

Change-Id: I0196f82ab322351dc88dca0abd0c51bf7068ea5b
vtkWeb: Don't reset viewer to null on updateViewer(...)

Only set m_viewer when updateViewer(...) return a new viewer. This
is necessary so that the m_viewer can be used for propagation
mouse interaction events.

Change-Id: I2d6186b97fbd8d44a43b83b2dc9bf93304fc50ad
vtkWeb: Propagate mouse events to VGL

Rather than replacing the document event handlers bind a new event
handler than will propagate the mouse events to the VGL viewer.

Change-Id: If6a10243dab167d03072d3dad31543435b0a9986
vtkWeb: Fix calls to old VGL API

Looks like this code was not being run. Fix up typos and API calls.

Change-Id: I6eafda86ae3cbb2361592a394f5d17816dc62aa7
Merge topic 'vgl-interaction-fixes' into master

175d3ddd vtkWeb: Fix calls to old VGL API
7b0dae91 vtkWeb: Propagate mouse events to VGL
59681720 vtkWeb: Don't reset viewer to null on updateViewer(...)
vtkWeb: Rename ogs.vgl => vgl

Change-Id: Iec014664ae4f0701ca31d967eb3d68c9be5f495d
Add multi-layer support to the vgl interface.

Change-Id: I424917ab2c8c01724717ac3b40637d93909f36b6
Rename md5 => sceneMD5 to avoid confusion

Change-Id: I0511c1814ed0bfd35ff6e072d62e2ff8a10b5492
Update canvas size before creating viewer

The create of the viewer using the size from the canvas so it needs
to be set before passing it to createNewViewer(...)

Change-Id: If20c60285ce1de84fcd5f91b7b55513ace332f92
Prevent mouse event handlers be bound multiple times

Move binding of mouse event handlers out of drawScene().

Change-Id: Id10581031c0dcf4543efa972c5f5f94e185685cc
Update VGL to master

Change-Id: Icac1003e81f1f5c27d6046cd660fb78ec5002673
Update version of VGL

Change-Id: I2e724280f4111e0898c692745004279efbc9a003
Prevent scene and clipping range from being reset

Change-Id: I51de6cfd966d589d9a547d8a7e214f6186fc6747