43 #ifndef vtkObjectBase_h
44 #define vtkObjectBase_h
49 #define VTK_HAS_INITIALIZE_OBJECT_BASE
51 #include "vtkCommonCoreModule.h"
52 #include "vtkIndent.h"
53 #include "vtkSystemIncludes.h"
54 #include "vtkAtomicTypes.h"
57 class vtkGarbageCollector;
58 class vtkGarbageCollectorToObjectBaseFriendship;
59 class vtkWeakPointerBase;
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
83 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
88 const char* GetClassNameA()
const;
89 const char* GetClassNameW()
const;
105 virtual vtkTypeBool
IsA(
const char *name);
130 o->InitializeObjectBase();
136 void InitializeObjectBase();
140 void*
operator new(
size_t tSize );
141 void operator delete(
void* p );
158 virtual void PrintHeader(ostream& os, vtkIndent indent);
159 virtual void PrintTrailer(ostream& os, vtkIndent indent);
179 return this->ReferenceCount;
190 #ifndef VTK_LEGACY_REMOVE
198 #ifndef VTK_LEGACY_REMOVE
199 virtual void CollectRevisions(ostream&) {}
202 vtkAtomicInt32 ReferenceCount;
203 vtkWeakPointerBase **WeakPointers;
208 virtual void RegisterInternal(
vtkObjectBase*, vtkTypeBool check);
209 virtual void UnRegisterInternal(
vtkObjectBase*, vtkTypeBool check);
212 virtual void ReportReferences(vtkGarbageCollector*);
216 friend VTKCOMMONCORE_EXPORT ostream& operator<<(ostream& os,
vtkObjectBase& o);
217 friend class vtkGarbageCollectorToObjectBaseFriendship;
218 friend class vtkWeakPointerBaseToObjectBaseFriendship;
abstract base class for most VTK objects
Definition: vtkObjectBase.h:63
const char * GetClassName() const
virtual void PrintSelf(ostream &os, vtkIndent indent)
static vtkObjectBase * New()
Definition: vtkObjectBase.h:127
void PrintRevisions(ostream &)
Definition: vtkObjectBase.h:191
virtual void UnRegister(vtkObjectBase *o)
virtual vtkTypeBool IsA(const char *name)
void SetReferenceCount(int)
int GetReferenceCount()
Definition: vtkObjectBase.h:177
virtual void Register(vtkObjectBase *o)
static vtkTypeBool IsTypeOf(const char *name)
virtual void FastDelete()