VTK  9.2.20220813
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 class VTKRENDERINGEXTERNAL_EXPORT vtkExternalLight : public vtkLight
63 {
64 public:
65  vtkTypeMacro(vtkExternalLight, vtkLight);
66  void PrintSelf(ostream& os, vtkIndent indent) override;
67 
77  static vtkExternalLight* New();
78 
80  {
81  INDIVIDUAL_PARAMS = 0, // default
82  ALL_PARAMS = 1
83  };
84 
86 
91  vtkSetMacro(LightIndex, int);
92  vtkGetMacro(LightIndex, int);
94 
96 
109  vtkSetMacro(ReplaceMode, int);
110  vtkGetMacro(ReplaceMode, int);
112 
116  void SetPosition(double, double, double) override;
117  using Superclass::SetPosition;
118 
122  void SetFocalPoint(double, double, double) override;
123  using Superclass::SetFocalPoint;
124 
128  void SetAmbientColor(double, double, double) override;
129  using Superclass::SetAmbientColor;
130 
134  void SetDiffuseColor(double, double, double) override;
135  using Superclass::SetDiffuseColor;
136 
140  void SetSpecularColor(double, double, double) override;
141  using Superclass::SetSpecularColor;
142 
146  void SetIntensity(double) override;
147 
151  void SetConeAngle(double) override;
152 
156  void SetAttenuationValues(double, double, double) override;
157  using Superclass::SetAttenuationValues;
158 
162  void SetExponent(double) override;
163 
167  void SetPositional(vtkTypeBool) override;
168 
170 
173  vtkGetMacro(PositionSet, bool);
175 
177 
180  vtkGetMacro(FocalPointSet, bool);
182 
184 
187  vtkGetMacro(AmbientColorSet, bool);
189 
191 
194  vtkGetMacro(DiffuseColorSet, bool);
196 
198 
201  vtkGetMacro(SpecularColorSet, bool);
203 
205 
208  vtkGetMacro(IntensitySet, bool);
210 
212 
215  vtkGetMacro(ConeAngleSet, bool);
217 
219 
222  vtkGetMacro(AttenuationValuesSet, bool);
224 
226 
229  vtkGetMacro(ExponentSet, bool);
231 
233 
236  vtkGetMacro(PositionalSet, bool);
238 
239 protected:
241  ~vtkExternalLight() override;
242 
245 
256 
257 private:
258  vtkExternalLight(const vtkExternalLight&) = delete;
259  void operator=(const vtkExternalLight&) = delete;
260 };
261 
262 #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:119
a virtual light for 3D rendering
Definition: vtkLight.h:169
int vtkTypeBool
Definition: vtkABI.h:69