44 #include "vtkRenderingCoreModule.h" 51 #define VTK_LIGHT_TYPE_HEADLIGHT 1 52 #define VTK_LIGHT_TYPE_CAMERA_LIGHT 2 53 #define VTK_LIGHT_TYPE_SCENE_LIGHT 3 94 vtkSetVector3Macro(AmbientColor,
double);
95 vtkGetVectorMacro(AmbientColor,
double,3);
96 vtkSetVector3Macro(DiffuseColor,
double);
97 vtkGetVectorMacro(DiffuseColor,
double,3);
98 vtkSetVector3Macro(SpecularColor,
double);
99 vtkGetVectorMacro(SpecularColor,
double,3);
100 void SetColor(
double,
double,
double);
112 vtkSetVector3Macro(Position,
double);
113 vtkGetVectorMacro(Position,
double,3);
125 vtkSetVector3Macro(FocalPoint,
double);
126 vtkGetVectorMacro(FocalPoint,
double,3);
135 vtkGetMacro(Intensity,
double);
152 vtkGetMacro(Positional,
int);
160 vtkSetClampMacro(Exponent,
double,0.0,128.0);
161 vtkGetMacro(Exponent,
double);
173 vtkGetMacro(ConeAngle,
double);
181 vtkSetVector3Macro(AttenuationValues,
double);
182 vtkGetVectorMacro(AttenuationValues,
double,3);
200 void GetTransformedPosition(
double &a0,
double &a1,
double &a2);
201 void GetTransformedPosition(
double a[3]);
202 double *GetTransformedPosition();
210 void GetTransformedFocalPoint(
double &a0,
double &a1,
double &a2);
211 void GetTransformedFocalPoint(
double a[3]);
212 double *GetTransformedFocalPoint();
222 void SetDirectionAngle(
double elevation,
double azimuth);
224 this->SetDirectionAngle(ang[0], ang[1]); };
251 vtkGetMacro(LightType,
int);
256 this->SetTransformMatrix(NULL);
267 int LightTypeIsHeadlight();
268 int LightTypeIsSceneLight();
269 int LightTypeIsCameraLight();
272 void ReadSelf(istream& is);
273 void WriteSelf(ostream& os);
283 vtkGetMacro(ShadowAttenuation,
float);
291 double FocalPoint[3];
294 double AmbientColor[3];
295 double DiffuseColor[3];
296 double SpecularColor[3];
301 double AttenuationValues[3];
303 double TransformedFocalPointReturn[3];
304 double TransformedPositionReturn[3];
306 float ShadowAttenuation;
310 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.
#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
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.