Automatic extraction of surface cross section

Pyscro showing how to create and update "on the fly" partially transparent capping surfaces 

The TransparentCapping.hx project shows how to work around the current "Surface Cross Section" module limitation that is able to show just opaque surfaces and requires user interaction to export capping surfaces. Thanks to the auto-refresh feature, this "Python script object" can update and show a partially transparent surface capping the original one. The capping surface is evaluated and updated as soon as any of the ports of the referenced "Surface Cross Section" is changed. Of course this module can be exploited to create nicer animations.

The AutoExtractXSection has two input ports:

Reference: it the "Surface cross section" used to create the capping surface. This module must have its data port set to a Surface data and the "clip" plane must be active, finally its viewer toggle must be off (not visible) to avoid z-fighting betwen the transparent and opaque capping planes.

Base trans: it is the base transparency value used to do the rendering of the capping surface. Its value must be the same of the same named port of the "Surface view" used to display the whole/clipped surface.

When the "orientation" or the "translate[%]" port of the Surface Cross Section module are changed the python script modules triggered by the auto-refresh creates a new capping surface and updates the connection of the Surface View module thus udpating the display.

The python script implementation contains some custom python helpers:
---------------------------------------------------------------------
1. module PythonBundleWrapper contains set_parameter_bundle and get_parameter_bundle methods to access the parameter bundle of application objects

2. module Preferences contains the sames named class to set application preferences 

3. module AppObjectsHelper contains the Tracker helper class to get the list of objects added or removed from the application pool

4. module UnitOfMeasuresFixer contains the same name helper class that can be used to apply the same unit of measure of a given object to a newly created one.

5. module ConnectionNavigator contains an helper to find all the downstream object of a given type from a root object in project view.