Section: Visualization Toolkit Common Classes
vtkObjectBase 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.
Constructor and destructor of the subclasses of vtkObjectBase should be protected, so that only New() and UnRegister() actually call them. Debug leaks can be used to see if there are any objects left with nonzero reference count.
To create an instance of class vtkObjectBase, simply invoke its constructor as follows
obj = vtkObjectBase
obj
is an instance of the vtkObjectBase class.
string = obj.GetClassName () const
- Return the class name as a string. This method is defined
in all subclasses of vtkObjectBase with the vtkTypeRevisionMacro found
in vtkSetGet.h.
int = obj.IsA (string name)
- Return 1 if this class is the same type of (or a subclass of)
the named class. Returns 0 otherwise. This method works in
combination with vtkTypeRevisionMacro found in vtkSetGet.h.
obj.Delete ()
- Delete a VTK object. This method should always be used to delete
an object when the New() method was used to create it. Using the
C++ delete method will not work with reference counting.
obj.FastDelete ()
- Delete a reference to this object. This version will not invoke
garbage collection and can potentially leak the object if it is
part of a reference loop. Use this method only when it is known
that the object has another reference and would not be collected
if a full garbage collection check were done.
obj.Register (vtkObjectBase o)
- Increase the reference count (mark as used by another object).
obj.UnRegister (vtkObjectBase o)
- Decrease the reference count (release by another object). This
has the same effect as invoking Delete() (i.e., it reduces the
reference count by 1).
int = obj.GetReferenceCount ()
- Sets the reference count. (This is very dangerous, use with care.)
obj.SetReferenceCount (int )
- Sets the reference count. (This is very dangerous, use with care.)