43 #ifndef vtkObjectBase_h
44 #define vtkObjectBase_h
49 #define VTK_HAS_INITIALIZE_OBJECT_BASE
51 #include "vtkCommonCoreModule.h"
59 class vtkGarbageCollectorToObjectBaseFriendship;
61 class vtkWeakPointerBaseToObjectBaseFriendship;
70 virtual const char* GetClassNameInternal()
const {
return "vtkObjectBase"; }
73 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
75 #define GetClassNameA GetClassName
76 #define GetClassNameW GetClassName
84 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
89 const char* GetClassNameA()
const;
90 const char* GetClassNameW()
const;
161 void*
operator new(
size_t tSize);
162 void operator delete(
void* p);
208 #ifndef VTK_LEGACY_REMOVE
216 #ifndef VTK_LEGACY_REMOVE
234 friend class vtkGarbageCollectorToObjectBaseFriendship;
235 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.
static vtkIdType GetNumberOfGenerationsFromBaseType(const char *name)
Given a the name of a base class of this class type, return the distance of inheritance between this ...
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.
std::atomic< int32_t > ReferenceCount
void InitializeObjectBase()
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 *)
virtual vtkIdType GetNumberOfGenerationsFromBase(const char *name)
Given a the name of a base class of this class type, return the distance of inheritance between this ...
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.