vtkObject is the base class for many objects in the visualization
toolkit. vtkObject provides methods for tracking modification times,
debugging, and printing. Most objects created within the vtk
framework should be a subclass of vtkObject or one of its children.
The few exceptions tend to be very small helper classes that usually
never get instantiated or situations where multiple inheritance
gets in the way.
vtkObject also performs reference counting:
Objects that are reference counted exist as long as another object
uses them. Once the last reference to a reference counted object is
removed, the object will spontaneously destruct. Typically only data
objects that are passed between objects are reference counted.
Note: in vtk objects should always be created with combinations of
new/Delete() methods. This does not work when objects are allocated
off the stack (i.e., automatic objects). Automatic objects,
when automatically deleted (by exiting scope), will cause warnings to
occur. You should not create vtkObjects in this manner.