00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkGraphicsFactory.h,v $ 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 =========================================================================*/ 00022 #ifndef __vtkGraphicsFactory_h 00023 #define __vtkGraphicsFactory_h 00024 00025 #include "vtkObject.h" 00026 00027 class VTK_RENDERING_EXPORT vtkGraphicsFactory : public vtkObject 00028 { 00029 public: 00030 static vtkGraphicsFactory *New(); 00031 vtkTypeRevisionMacro(vtkGraphicsFactory,vtkObject); 00032 virtual void PrintSelf(ostream& os, vtkIndent indent); 00033 00036 static vtkObject* CreateInstance(const char* vtkclassname); 00037 00039 static const char *GetRenderLibrary(); 00040 00042 00044 static void SetUseMesaClasses(int use); 00045 static int GetUseMesaClasses(); 00047 00049 00051 static void SetOffScreenOnlyMode(int use); 00052 static int GetOffScreenOnlyMode(); 00054 00055 protected: 00056 vtkGraphicsFactory() {}; 00057 00058 static int UseMesaClasses; 00059 static int OffScreenOnlyMode; 00060 00061 private: 00062 vtkGraphicsFactory(const vtkGraphicsFactory&); // Not implemented. 00063 void operator=(const vtkGraphicsFactory&); // Not implemented. 00064 }; 00065 00066 #endif