36#include "vtkRenderingCoreModule.h"
40VTK_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);
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);
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);
255 vtkGetMacro(LightType,
int);
278 vtkSetMacro(ShadowAttenuation,
float);
279 vtkGetMacro(ShadowAttenuation,
float);
296 double FocalPoint[3];
299 double AmbientColor[3];
300 double DiffuseColor[3];
301 double SpecularColor[3];
306 double AttenuationValues[3];
308 double TransformedFocalPointReturn[3];
309 double TransformedPositionReturn[3];
311 float ShadowAttenuation;
318 void operator=(const
vtkLight&) = delete;
a simple class to control print indentation
a virtual light for 3D rendering
void SetDirectionAngle(const double ang[2])
Set the position and focal point of a light based on elevation and azimuth.
int LightTypeIsHeadlight()
Query the type of the light.
void SetLightTypeToHeadlight()
Set/Get the type of the light.
virtual void SetLightType(int)
Set/Get the type of the light.
virtual void SetTransformMatrix(vtkMatrix4x4 *)
Set/Get the light's transformation matrix.
void SetFocalPoint(const float *a)
Set/Get the point at which the light is shining.
void SetColor(const double a[3])
Set/Get the color of the light.
void GetTransformedPosition(double &x, double &y, double &z)
Get the position of the light, modified by the transformation matrix (if it exists).
int LightTypeIsSceneLight()
Query the type of the light.
double * GetTransformedPosition()
Get the position of the light, modified by the transformation matrix (if it exists).
virtual vtkLight * ShallowClone()
Create a new light object with the same light parameters than the current object (any ivar from the s...
void SetPosition(const float *a)
Set/Get the position of the light.
void SetLightTypeToSceneLight()
Set/Get the type of the light.
static vtkLight * New()
Create a light with the focal point at the origin and its position set to (0,0,1).
void SetLightTypeToCameraLight()
Set/Get the type of the light.
virtual void Render(vtkRenderer *, int)
Abstract interface to renderer.
void DeepCopy(vtkLight *light)
Perform deep copy of this light.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetColor(double, double, double)
Set/Get the color of the light.
void GetTransformedPosition(double a[3])
Get the position of the light, modified by the transformation matrix (if it exists).
int LightTypeIsCameraLight()
Query the type of the light.
represent and manipulate 4x4 transformation matrices
abstract base class for most VTK objects
abstract specification for renderers
#define VTK_LIGHT_TYPE_SCENE_LIGHT
#define VTK_LIGHT_TYPE_CAMERA_LIGHT
#define VTK_LIGHT_TYPE_HEADLIGHT
#define VTK_SIZEHINT(...)
#define VTK_MARSHAL_EXCLUDE_REASON_NOT_SUPPORTED
#define VTK_MARSHALEXCLUDE(reason)