VTK  9.2.20230321
vtkExternalLight.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkExternalLight.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
56 #ifndef vtkExternalLight_h
57 #define vtkExternalLight_h
58 
59 #include "vtkLight.h"
60 #include "vtkRenderingExternalModule.h" // For export macro
61 
62 VTK_ABI_NAMESPACE_BEGIN
63 class VTKRENDERINGEXTERNAL_EXPORT vtkExternalLight : public vtkLight
64 {
65 public:
66  vtkTypeMacro(vtkExternalLight, vtkLight);
67  void PrintSelf(ostream& os, vtkIndent indent) override;
68 
78  static vtkExternalLight* New();
79 
81  {
82  INDIVIDUAL_PARAMS = 0, // default
83  ALL_PARAMS = 1
84  };
85 
87 
92  vtkSetMacro(LightIndex, int);
93  vtkGetMacro(LightIndex, int);
95 
97 
110  vtkSetMacro(ReplaceMode, int);
111  vtkGetMacro(ReplaceMode, int);
113 
117  void SetPosition(double, double, double) override;
118  using Superclass::SetPosition;
119 
123  void SetFocalPoint(double, double, double) override;
124  using Superclass::SetFocalPoint;
125 
129  void SetAmbientColor(double, double, double) override;
130  using Superclass::SetAmbientColor;
131 
135  void SetDiffuseColor(double, double, double) override;
136  using Superclass::SetDiffuseColor;
137 
141  void SetSpecularColor(double, double, double) override;
142  using Superclass::SetSpecularColor;
143 
147  void SetIntensity(double) override;
148 
152  void SetConeAngle(double) override;
153 
157  void SetAttenuationValues(double, double, double) override;
158  using Superclass::SetAttenuationValues;
159 
163  void SetExponent(double) override;
164 
168  void SetPositional(vtkTypeBool) override;
169 
171 
174  vtkGetMacro(PositionSet, bool);
176 
178 
181  vtkGetMacro(FocalPointSet, bool);
183 
185 
188  vtkGetMacro(AmbientColorSet, bool);
190 
192 
195  vtkGetMacro(DiffuseColorSet, bool);
197 
199 
202  vtkGetMacro(SpecularColorSet, bool);
204 
206 
209  vtkGetMacro(IntensitySet, bool);
211 
213 
216  vtkGetMacro(ConeAngleSet, bool);
218 
220 
223  vtkGetMacro(AttenuationValuesSet, bool);
225 
227 
230  vtkGetMacro(ExponentSet, bool);
232 
234 
237  vtkGetMacro(PositionalSet, bool);
239 
240 protected:
242  ~vtkExternalLight() override;
243 
246 
257 
258 private:
259  vtkExternalLight(const vtkExternalLight&) = delete;
260  void operator=(const vtkExternalLight&) = delete;
261 };
262 
263 VTK_ABI_NAMESPACE_END
264 #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:120
a virtual light for 3D rendering
Definition: vtkLight.h:170
int vtkTypeBool
Definition: vtkABI.h:71