48 #include "vtkRenderingCoreModule.h"
55 #define VTK_LIGHT_TYPE_HEADLIGHT 1
56 #define VTK_LIGHT_TYPE_CAMERA_LIGHT 2
57 #define VTK_LIGHT_TYPE_SCENE_LIGHT 3
98 vtkSetVector3Macro(AmbientColor,
double);
99 vtkGetVectorMacro(AmbientColor,
double, 3);
100 vtkSetVector3Macro(DiffuseColor,
double);
101 vtkGetVectorMacro(DiffuseColor,
double, 3);
102 vtkSetVector3Macro(SpecularColor,
double);
103 vtkGetVectorMacro(SpecularColor,
double, 3);
104 void SetColor(
double,
double,
double);
116 vtkSetVector3Macro(
Position,
double);
117 vtkGetVectorMacro(
Position,
double, 3);
129 vtkSetVector3Macro(FocalPoint,
double);
130 vtkGetVectorMacro(FocalPoint,
double, 3);
138 vtkSetMacro(Intensity,
double);
139 vtkGetMacro(Intensity,
double);
164 vtkSetClampMacro(Exponent,
double, 0.0, 128.0);
165 vtkGetMacro(Exponent,
double);
176 vtkSetMacro(ConeAngle,
double);
177 vtkGetMacro(ConeAngle,
double);
185 vtkSetVector3Macro(AttenuationValues,
double);
186 vtkGetVectorMacro(AttenuationValues,
double, 3);
204 void GetTransformedPosition(
double& x,
double& y,
double& z);
205 void GetTransformedPosition(
double a[3]);
214 void GetTransformedFocalPoint(
double& x,
double& y,
double& z);
215 void GetTransformedFocalPoint(
double a[3]);
222 void TransformPoint(
double a[3],
double b[3]);
227 void TransformVector(
double a[3],
double b[3]);
236 void SetDirectionAngle(
double elevation,
double azimuth);
264 virtual void SetLightType(
int);
265 vtkGetMacro(LightType,
int);
276 int LightTypeIsHeadlight();
277 int LightTypeIsSceneLight();
278 int LightTypeIsCameraLight();
288 vtkSetMacro(ShadowAttenuation,
float);
289 vtkGetMacro(ShadowAttenuation,
float);
304 double FocalPoint[3];
307 double AmbientColor[3];
308 double DiffuseColor[3];
309 double SpecularColor[3];
314 double AttenuationValues[3];
316 double TransformedFocalPointReturn[3];
317 double TransformedPositionReturn[3];
326 void operator=(
const vtkLight&) =
delete;
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.