VTK  9.3.20240425
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
50VTK_ABI_NAMESPACE_BEGIN
51class VTKRENDERINGEXTERNAL_EXPORT vtkExternalLight : public vtkLight
52{
53public:
54 vtkTypeMacro(vtkExternalLight, vtkLight);
55 void PrintSelf(ostream& os, vtkIndent indent) override;
56
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
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
228protected:
231
234
245
246private:
247 vtkExternalLight(const vtkExternalLight&) = delete;
248 void operator=(const vtkExternalLight&) = delete;
249};
250
251VTK_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.
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.
static vtkExternalLight * New()
Create an external light object with the focal point at the origin and its position set to (0,...
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:108
a virtual light for 3D rendering
Definition vtkLight.h:159
int vtkTypeBool
Definition vtkABI.h:64