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.