140 #ifndef vtkProperty_h
141 #define vtkProperty_h
144 #include "vtkRenderingCoreModule.h"
150 #define VTK_GOURAUD 1
156 #define VTK_WIREFRAME 1
157 #define VTK_SURFACE 2
166 class vtkXMLMaterial;
168 class vtkPropertyInternals;
217 vtkGetMacro(Lighting,
bool);
218 vtkSetMacro(Lighting,
bool);
219 vtkBooleanMacro(Lighting,
bool);
229 vtkGetMacro(RenderPointsAsSpheres,
bool);
230 vtkSetMacro(RenderPointsAsSpheres,
bool);
231 vtkBooleanMacro(RenderPointsAsSpheres,
bool);
242 vtkGetMacro(RenderLinesAsTubes,
bool);
243 vtkSetMacro(RenderLinesAsTubes,
bool);
244 vtkBooleanMacro(RenderLinesAsTubes,
bool);
252 vtkGetMacro(Interpolation,
int);
257 const char* GetInterpolationAsString();
265 vtkGetMacro(Representation,
int);
269 const char* GetRepresentationAsString();
278 virtual void SetColor(
double r,
double g,
double b);
281 void GetColor(
double rgb[3]);
282 void GetColor(
double& r,
double& g,
double& b);
298 vtkGetMacro(BaseIOR,
double);
308 vtkSetClampMacro(Metallic,
double, 0.0, 1.0);
309 vtkGetMacro(Metallic,
double);
320 vtkSetClampMacro(Roughness,
double, 0.0, 1.0);
321 vtkGetMacro(Roughness,
double);
331 vtkSetClampMacro(Anisotropy,
double, 0.0, 1.0);
332 vtkGetMacro(Anisotropy,
double);
342 vtkSetClampMacro(AnisotropyRotation,
double, 0.0, 1.0);
343 vtkGetMacro(AnisotropyRotation,
double);
353 vtkGetMacro(CoatIOR,
double);
363 vtkSetClampMacro(CoatRoughness,
double, 0.0, 1.0);
364 vtkGetMacro(CoatRoughness,
double);
374 vtkSetClampMacro(CoatStrength,
double, 0.0, 1.0);
375 vtkGetMacro(CoatStrength,
double);
384 vtkSetVector3Macro(CoatColor,
double);
385 vtkGetVector3Macro(CoatColor,
double);
395 vtkSetClampMacro(CoatNormalScale,
double, 0.0, 1.0);
396 vtkGetMacro(CoatNormalScale,
double);
405 vtkSetMacro(NormalScale,
double);
406 vtkGetMacro(NormalScale,
double);
416 vtkSetClampMacro(OcclusionStrength,
double, 0.0, 1.0);
417 vtkGetMacro(OcclusionStrength,
double);
427 vtkSetVector3Macro(EmissiveFactor,
double);
428 vtkGetVector3Macro(EmissiveFactor,
double);
438 vtkSetVector3Macro(EdgeTint,
double);
439 vtkGetVector3Macro(EdgeTint,
double);
446 vtkSetClampMacro(Ambient,
double, 0.0, 1.0);
447 vtkGetMacro(Ambient,
double);
454 vtkSetClampMacro(Diffuse,
double, 0.0, 1.0);
455 vtkGetMacro(Diffuse,
double);
462 vtkSetClampMacro(Specular,
double, 0.0, 1.0);
463 vtkGetMacro(Specular,
double);
470 vtkSetClampMacro(SpecularPower,
double, 0.0, 128.0);
471 vtkGetMacro(SpecularPower,
double);
479 vtkSetClampMacro(Opacity,
double, 0.0, 1.0);
480 vtkGetMacro(Opacity,
double);
490 vtkSetVector3Macro(AmbientColor,
double);
491 vtkGetVector3Macro(AmbientColor,
double);
499 vtkSetVector3Macro(DiffuseColor,
double);
500 vtkGetVector3Macro(DiffuseColor,
double);
507 vtkSetVector3Macro(SpecularColor,
double);
508 vtkGetVector3Macro(SpecularColor,
double);
526 vtkSetVector3Macro(EdgeColor,
double);
527 vtkGetVector3Macro(EdgeColor,
double);
545 vtkSetVector3Macro(VertexColor,
double);
546 vtkGetVector3Macro(VertexColor,
double);
554 vtkSetVector4Macro(SelectionColor,
double);
555 vtkGetVector4Macro(SelectionColor,
double);
563 vtkSetMacro(SelectionLineWidth,
float);
564 vtkGetMacro(SelectionLineWidth,
float);
572 vtkSetMacro(SelectionPointSize,
float);
573 vtkGetMacro(SelectionPointSize,
float);
582 vtkGetMacro(LineWidth,
float);
591 vtkSetMacro(LineStipplePattern,
int);
592 vtkGetMacro(LineStipplePattern,
int);
602 vtkGetMacro(LineStippleRepeatFactor,
int);
611 vtkGetMacro(PointSize,
float);
640 vtkSetStringMacro(MaterialName);
641 vtkGetStringMacro(MaterialName);
663 virtual
void AddShaderVariable(const
char*
name,
int numVars,
int* x);
664 virtual
void AddShaderVariable(const
char*
name,
int numVars,
float* x);
665 virtual
void AddShaderVariable(const
char*
name,
int numVars,
double* x);
677 int v[2] = { v1, v2 };
678 this->AddShaderVariable(
name, 2, v);
682 float v[2] = { v1, v2 };
683 this->AddShaderVariable(
name, 2, v);
687 double v[2] = { v1, v2 };
688 this->AddShaderVariable(
name, 2, v);
692 int v[3] = { v1, v2, v3 };
693 this->AddShaderVariable(
name, 3, v);
697 float v[3] = { v1, v2, v3 };
698 this->AddShaderVariable(
name, 3, v);
702 double v[3] = { v1, v2, v3 };
703 this->AddShaderVariable(
name, 3, v);
712 vtkSetMacro(ShowTexturesOnBackface,
bool);
713 vtkGetMacro(ShowTexturesOnBackface,
bool);
714 vtkBooleanMacro(ShowTexturesOnBackface,
bool);
864 double diffuse,
const double diffuse_color[3],
double specular,
const double specular_color[3]);
867 double AmbientColor[3];
868 double DiffuseColor[3];
869 double SpecularColor[3];
871 double VertexColor[3];
872 double SelectionColor[4] = { 1.0, 0.0, 0.0, 1.0 };
887 double EmissiveFactor[3];
894 float SelectionPointSize = 2.f;
895 float SelectionLineWidth = 2.f;
943 return "Physically based rendering";