VTK  9.3.1
vtkRenderState.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
17 #ifndef vtkRenderState_h
18 #define vtkRenderState_h
19 
20 #include "vtkObject.h"
21 #include "vtkRenderingCoreModule.h" // For export macro
22 
23 VTK_ABI_NAMESPACE_BEGIN
24 class vtkRenderer;
25 class vtkProp;
27 class vtkInformation;
28 
29 class VTKRENDERINGCORE_EXPORT vtkRenderState
30 {
31 public:
38  vtkRenderState(vtkRenderer* renderer);
39 
44  ~vtkRenderState() = default;
45 
49  bool IsValid() const;
50 
56  vtkRenderer* GetRenderer() const;
57 
63  vtkFrameBufferObjectBase* GetFrameBuffer() const;
64 
69  void SetFrameBuffer(vtkFrameBufferObjectBase* fbo);
70 
74  void GetWindowSize(int size[2]) const;
75 
79  vtkProp** GetPropArray() const;
80 
86  int GetPropArrayCount() const;
87 
99  void SetPropArrayAndCount(vtkProp** propArray, int propArrayCount);
100 
106  vtkInformation* GetRequiredKeys() const;
107 
112  void SetRequiredKeys(vtkInformation* keys);
113 
114 protected:
120 
127 
129 
139 
145 
146 private:
147  vtkRenderState() = delete; // no default constructor.
148  vtkRenderState(const vtkRenderState&) = delete;
149  void operator=(const vtkRenderState&) = delete;
150 };
151 
152 VTK_ABI_NAMESPACE_END
153 #endif
154 // VTK-HeaderTest-Exclude: vtkRenderState.h
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:45
Store vtkAlgorithm input/output information.
vtkFrameBufferObjectBase * FrameBuffer
The framebuffer in use.
vtkProp ** PropArray
Subset of props to render.
vtkRenderer * Renderer
The renderer in which the render pass is performed.
abstract specification for renderers
Definition: vtkRenderer.h:61
int PropArrayCount
Subset of props to render.
Context in which a vtkRenderPass will render.
abstract interface to OpenGL FBOs
vtkInformation * RequiredKeys
It tells that the current render pass it supposed to render only props that have all the RequiredKeys...