The issue comes to light when a user creates a 6 component array which is really a tensor but currently the XDMF writer assumes it is a pair of 3 RGB vectors. We also have this issue with 2 component arrays. IDataArray could implement a class enumeration to describe the type of data. We would also need to update just about every filter to also set the type and further expose it to the user in the CreateDataArray filter. Possible enumerations are:
Scalar | Vector | Tensor | Tensor6 | Matrix | GlobalID
We could also add RGB | RGBA | COLOR as possibilities.
Which come from this page http://www.xdmf.org/index.php/XDMF_Model_and_Format#Set
We could follow the XDMF naming and call it the "AttributeType" but I am not sure that conveys what it is. "ArrayType" does not really work either as I would think that means float, int,....
ComponentConfiguration, ComponentType?
We could also at least put in the infrastructure but slowly work on updating those filters that specifically need to set a description.