VTK  9.3.1
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:
18  static vtkGraphicsFactory* New();
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
abstract base class for most VTK objects
Definition: vtkObject.h:51
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static int OffScreenOnlyMode
a simple class to control print indentation
Definition: vtkIndent.h:28
#define VTK_NEWINSTANCE
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...