50 #include "vtkRenderingCoreModule.h"
57 #define VTK_LIGHT_TYPE_HEADLIGHT 1
58 #define VTK_LIGHT_TYPE_CAMERA_LIGHT 2
59 #define VTK_LIGHT_TYPE_SCENE_LIGHT 3
100 vtkSetVector3Macro(AmbientColor,
double);
101 vtkGetVectorMacro(AmbientColor,
double,3);
102 vtkSetVector3Macro(DiffuseColor,
double);
103 vtkGetVectorMacro(DiffuseColor,
double,3);
104 vtkSetVector3Macro(SpecularColor,
double);
105 vtkGetVectorMacro(SpecularColor,
double,3);
106 void SetColor(
double,
double,
double);
118 vtkSetVector3Macro(Position,
double);
119 vtkGetVectorMacro(Position,
double,3);
131 vtkSetVector3Macro(FocalPoint,
double);
132 vtkGetVectorMacro(FocalPoint,
double,3);
141 vtkGetMacro(Intensity,
double);
158 vtkGetMacro(Positional,
int);
166 vtkSetClampMacro(Exponent,
double,0.0,128.0);
167 vtkGetMacro(Exponent,
double);
179 vtkGetMacro(ConeAngle,
double);
187 vtkSetVector3Macro(AttenuationValues,
double);
188 vtkGetVectorMacro(AttenuationValues,
double,3);
206 void GetTransformedPosition(
double &a0,
double &a1,
double &a2);
207 void GetTransformedPosition(
double a[3]);
208 double *GetTransformedPosition();
216 void GetTransformedFocalPoint(
double &a0,
double &a1,
double &a2);
217 void GetTransformedFocalPoint(
double a[3]);
218 double *GetTransformedFocalPoint();
228 void SetDirectionAngle(
double elevation,
double azimuth);
230 this->SetDirectionAngle(ang[0], ang[1]); };
257 vtkGetMacro(LightType,
int);
262 this->SetTransformMatrix(NULL);
273 int LightTypeIsHeadlight();
274 int LightTypeIsSceneLight();
275 int LightTypeIsCameraLight();
278 void ReadSelf(istream& is);
279 void WriteSelf(ostream& os);
289 vtkGetMacro(ShadowAttenuation,
float);
297 double FocalPoint[3];
300 double AmbientColor[3];
301 double DiffuseColor[3];
302 double SpecularColor[3];
307 double AttenuationValues[3];
309 double TransformedFocalPointReturn[3];
310 double TransformedPositionReturn[3];
316 void operator=(const
vtkLight&) VTK_DELETE_FUNCTION;
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.
vtkMatrix4x4 * TransformMatrix
#define VTK_LIGHT_TYPE_SCENE_LIGHT
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)
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
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
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.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
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.