VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkObjectIdMap.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00020 #ifndef vtkObjectIdMap_h 00021 #define vtkObjectIdMap_h 00022 00023 #include "vtkObject.h" 00024 #include "vtkWebCoreModule.h" // needed for exports 00025 00026 class VTKWEBCORE_EXPORT vtkObjectIdMap : public vtkObject 00027 { 00028 public: 00029 static vtkObjectIdMap* New(); 00030 vtkTypeMacro(vtkObjectIdMap, vtkObject); 00031 void PrintSelf(ostream& os, vtkIndent indent); 00032 00035 vtkTypeUInt32 GetGlobalId(vtkObject* obj); 00036 00038 vtkObject* GetVTKObject(vtkTypeUInt32 globalId); 00039 00044 vtkTypeUInt32 SetActiveObject(const char* objectType, vtkObject* obj); 00045 00047 vtkObject* GetActiveObject(const char* objectType); 00048 00050 void FreeObject(vtkObject* obj); 00051 00052 //BTX 00053 protected: 00054 vtkObjectIdMap(); 00055 ~vtkObjectIdMap(); 00056 00057 private: 00058 vtkObjectIdMap(const vtkObjectIdMap&); // Not implemented 00059 void operator=(const vtkObjectIdMap&); // Not implemented 00060 00061 struct vtkInternals; 00062 vtkInternals* Internals; 00063 //ETX 00064 }; 00065 00066 #endif