43 #ifndef vtkObjectBase_h
44 #define vtkObjectBase_h
49 #define VTK_HAS_INITIALIZE_OBJECT_BASE
51 #include "vtkCommonCoreModule.h"
58 class vtkGarbageCollectorToObjectBaseFriendship;
60 class vtkWeakPointerBaseToObjectBaseFriendship;
69 virtual const char* GetClassNameInternal()
const {
return "vtkObjectBase"; }
72 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
74 # define GetClassNameA GetClassName
75 # define GetClassNameW GetClassName
81 const char* GetClassName()
const;
83 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
88 const char* GetClassNameA()
const;
89 const char* GetClassNameW()
const;
112 virtual void Delete();
121 virtual void FastDelete();
136 void InitializeObjectBase();
140 void*
operator new(
size_t tSize );
141 void operator delete(
void* p );
148 void Print(ostream& os);
157 virtual void PrintSelf(ostream& os,
vtkIndent indent);
158 virtual void PrintHeader(ostream& os,
vtkIndent indent);
159 virtual void PrintTrailer(ostream& os,
vtkIndent indent);
179 return this->ReferenceCount;
185 void SetReferenceCount(
int);
190 #ifndef VTK_LEGACY_REMOVE
198 #ifndef VTK_LEGACY_REMOVE
217 friend class vtkGarbageCollectorToObjectBaseFriendship;
218 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 &)