94 #ifndef __vtkLightKit_h
95 #define __vtkLightKit_h
135 vtkSetMacro(KeyLightIntensity,
double);
136 vtkGetMacro(KeyLightIntensity,
double);
149 vtkGetMacro(KeyToFillRatio,
double);
163 vtkGetMacro(KeyToHeadRatio,
double);
173 vtkGetMacro(KeyToBackRatio,
double);
186 vtkSetMacro(KeyLightWarmth,
double);
187 vtkGetMacro(KeyLightWarmth,
double);
190 vtkSetMacro(FillLightWarmth,
double);
191 vtkGetMacro(FillLightWarmth,
double);
193 vtkSetMacro(HeadLightWarmth,
double);
194 vtkGetMacro(HeadLightWarmth,
double);
196 vtkSetMacro(BackLightWarmth,
double);
197 vtkGetMacro(BackLightWarmth,
double);
201 vtkGetVectorMacro(KeyLightColor,
double, 3);
202 vtkGetVectorMacro(FillLightColor,
double, 3);
203 vtkGetVectorMacro(HeadLightColor,
double, 3);
204 vtkGetVectorMacro(BackLightColor,
double, 3);
211 vtkBooleanMacro(MaintainLuminance,
int);
212 vtkGetMacro(MaintainLuminance,
int);
213 vtkSetMacro(MaintainLuminance,
int);
228 void SetKeyLightAngle(
double elevation,
double azimuth);
230 { this->SetKeyLightAngle(angle[0], angle[1]); }
234 { this->SetKeyLightAngle(x, this->KeyLightAngle[1]); }
237 { this->SetKeyLightAngle(this->KeyLightAngle[0], x); }
239 vtkGetVectorMacro(KeyLightAngle,
double, 2);
241 {
double ang[2]; this->GetKeyLightAngle(ang);
return ang[0]; }
244 {
double ang[2]; this->GetKeyLightAngle(ang);
return ang[1]; }
246 void SetFillLightAngle(
double elevation,
double azimuth);
248 { this->SetFillLightAngle(angle[0], angle[1]); }
251 { this->SetFillLightAngle(x, this->FillLightAngle[1]); }
254 { this->SetFillLightAngle(this->FillLightAngle[0], x); }
256 vtkGetVectorMacro(FillLightAngle,
double, 2);
258 double ang[2]; this->GetFillLightAngle(ang);
return ang[0]; }
261 {
double ang[2]; this->GetFillLightAngle(ang);
return ang[1]; }
263 void SetBackLightAngle(
double elevation,
double azimuth);
265 { this->SetBackLightAngle(angle[0], angle[1]); }
268 { this->SetBackLightAngle(x, this->BackLightAngle[1]); }
271 { this->SetBackLightAngle(this->BackLightAngle[0], x); }
273 vtkGetVectorMacro(BackLightAngle,
double, 2);
275 {
double ang[2]; this->GetBackLightAngle(ang);
return ang[0]; }
278 {
double ang[2]; this->GetBackLightAngle(ang);
return ang[1]; }
284 void RemoveLightsFromRenderer(
vtkRenderer *renderer);
293 static const char *GetStringFromType(
int type);
296 static const char *GetStringFromSubType(
int type);
301 static const char *GetShortStringFromSubType(
int subtype);
305 static LightKitSubType GetSubType(LightKitType
type,
int i);
311 void WarmthToRGBI(
double w,
double rgb[3],
double& i);
312 void WarmthToRGB(
double w,
double rgb[3]);
313 void InitializeWarmthFunctions();
314 double WarmthToIntensity(
double w);
324 double KeyLightAngle[2];
325 double KeyLightColor[3];
329 double FillLightAngle[2];
330 double FillLightColor[3];
333 double BackLightColor[3];
338 double BackLightAngle[2];
342 double HeadLightColor[3];
void SetFillLightAngle(double angle[2])
GLuint GLuint GLsizei GLenum type
abstract base class for most VTK objects
double GetFillLightAzimuth()
Defines a 1D piecewise function.
double GetBackLightAzimuth()
void SetBackLightAzimuth(double x)
void SetBackLightElevation(double x)
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)
abstract specification for renderers
a simple but quality lighting kit
void SetKeyLightAngle(double angle[2])
GLint GLint GLint GLint GLint x
GLubyte GLubyte GLubyte GLubyte w
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
double GetKeyLightElevation()
void SetKeyLightElevation(double x)
a virtual light for 3D rendering
void SetKeyLightAzimuth(double x)
double GetKeyLightAzimuth()
double GetBackLightElevation()
void SetFillLightElevation(double x)
void SetBackLightAngle(double angle[2])
#define VTKRENDERINGCORE_EXPORT
double GetFillLightElevation()
void SetFillLightAzimuth(double x)