VTK  9.3.20240419
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 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
17 
18 VTK_ABI_NAMESPACE_BEGIN
19 class vtkOpenGLRenderer;
20 
21 class VTKRENDERINGOPENGL2_EXPORT VTK_MARSHALAUTO vtkOpenGLLight : public vtkLight
22 {
23 public:
24  static vtkOpenGLLight* New();
25  vtkTypeMacro(vtkOpenGLLight, vtkLight);
26  void PrintSelf(ostream& os, vtkIndent indent) override;
27 
31  void Render(vtkRenderer* ren, int light_index) override;
32 
33 protected:
34  vtkOpenGLLight() = default;
35  ~vtkOpenGLLight() override = default;
36 
37 private:
38  vtkOpenGLLight(const vtkOpenGLLight&) = delete;
39  void operator=(const vtkOpenGLLight&) = delete;
40 };
41 
42 VTK_ABI_NAMESPACE_END
43 #endif
a simple class to control print indentation
Definition: vtkIndent.h:108
a virtual light for 3D rendering
Definition: vtkLight.h:159
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:172
#define VTK_MARSHALAUTO