It establishes the hierarchy to the parent class and defines the factory for construction of the object. This goes hand-in-hand with the vtkStandardNewMacro(MyClass), you need to place in the .cxx file. This hierarchy is central to VTK, e.g. by inheriting from vtkObject, you can add observers to objects, where a weak pointer is automatically created from the callee back to the caller. I can recommend that you just expand the macro pairs used in a .h and a .cxx to see what they expand to.