45 #ifndef __vtkObjectBase_h
46 #define __vtkObjectBase_h
48 #include "vtkCommonCoreModule.h"
53 class vtkGarbageCollectorToObjectBaseFriendship;
55 class vtkWeakPointerBaseToObjectBaseFriendship;
63 virtual const char* GetClassNameInternal()
const {
return "vtkObjectBase"; }
67 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
69 # define GetClassNameA GetClassName
70 # define GetClassNameW GetClassName
74 const char* GetClassName()
const;
76 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
81 const char* GetClassNameA()
const;
82 const char* GetClassNameW()
const;
89 static int IsTypeOf(
const char *name);
94 virtual int IsA(
const char *name);
99 virtual void Delete();
106 virtual void FastDelete();
117 void*
operator new(
size_t tSize );
118 void operator delete(
void* p );
123 void Print(ostream& os);
130 virtual void PrintSelf(ostream& os,
vtkIndent indent);
131 virtual void PrintHeader(ostream& os,
vtkIndent indent);
132 virtual void PrintTrailer(ostream& os,
vtkIndent indent);
146 {
return this->ReferenceCount;}
150 void SetReferenceCount(
int);
176 friend class vtkGarbageCollectorToObjectBaseFriendship;
177 friend class vtkWeakPointerBaseToObjectBaseFriendship;
static vtkObjectBase * New()
vtkObjectBase(const vtkObjectBase &)
void PrintRevisions(ostream &)
Detect and break reference loops.
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 &)