Make it easier to mark certain data types as unsupported filters for inputs
This issue was created automatically from an original Mantis Issue. Further discussion may take place here.
In an algorithm's FillInputPortInformation(), the valid types of input data are specified with statements such as
info->Append(vtkAlgorithm::INPUT_REQUIRED_DATA_TYPE(), "vtkDataSet"); info->Append(vtkAlgorithm::INPUT_REQUIRED_DATA_TYPE(), "vtkGenericDataSet"); info->Append(vtkAlgorithm::INPUT_REQUIRED_DATA_TYPE(), "vtkGraph");
This requires an affirmative statement for each supported data object type. If a new data object type is later added to VTK, one may have to go back and explicitly add the new type to potentially many filters.
It would be nice to be able to exclude certain data object types, perhaps with a new key, like this:
info->Append(vtkAlgorithm::INPUT_REQUIRED_DATA_TYPE(), "vtkDataObject"); info->Append(vtkAlgorithm::INPUT_EXCLUDED_DATA_TYPE(), "vtkCompositeDataSet");
That way, filters could by default work on all data object types, and if it is found that they don't work on certain data object types, those data object types can be excluded easily.