36 #include "vtkRenderingCoreModule.h"
40 VTK_ABI_NAMESPACE_BEGIN
45 #define VTK_LIGHT_TYPE_HEADLIGHT 1
46 #define VTK_LIGHT_TYPE_CAMERA_LIGHT 2
47 #define VTK_LIGHT_TYPE_SCENE_LIGHT 3
88 vtkSetVector3Macro(AmbientColor,
double);
89 vtkGetVectorMacro(AmbientColor,
double, 3);
90 vtkSetVector3Macro(DiffuseColor,
double);
91 vtkGetVectorMacro(DiffuseColor,
double, 3);
92 vtkSetVector3Macro(SpecularColor,
double);
93 vtkGetVectorMacro(SpecularColor,
double, 3);
94 void SetColor(
double,
double,
double);
106 vtkSetVector3Macro(
Position,
double);
107 vtkGetVectorMacro(
Position,
double, 3);
119 vtkSetVector3Macro(FocalPoint,
double);
120 vtkGetVectorMacro(FocalPoint,
double, 3);
128 vtkSetMacro(Intensity,
double);
129 vtkGetMacro(Intensity,
double);
154 vtkSetClampMacro(Exponent,
double, 0.0, 128.0);
155 vtkGetMacro(Exponent,
double);
166 vtkSetMacro(ConeAngle,
double);
167 vtkGetMacro(ConeAngle,
double);
175 vtkSetVector3Macro(AttenuationValues,
double);
176 vtkGetVectorMacro(AttenuationValues,
double, 3);
194 void GetTransformedPosition(
double& x,
double& y,
double& z);
195 void GetTransformedPosition(
double a[3]);
204 void GetTransformedFocalPoint(
double& x,
double& y,
double& z);
205 void GetTransformedFocalPoint(
double a[3]);
212 void TransformPoint(
double a[3],
double b[3]);
217 void TransformVector(
double a[3],
double b[3]);
226 void SetDirectionAngle(
double elevation,
double azimuth);
254 virtual void SetLightType(
int);
255 vtkGetMacro(LightType,
int);
266 int LightTypeIsHeadlight();
267 int LightTypeIsSceneLight();
268 int LightTypeIsCameraLight();
278 vtkSetMacro(ShadowAttenuation,
float);
279 vtkGetMacro(ShadowAttenuation,
float);
294 double FocalPoint[3];
297 double AmbientColor[3];
298 double DiffuseColor[3];
299 double SpecularColor[3];
304 double AttenuationValues[3];
306 double TransformedFocalPointReturn[3];
307 double TransformedPositionReturn[3];
316 void operator=(
const vtkLight&) =
delete;
319 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.