29 #include "vtkRenderingCoreModule.h"
30 #include "vtkSetGet.h"
44 #define VTK_WIREFRAME 1
47 VTK_ABI_NAMESPACE_BEGIN
57 class vtkPropertyInternals;
106 vtkGetMacro(Lighting,
bool);
107 vtkSetMacro(Lighting,
bool);
108 vtkBooleanMacro(Lighting,
bool);
121 vtkSetEnumMacro(Point2DShape, Point2DShapeType);
122 vtkGetEnumMacro(Point2DShape, Point2DShapeType);
131 vtkGetMacro(RenderPointsAsSpheres,
bool);
132 vtkSetMacro(RenderPointsAsSpheres,
bool);
133 vtkBooleanMacro(RenderPointsAsSpheres,
bool);
147 vtkSetEnumMacro(LineJoin, LineJoinType);
148 vtkGetEnumMacro(LineJoin, LineJoinType);
158 vtkGetMacro(RenderLinesAsTubes,
bool);
159 vtkSetMacro(RenderLinesAsTubes,
bool);
160 vtkBooleanMacro(RenderLinesAsTubes,
bool);
168 vtkGetMacro(Interpolation,
int);
173 const char* GetInterpolationAsString();
181 vtkGetMacro(Representation,
int);
185 const char* GetRepresentationAsString();
194 virtual void SetColor(
double r,
double g,
double b);
195 virtual void SetColor(
double a[3]);
197 void GetColor(
double rgb[3]);
198 void GetColor(
double& r,
double& g,
double& b);
214 vtkGetMacro(BaseIOR,
double);
224 vtkSetClampMacro(Metallic,
double, 0.0, 1.0);
225 vtkGetMacro(Metallic,
double);
236 vtkSetClampMacro(Roughness,
double, 0.0, 1.0);
237 vtkGetMacro(Roughness,
double);
247 vtkSetClampMacro(Anisotropy,
double, 0.0, 1.0);
248 vtkGetMacro(Anisotropy,
double);
258 vtkSetClampMacro(AnisotropyRotation,
double, 0.0, 1.0);
259 vtkGetMacro(AnisotropyRotation,
double);
268 vtkSetClampMacro(CoatIOR,
double, 1.0, VTK_FLOAT_MAX);
269 vtkGetMacro(CoatIOR,
double);
279 vtkSetClampMacro(CoatRoughness,
double, 0.0, 1.0);
280 vtkGetMacro(CoatRoughness,
double);
290 vtkSetClampMacro(CoatStrength,
double, 0.0, 1.0);
291 vtkGetMacro(CoatStrength,
double);
300 vtkSetVector3Macro(CoatColor,
double);
301 vtkGetVector3Macro(CoatColor,
double);
311 vtkSetClampMacro(CoatNormalScale,
double, 0.0, 1.0);
312 vtkGetMacro(CoatNormalScale,
double);
321 vtkSetMacro(NormalScale,
double);
322 vtkGetMacro(NormalScale,
double);
332 vtkSetClampMacro(OcclusionStrength,
double, 0.0, 1.0);
333 vtkGetMacro(OcclusionStrength,
double);
343 vtkSetVector3Macro(EmissiveFactor,
double);
344 vtkGetVector3Macro(EmissiveFactor,
double);
354 vtkSetVector3Macro(EdgeTint,
double);
355 vtkGetVector3Macro(EdgeTint,
double);
362 vtkSetClampMacro(Ambient,
double, 0.0, 1.0);
363 vtkGetMacro(Ambient,
double);
370 vtkSetClampMacro(Diffuse,
double, 0.0, 1.0);
371 vtkGetMacro(Diffuse,
double);
378 vtkSetClampMacro(Specular,
double, 0.0, 1.0);
379 vtkGetMacro(Specular,
double);
386 vtkSetClampMacro(SpecularPower,
double, 0.0, 128.0);
387 vtkGetMacro(SpecularPower,
double);
395 vtkSetClampMacro(Opacity,
double, 0.0, 1.0);
396 vtkGetMacro(Opacity,
double);
404 vtkSetClampMacro(EdgeOpacity,
double, 0.0, 1.0);
405 vtkGetMacro(EdgeOpacity,
double);
415 vtkSetVector3Macro(AmbientColor,
double);
416 vtkGetVector3Macro(AmbientColor,
double);
424 vtkSetVector3Macro(DiffuseColor,
double);
425 vtkGetVector3Macro(DiffuseColor,
double);
432 vtkSetVector3Macro(SpecularColor,
double);
433 vtkGetVector3Macro(SpecularColor,
double);
443 vtkSetMacro(EdgeVisibility, vtkTypeBool);
444 vtkBooleanMacro(EdgeVisibility, vtkTypeBool);
451 vtkSetVector3Macro(EdgeColor,
double);
452 vtkGetVector3Macro(EdgeColor,
double);
461 vtkGetMacro(VertexVisibility, vtkTypeBool);
462 vtkSetMacro(VertexVisibility, vtkTypeBool);
463 vtkBooleanMacro(VertexVisibility, vtkTypeBool);
470 vtkSetVector3Macro(VertexColor,
double);
471 vtkGetVector3Macro(VertexColor,
double);
479 vtkSetVector4Macro(SelectionColor,
double);
480 vtkGetVector4Macro(SelectionColor,
double);
488 vtkSetMacro(SelectionLineWidth,
float);
489 vtkGetMacro(SelectionLineWidth,
float);
497 vtkSetMacro(SelectionPointSize,
float);
498 vtkGetMacro(SelectionPointSize,
float);
506 vtkSetClampMacro(LineWidth,
float, 0, VTK_FLOAT_MAX);
507 vtkGetMacro(LineWidth,
float);
517 vtkSetClampMacro(EdgeWidth,
float, 0, VTK_FLOAT_MAX);
518 vtkGetMacro(EdgeWidth,
float);
529 vtkBooleanMacro(UseLineWidthForEdgeThickness,
bool);
530 vtkSetMacro(UseLineWidthForEdgeThickness,
bool);
531 vtkGetMacro(UseLineWidthForEdgeThickness,
bool);
540 vtkSetMacro(LineStipplePattern,
int);
541 vtkGetMacro(LineStipplePattern,
int);
550 vtkSetClampMacro(LineStippleRepeatFactor,
int, 1,
VTK_INT_MAX);
551 vtkGetMacro(LineStippleRepeatFactor,
int);
559 vtkSetClampMacro(PointSize,
float, 0, VTK_FLOAT_MAX);
560 vtkGetMacro(PointSize,
float);
569 vtkGetMacro(BackfaceCulling, vtkTypeBool);
570 vtkSetMacro(BackfaceCulling, vtkTypeBool);
571 vtkBooleanMacro(BackfaceCulling, vtkTypeBool);
580 vtkGetMacro(FrontfaceCulling, vtkTypeBool);
581 vtkSetMacro(FrontfaceCulling, vtkTypeBool);
582 vtkBooleanMacro(FrontfaceCulling, vtkTypeBool);
589 vtkSetStringMacro(MaterialName);
590 vtkGetStringMacro(MaterialName);
598 vtkSetMacro(Shading, vtkTypeBool);
599 vtkGetMacro(Shading, vtkTypeBool);
600 vtkBooleanMacro(Shading, vtkTypeBool);
608 vtkSetMacro(ShowTexturesOnBackface,
bool);
609 vtkGetMacro(ShowTexturesOnBackface,
bool);
610 vtkBooleanMacro(ShowTexturesOnBackface,
bool);
637 void SetBaseColorTexture(
vtkTexture* texture) { this->SetTexture(
"albedoTex", texture); }
694 void RemoveTexture(
const char*
name);
699 void RemoveAllTextures();
704 int GetNumberOfTextures();
710 void SetAllTextures(std::map<std::string, vtkTexture*>& textures);
719 virtual void ReleaseGraphicsResources(
vtkWindow* win);
734 static double ComputeReflectanceFromIOR(
double IORTo,
double IORFrom);
742 static double ComputeIORFromReflectance(
double reflectance,
double ior);
752 double ComputeReflectanceOfBaseLayer();
762 static void ComputeCompositeColor(
double result[3],
double ambient,
const double ambient_color[3],
763 double diffuse,
const double diffuse_color[3],
double specular,
const double specular_color[3]);
766 double AmbientColor[3];
767 double DiffuseColor[3];
768 double SpecularColor[3];
770 double VertexColor[3];
771 double SelectionColor[4] = { 1.0, 0.0, 0.0, 1.0 };
786 double EmissiveFactor[3];
790 double EdgeOpacity = 1.0;
794 float EdgeWidth = 1.0;
795 float SelectionPointSize = 2.f;
796 float SelectionLineWidth = 2.f;
797 bool UseLineWidthForEdgeThickness =
true;
847 return "Physically based rendering";
870 VTK_ABI_NAMESPACE_END
void SetORMTexture(vtkTexture *texture)
Set the ORM texture.
represents an object (geometry & properties) in a rendered scene
void SetInterpolationToPhong()
Set the shading interpolation method for an object.
abstract base class for most VTK objects
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Represents an XML element and those nested inside.
vtkTypeBool EdgeVisibility
represent surface properties of a geometric object
const char * GetRepresentationAsString()
Return the method of shading as a descriptive character string.
void SetInterpolationToPBR()
Set the shading interpolation method for an object.
void SetInterpolationToFlat()
Set the shading interpolation method for an object.
abstract specification for renderers
bool ShowTexturesOnBackface
std::map< std::string, vtkTexture * > MapOfTextures
void SetEmissiveTexture(vtkTexture *texture)
Set the emissive texture.
void SetRepresentationToPoints()
Control the surface geometry representation for the object.
void SetInterpolationToGouraud()
Set the shading interpolation method for an object.
window superclass for vtkRenderWindow
a simple class to control print indentation
void SetCoatNormalTexture(vtkTexture *texture)
Set the coat normal texture.
void SetRepresentationToWireframe()
Control the surface geometry representation for the object.
handles properties associated with a texture map
void SetRepresentationToSurface()
Control the surface geometry representation for the object.
void SetNormalTexture(vtkTexture *texture)
Set the normal texture.
#define VTK_SIZEHINT(...)
void SetAnisotropyTexture(vtkTexture *texture)
Set the anisotropy texture.
virtual void BackfaceRender(vtkActor *, vtkRenderer *)
This method renders the property as a backface property.
vtkTypeBool FrontfaceCulling
double AnisotropyRotation
int LineStippleRepeatFactor
std::map< std::string, vtkTexture * > & GetAllTextures()
Set/get all the textures in this property and their names.
const char * GetInterpolationAsString()
Return the method of shading as a descriptive character string.
bool RenderPointsAsSpheres
vtkTypeBool VertexVisibility
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkInformation * Information
vtkTypeBool BackfaceCulling
The ShaderProgram uses one or more Shader objects.