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 &)