VTK  9.3.1
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
abstract specification for renderers
Definition: vtkRenderer.h:61
static vtkLight * New()
Create a light with the focal point at the origin and its position set to (0,0,1).
a simple class to control print indentation
Definition: vtkIndent.h:28
a virtual light for 3D rendering
Definition: vtkLight.h:48
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
OpenGL renderer.
virtual void Render(vtkRenderer *, int)
Abstract interface to renderer.
Definition: vtkLight.h:78
OpenGL light.