VTK  9.3.1
vtkViewNodeFactory.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
16 #ifndef vtkViewNodeFactory_h
17 #define vtkViewNodeFactory_h
18 
19 #include "vtkObject.h"
20 #include "vtkRenderingSceneGraphModule.h" // For export macro
21 
22 VTK_ABI_NAMESPACE_BEGIN
23 class vtkViewNode;
24 
25 class VTKRENDERINGSCENEGRAPH_EXPORT vtkViewNodeFactory : public vtkObject
26 {
27 public:
28  static vtkViewNodeFactory* New();
29  vtkTypeMacro(vtkViewNodeFactory, vtkObject);
30  void PrintSelf(ostream& os, vtkIndent indent) override;
31 
36  void RegisterOverride(const char* name, vtkViewNode* (*func)());
37 
41  vtkViewNode* CreateNode(vtkObject*);
42 
43 protected:
45  ~vtkViewNodeFactory() override;
46 
47 private:
48  vtkViewNodeFactory(const vtkViewNodeFactory&) = delete;
49  void operator=(const vtkViewNodeFactory&) = delete;
50 
51  class vtkInternals;
52  vtkInternals* Internals;
53 };
54 
55 VTK_ABI_NAMESPACE_END
56 #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.
a simple class to control print indentation
Definition: vtkIndent.h:28
factory that chooses vtkViewNodes to create
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
a node within a VTK scene graph
Definition: vtkViewNode.h:30