Skip to content

Object name for reporting

Andreas Buykx requested to merge bxa/vtk:objectname into master

Error and warning messages from pipeline execution currently show only the class name and pointer. This is usually insufficient to determine for example which specific algorithm raises the error.

This change introduces an object name for vtkObject. The object name is stored as a string member ObjectName with setter and getter. It is not a regular ivar: the MTime is not affected and no ModifiedEvent is invoked when the objectname is changed. The objectname is not to be copied by ShallowCopy and DeepCopy implementations.

A new virtual method on vtkObjectBase, GetObjectDescription, returns the description that is used in error and warning messages and Print output. The vtkObjectBase implementation returns the class name and object pointer. The vtkObject implementation overrides this and prints the object name as well if it is set.

The error messages issued by vtkExecutive classes now call the GetObjectDescription method of the algorithm so that if an algorithm has an object name it appears in the error message.

Added a python test to demonstrate the behavior and a changelog entry to briefly describe this change.

Edited by Andreas Buykx

Merge request reports