Draft: Add a mapper for VTK partitioned dataset collections

This is my first take at introducing a data assembly aware polydata mapper. What this means is that all composite data display attributes can be specified as part of the DOM on the data assembly elments. Ex: color, opacity, scalar array, scalar mode, visibility and so on.

Prior art: !7426

  • addresses paraview/paraview#20126
  • The new vtkPartitionedDataSetCollectionMapper derives vtkCompositePolyDataMapper. It has only one job - forward the display attributes from a vtkDataAssembly to vtkCompositeDataDisplayAttributes.
  • Display attributes are embedded in vtkDataAssembly so that client applications do not have to keep track of them.
  • vtkDataAssembly now supports attributes with double and vector-of-double values. These are needed to specify opacity and RGB colors.
  • https://discourse.paraview.org/t/adding-properties-for-vtkpartitioneddatasetcollection/6061/28 has in-depth discussion on this topic.

Here's how the data assembly with display attributes can look like:

<?xml version="1.0"?>
<meshes type="vtkDataAssembly" version="1.0" id="0">
    <quads id="1" Color="1.000000,1.000000,0.000000">
        <dataset id="2" />
        <dataset id="4" />
        <dataset id="6" />
    </quads>
    <tris id="2" Opacity="0.400000">
        <dataset id="8" />
        <dataset id="10" />
    </tris>
</meshes>

Note that it's not possible to specify attributes on the <dataset id="n" /> elements.

Edited by Jaswant Panchumarti (Kitware)

Merge request reports