VTK  9.3.0
vtkExternalLight.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
44 #ifndef vtkExternalLight_h
45 #define vtkExternalLight_h
46 
47 #include "vtkLight.h"
48 #include "vtkRenderingExternalModule.h" // For export macro
49 
50 VTK_ABI_NAMESPACE_BEGIN
51 class VTKRENDERINGEXTERNAL_EXPORT vtkExternalLight : public vtkLight
52 {
53 public:
54  vtkTypeMacro(vtkExternalLight, vtkLight);
55  void PrintSelf(ostream& os, vtkIndent indent) override;
56 
66  static vtkExternalLight* New();
67 
69  {
70  INDIVIDUAL_PARAMS = 0, // default
71  ALL_PARAMS = 1
72  };
73 
75 
80  vtkSetMacro(LightIndex, int);
81  vtkGetMacro(LightIndex, int);
83 
85 
98  vtkSetMacro(ReplaceMode, int);
99  vtkGetMacro(ReplaceMode, int);
101 
105  void SetPosition(double, double, double) override;
106  using Superclass::SetPosition;
107 
111  void SetFocalPoint(double, double, double) override;
112  using Superclass::SetFocalPoint;
113 
117  void SetAmbientColor(double, double, double) override;
118  using Superclass::SetAmbientColor;
119 
123  void SetDiffuseColor(double, double, double) override;
124  using Superclass::SetDiffuseColor;
125 
129  void SetSpecularColor(double, double, double) override;
130  using Superclass::SetSpecularColor;
131 
135  void SetIntensity(double) override;
136 
140  void SetConeAngle(double) override;
141 
145  void SetAttenuationValues(double, double, double) override;
146  using Superclass::SetAttenuationValues;
147 
151  void SetExponent(double) override;
152 
156  void SetPositional(vtkTypeBool) override;
157 
159 
162  vtkGetMacro(PositionSet, bool);
164 
166 
169  vtkGetMacro(FocalPointSet, bool);
171 
173 
176  vtkGetMacro(AmbientColorSet, bool);
178 
180 
183  vtkGetMacro(DiffuseColorSet, bool);
185 
187 
190  vtkGetMacro(SpecularColorSet, bool);
192 
194 
197  vtkGetMacro(IntensitySet, bool);
199 
201 
204  vtkGetMacro(ConeAngleSet, bool);
206 
208 
211  vtkGetMacro(AttenuationValuesSet, bool);
213 
215 
218  vtkGetMacro(ExponentSet, bool);
220 
222 
225  vtkGetMacro(PositionalSet, bool);
227 
228 protected:
230  ~vtkExternalLight() override;
231 
234 
245 
246 private:
247  vtkExternalLight(const vtkExternalLight&) = delete;
248  void operator=(const vtkExternalLight&) = delete;
249 };
250 
251 VTK_ABI_NAMESPACE_END
252 #endif // vtkExternalLight_h
a virtual light object for tweaking existing lights in an external 3D rendering context
void SetAmbientColor(double, double, double) override
Override Set method to keep a record of changed value.
~vtkExternalLight() override
void SetPosition(double, double, double) override
Override Set method to keep a record of changed value.
void SetPositional(vtkTypeBool) override
Override Set method to keep a record of changed value.
static vtkExternalLight * New()
Create an external light object with the focal point at the origin and its position set to (0,...
void SetAttenuationValues(double, double, double) override
Override Set method to keep a record of changed value.
void SetExponent(double) override
Override Set method to keep a record of changed value.
void SetSpecularColor(double, double, double) override
Override Set method to keep a record of changed value.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetConeAngle(double) override
Override Set method to keep a record of changed value.
void SetDiffuseColor(double, double, double) override
Override Set method to keep a record of changed value.
void SetFocalPoint(double, double, double) override
Override Set method to keep a record of changed value.
void SetIntensity(double) override
Override Set method to keep a record of changed value.
a simple class to control print indentation
Definition: vtkIndent.h:38
a virtual light for 3D rendering
Definition: vtkLight.h:58
int vtkTypeBool
Definition: vtkABI.h:64