46 #ifndef vtkObjectBase_h
47 #define vtkObjectBase_h
52 #define VTK_HAS_INITIALIZE_OBJECT_BASE
54 #include "vtkCommonCoreModule.h"
61 class vtkGarbageCollectorToObjectBaseFriendship;
63 class vtkWeakPointerBaseToObjectBaseFriendship;
72 virtual const char* GetClassNameInternal()
const {
return "vtkObjectBase"; }
75 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
77 # define GetClassNameA GetClassName
78 # define GetClassNameW GetClassName
86 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
91 const char* GetClassNameA()
const;
92 const char* GetClassNameW()
const;
143 void*
operator new(
size_t tSize );
144 void operator delete(
void* p );
182 return this->ReferenceCount;
193 #ifndef VTK_LEGACY_REMOVE
201 #ifndef VTK_LEGACY_REMOVE
220 friend class vtkGarbageCollectorToObjectBaseFriendship;
221 friend class vtkWeakPointerBaseToObjectBaseFriendship;
Detect and break reference loops.
a simple class to control print indentation
abstract base class for most VTK objects
const char * GetClassName() const
Return the class name as a string.
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
static vtkObjectBase * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
void PrintRevisions(ostream &)
Legacy.
virtual void PrintTrailer(ostream &os, vtkIndent indent)
void operator=(const vtkObjectBase &)
virtual void UnRegister(vtkObjectBase *o)
Decrease the reference count (release by another object).
virtual void CollectRevisions(ostream &)
virtual void UnRegisterInternal(vtkObjectBase *, vtkTypeBool check)
virtual vtkTypeBool IsA(const char *name)
Return 1 if this class is the same type of (or a subclass of) the named class.
virtual void RegisterInternal(vtkObjectBase *, vtkTypeBool check)
virtual void PrintHeader(ostream &os, vtkIndent indent)
void SetReferenceCount(int)
Sets the reference count.
int GetReferenceCount()
Return the current reference count of this object.
void InitializeObjectBase()
vtkAtomicInt32 ReferenceCount
virtual void Register(vtkObjectBase *o)
Increase the reference count (mark as used by another object).
vtkWeakPointerBase ** WeakPointers
virtual void Delete()
Delete a VTK object.
virtual void ReportReferences(vtkGarbageCollector *)
static vtkTypeBool IsTypeOf(const char *name)
Return 1 if this class type is the same type of (or a subclass of) the named class.
virtual void FastDelete()
Delete a reference to this object.
void Print(ostream &os)
Print an object to an ostream.
vtkObjectBase(const vtkObjectBase &)
friend VTKCOMMONCORE_EXPORT ostream & operator<<(ostream &os, vtkObjectBase &o)
Non-templated superclass for vtkWeakPointer.
vtkAtomic< vtkTypeInt32 > vtkAtomicInt32