36 #include "vtkRenderingCoreModule.h"
39 VTK_ABI_NAMESPACE_BEGIN
44 #define VTK_LIGHT_TYPE_HEADLIGHT 1
45 #define VTK_LIGHT_TYPE_CAMERA_LIGHT 2
46 #define VTK_LIGHT_TYPE_SCENE_LIGHT 3
87 vtkSetVector3Macro(AmbientColor,
double);
88 vtkGetVectorMacro(AmbientColor,
double, 3);
89 vtkSetVector3Macro(DiffuseColor,
double);
90 vtkGetVectorMacro(DiffuseColor,
double, 3);
91 vtkSetVector3Macro(SpecularColor,
double);
92 vtkGetVectorMacro(SpecularColor,
double, 3);
93 void SetColor(
double,
double,
double);
105 vtkSetVector3Macro(
Position,
double);
106 vtkGetVectorMacro(
Position,
double, 3);
118 vtkSetVector3Macro(FocalPoint,
double);
119 vtkGetVectorMacro(FocalPoint,
double, 3);
127 vtkSetMacro(Intensity,
double);
128 vtkGetMacro(Intensity,
double);
153 vtkSetClampMacro(Exponent,
double, 0.0, 128.0);
154 vtkGetMacro(Exponent,
double);
165 vtkSetMacro(ConeAngle,
double);
166 vtkGetMacro(ConeAngle,
double);
174 vtkSetVector3Macro(AttenuationValues,
double);
175 vtkGetVectorMacro(AttenuationValues,
double, 3);
193 void GetTransformedPosition(
double& x,
double& y,
double& z);
194 void GetTransformedPosition(
double a[3]);
203 void GetTransformedFocalPoint(
double& x,
double& y,
double& z);
204 void GetTransformedFocalPoint(
double a[3]);
211 void TransformPoint(
double a[3],
double b[3]);
216 void TransformVector(
double a[3],
double b[3]);
225 void SetDirectionAngle(
double elevation,
double azimuth);
253 virtual void SetLightType(
int);
254 vtkGetMacro(LightType,
int);
265 int LightTypeIsHeadlight();
266 int LightTypeIsSceneLight();
267 int LightTypeIsCameraLight();
277 vtkSetMacro(ShadowAttenuation,
float);
278 vtkGetMacro(ShadowAttenuation,
float);
293 double FocalPoint[3];
296 double AmbientColor[3];
297 double DiffuseColor[3];
298 double SpecularColor[3];
303 double AttenuationValues[3];
305 double TransformedFocalPointReturn[3];
306 double TransformedPositionReturn[3];
315 void operator=(
const vtkLight&) =
delete;
318 VTK_ABI_NAMESPACE_END
vtkInformation * Information
abstract base class for most VTK objects
represent and manipulate 4x4 transformation matrices
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
struct Position_t Position
vtkMatrix4x4 * TransformMatrix
#define VTK_LIGHT_TYPE_SCENE_LIGHT
abstract specification for renderers
void SetLightTypeToHeadlight()
Set/Get the type of the light.
#define VTK_LIGHT_TYPE_CAMERA_LIGHT
#define VTK_LIGHT_TYPE_HEADLIGHT
void SetColor(const double a[3])
Set/Get the color of the light.
void SetLightTypeToCameraLight()
Set/Get the type of the light.
a simple class to control print indentation
a virtual light for 3D rendering
#define VTK_SIZEHINT(...)
void SetFocalPoint(const float *a)
Set/Get the point at which the light is shining.
void SetDirectionAngle(const double ang[2])
Set the position and focal point of a light based on elevation and azimuth.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
void SetLightTypeToSceneLight()
Set/Get the type of the light.
virtual void Render(vtkRenderer *, int)
Abstract interface to renderer.
void SetPosition(const float *a)
Set/Get the position of the light.