Better uniform glyphing for surfaces
This adds two new uniform glyphing modes to the vtkPVGlyphFilter and also generalizes a bit its API. The two new modes are based on "inverse transform sampling" algorithm, the first one uses surface area, the second one uses cell volume.
The surface one will actually extract the surface first if needed, so the glyphs will be located on the surface mesh only. The volume one will ignore completely non-3D cells.
Both modes support multiblocks and parallel meshes perfectly, as well as cell centers when using cell data.
Those modes were needed because the current algorithm is only based on the mesh bounds and this have limitations and bad behaviors, especially when dealing with multi pieces mesh.
Below is an example with 50 glyphs. With current "Uniform Spatial Distribution" mode (now called "Uniform Spatial Distribution (Bounds Based)", the bounds are used to determine the amount of seeds:
With the new "Uniform Spatial Distribution (Surface Sampling)" mode, the seeds are distributed according to the surface area of the surface mesh:
With the new "Uniform Spatial Distribution (Volume Sampling)" mode, the seeds are distributed according to the volume of the cells, which is quite visible in this case: