Common/vtkObjectBase.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00042 #ifndef __vtkObjectBase_h
00043 #define __vtkObjectBase_h
00044
00045 #include "vtkIndent.h"
00046 #include "vtkSystemIncludes.h"
00047
00048 class VTK_COMMON_EXPORT vtkObjectBase
00049 {
00050 public:
00054 virtual const char *GetClassName() const {return "vtkObjectBase";};
00055
00059 static int IsTypeOf(const char *name);
00060
00064 virtual int IsA(const char *name);
00065
00069 virtual void Delete();
00070
00072
00074 static vtkObjectBase *New()
00075 {return new vtkObjectBase;}
00077
00078 #ifdef _WIN32
00079
00080 void* operator new( size_t tSize );
00081 void operator delete( void* p );
00082 #endif
00083
00086 void Print(ostream& os);
00087
00089
00093 virtual void PrintSelf(ostream& os, vtkIndent indent);
00094 virtual void PrintHeader(ostream& os, vtkIndent indent);
00095 virtual void PrintTrailer(ostream& os, vtkIndent indent);
00097
00099 void Register(vtkObjectBase* o);
00100
00104 virtual void UnRegister(vtkObjectBase* o);
00105
00107
00108 int GetReferenceCount()
00109 {return this->ReferenceCount;}
00111
00113 void SetReferenceCount(int);
00114
00121 void PrintRevisions(ostream& os);
00122
00123 protected:
00124 vtkObjectBase();
00125 virtual ~vtkObjectBase();
00126
00127 virtual void CollectRevisions(ostream& os);
00128
00129 int ReferenceCount;
00130
00131 private:
00132
00133 friend VTK_COMMON_EXPORT ostream& operator<<(ostream& os, vtkObjectBase& o);
00134
00135
00136 protected:
00137
00138 vtkObjectBase(const vtkObjectBase&) {}
00139 void operator=(const vtkObjectBase&) {}
00140
00141 };
00142
00143 #endif
00144