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
84 const char* GetClassName()
const;
86 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
91 const char* GetClassNameA()
const;
92 const char* GetClassNameW()
const;
115 virtual void Delete();
124 virtual void FastDelete();
139 void InitializeObjectBase();
143 void*
operator new(
size_t tSize );
144 void operator delete(
void* p );
151 void Print(ostream& os);
160 virtual void PrintSelf(ostream& os,
vtkIndent indent);
161 virtual void PrintHeader(ostream& os,
vtkIndent indent);
162 virtual void PrintTrailer(ostream& os,
vtkIndent indent);
182 return this->ReferenceCount;
188 void SetReferenceCount(
int);
193 #ifndef VTK_LEGACY_REMOVE
201 #ifndef VTK_LEGACY_REMOVE
220 friend class vtkGarbageCollectorToObjectBaseFriendship;
221 friend class vtkWeakPointerBaseToObjectBaseFriendship;
void InitializeObjectBase()
static vtkObjectBase * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkAtomic< vtkTypeInt32 > vtkAtomicInt32
vtkObjectBase(const vtkObjectBase &)
void PrintRevisions(ostream &)
Legacy.
int GetReferenceCount()
Return the current reference count of this object.
Detect and break reference loops.
vtkAtomicInt32 ReferenceCount
a simple class to control print indentation
Non-templated superclass for vtkWeakPointer.
abstract base class for most VTK objects
virtual void CollectRevisions(ostream &)
VTKCOMMONCORE_EXPORT ostream & operator<<(ostream &os, const vtkIndent &o)
vtkWeakPointerBase ** WeakPointers
void operator=(const vtkObjectBase &)