VTK  9.3.0
vtkGraphicsFactory.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
8 #ifndef vtkGraphicsFactory_h
9 #define vtkGraphicsFactory_h
10 
11 #include "vtkObject.h"
12 #include "vtkRenderingCoreModule.h" // For export macro
13 
14 VTK_ABI_NAMESPACE_BEGIN
15 class VTKRENDERINGCORE_EXPORT vtkGraphicsFactory : public vtkObject
16 {
17 public:
19  vtkTypeMacro(vtkGraphicsFactory, vtkObject);
20  void PrintSelf(ostream& os, vtkIndent indent) override;
21 
28  static vtkObject* CreateInstance(const char* vtkclassname);
29 
33  static const char* GetRenderLibrary();
34 
36 
40  static void SetUseMesaClasses(int use);
41  static int GetUseMesaClasses();
43 
45 
49  static void SetOffScreenOnlyMode(int use);
50  static int GetOffScreenOnlyMode();
52 
53 protected:
54  vtkGraphicsFactory() = default;
55 
56  static int UseMesaClasses;
57  static int OffScreenOnlyMode;
58 
59 private:
60  vtkGraphicsFactory(const vtkGraphicsFactory&) = delete;
61  void operator=(const vtkGraphicsFactory&) = delete;
62 };
63 
64 VTK_ABI_NAMESPACE_END
65 #endif
static int OffScreenOnlyMode
static const char * GetRenderLibrary()
What rendering library has the user requested.
static void SetUseMesaClasses(int use)
This option enables the creation of Mesa classes instead of the OpenGL classes when using mangled Mes...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkGraphicsFactory()=default
static vtkObject * CreateInstance(const char *vtkclassname)
Create and return an instance of the named vtk object.
static vtkGraphicsFactory * New()
static int GetUseMesaClasses()
This option enables the creation of Mesa classes instead of the OpenGL classes when using mangled Mes...
static void SetOffScreenOnlyMode(int use)
This option enables the off-screen only mode.
static int GetOffScreenOnlyMode()
This option enables the off-screen only mode.
a simple class to control print indentation
Definition: vtkIndent.h:29
abstract base class for most VTK objects
Definition: vtkObject.h:52
#define VTK_NEWINSTANCE