VTK  9.3.0
vtkOpenGLLight.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
11 #ifndef vtkOpenGLLight_h
12 #define vtkOpenGLLight_h
13 
14 #include "vtkLight.h"
15 #include "vtkRenderingOpenGL2Module.h" // For export macro
16 
17 VTK_ABI_NAMESPACE_BEGIN
18 class vtkOpenGLRenderer;
19 
20 class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLLight : public vtkLight
21 {
22 public:
23  static vtkOpenGLLight* New();
24  vtkTypeMacro(vtkOpenGLLight, vtkLight);
25  void PrintSelf(ostream& os, vtkIndent indent) override;
26 
30  void Render(vtkRenderer* ren, int light_index) override;
31 
32 protected:
33  vtkOpenGLLight() = default;
34  ~vtkOpenGLLight() override = default;
35 
36 private:
37  vtkOpenGLLight(const vtkOpenGLLight&) = delete;
38  void operator=(const vtkOpenGLLight&) = delete;
39 };
40 
41 VTK_ABI_NAMESPACE_END
42 #endif
a simple class to control print indentation
Definition: vtkIndent.h:38
a virtual light for 3D rendering
Definition: vtkLight.h:58
OpenGL light.
~vtkOpenGLLight() override=default
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void Render(vtkRenderer *ren, int light_index) override
Implement base class method.
static vtkOpenGLLight * New()
vtkOpenGLLight()=default
OpenGL renderer.
abstract specification for renderers
Definition: vtkRenderer.h:71