138#include "vtkRenderingCoreModule.h"
139#include "vtkSetGet.h"
153#define VTK_WIREFRAME 1
156VTK_ABI_NAMESPACE_BEGIN
166class vtkPropertyInternals;
215 vtkGetMacro(Lighting,
bool);
216 vtkSetMacro(Lighting,
bool);
217 vtkBooleanMacro(Lighting,
bool);
240 vtkGetMacro(RenderPointsAsSpheres,
bool);
241 vtkSetMacro(RenderPointsAsSpheres,
bool);
242 vtkBooleanMacro(RenderPointsAsSpheres,
bool);
267 vtkGetMacro(RenderLinesAsTubes,
bool);
268 vtkSetMacro(RenderLinesAsTubes,
bool);
269 vtkBooleanMacro(RenderLinesAsTubes,
bool);
277 vtkGetMacro(Interpolation,
int);
282 const char* GetInterpolationAsString();
290 vtkGetMacro(Representation,
int);
294 const char* GetRepresentationAsString();
303 virtual void SetColor(
double r,
double g,
double b);
306 void GetColor(
double rgb[3]);
307 void GetColor(
double& r,
double& g,
double& b);
323 vtkGetMacro(BaseIOR,
double);
333 vtkSetClampMacro(Metallic,
double, 0.0, 1.0);
334 vtkGetMacro(Metallic,
double);
345 vtkSetClampMacro(Roughness,
double, 0.0, 1.0);
346 vtkGetMacro(Roughness,
double);
356 vtkSetClampMacro(Anisotropy,
double, 0.0, 1.0);
357 vtkGetMacro(Anisotropy,
double);
367 vtkSetClampMacro(AnisotropyRotation,
double, 0.0, 1.0);
368 vtkGetMacro(AnisotropyRotation,
double);
378 vtkGetMacro(CoatIOR,
double);
388 vtkSetClampMacro(CoatRoughness,
double, 0.0, 1.0);
389 vtkGetMacro(CoatRoughness,
double);
399 vtkSetClampMacro(CoatStrength,
double, 0.0, 1.0);
400 vtkGetMacro(CoatStrength,
double);
409 vtkSetVector3Macro(CoatColor,
double);
410 vtkGetVector3Macro(CoatColor,
double);
420 vtkSetClampMacro(CoatNormalScale,
double, 0.0, 1.0);
421 vtkGetMacro(CoatNormalScale,
double);
430 vtkSetMacro(NormalScale,
double);
431 vtkGetMacro(NormalScale,
double);
441 vtkSetClampMacro(OcclusionStrength,
double, 0.0, 1.0);
442 vtkGetMacro(OcclusionStrength,
double);
452 vtkSetVector3Macro(EmissiveFactor,
double);
453 vtkGetVector3Macro(EmissiveFactor,
double);
463 vtkSetVector3Macro(EdgeTint,
double);
464 vtkGetVector3Macro(EdgeTint,
double);
471 vtkSetClampMacro(Ambient,
double, 0.0, 1.0);
472 vtkGetMacro(Ambient,
double);
479 vtkSetClampMacro(Diffuse,
double, 0.0, 1.0);
480 vtkGetMacro(Diffuse,
double);
487 vtkSetClampMacro(Specular,
double, 0.0, 1.0);
488 vtkGetMacro(Specular,
double);
495 vtkSetClampMacro(SpecularPower,
double, 0.0, 128.0);
496 vtkGetMacro(SpecularPower,
double);
504 vtkSetClampMacro(Opacity,
double, 0.0, 1.0);
505 vtkGetMacro(Opacity,
double);
513 vtkSetClampMacro(EdgeOpacity,
double, 0.0, 1.0);
514 vtkGetMacro(EdgeOpacity,
double);
524 vtkSetVector3Macro(AmbientColor,
double);
525 vtkGetVector3Macro(AmbientColor,
double);
533 vtkSetVector3Macro(DiffuseColor,
double);
534 vtkGetVector3Macro(DiffuseColor,
double);
541 vtkSetVector3Macro(SpecularColor,
double);
542 vtkGetVector3Macro(SpecularColor,
double);
560 vtkSetVector3Macro(EdgeColor,
double);
561 vtkGetVector3Macro(EdgeColor,
double);
579 vtkSetVector3Macro(VertexColor,
double);
580 vtkGetVector3Macro(VertexColor,
double);
588 vtkSetVector4Macro(SelectionColor,
double);
589 vtkGetVector4Macro(SelectionColor,
double);
597 vtkSetMacro(SelectionLineWidth,
float);
598 vtkGetMacro(SelectionLineWidth,
float);
606 vtkSetMacro(SelectionPointSize,
float);
607 vtkGetMacro(SelectionPointSize,
float);
616 vtkGetMacro(LineWidth,
float);
627 vtkGetMacro(EdgeWidth,
float);
638 vtkBooleanMacro(UseLineWidthForEdgeThickness,
bool);
639 vtkSetMacro(UseLineWidthForEdgeThickness,
bool);
640 vtkGetMacro(UseLineWidthForEdgeThickness,
bool);
649 vtkSetMacro(LineStipplePattern,
int);
650 vtkGetMacro(LineStipplePattern,
int);
660 vtkGetMacro(LineStippleRepeatFactor,
int);
669 vtkGetMacro(PointSize,
float);
698 vtkSetStringMacro(MaterialName);
699 vtkGetStringMacro(MaterialName);
717 vtkSetMacro(ShowTexturesOnBackface,
bool);
718 vtkGetMacro(ShowTexturesOnBackface,
bool);
719 vtkBooleanMacro(ShowTexturesOnBackface,
bool);
746 void SetBaseColorTexture(
vtkTexture* texture) { this->SetTexture(
"albedoTex", texture); }
872 double diffuse,
const double diffuse_color[3],
double specular,
const double specular_color[3]);
875 double AmbientColor[3];
876 double DiffuseColor[3];
877 double SpecularColor[3];
879 double VertexColor[3];
880 double SelectionColor[4] = { 1.0, 0.0, 0.0, 1.0 };
895 double EmissiveFactor[3];
899 double EdgeOpacity = 1.0;
903 float EdgeWidth = 1.0;
904 float SelectionPointSize = 2.f;
905 float SelectionLineWidth = 2.f;
906 bool UseLineWidthForEdgeThickness =
true;
956 return "Physically based rendering";
represents an object (geometry & properties) in a rendered scene
a simple class to control print indentation
abstract base class for most VTK objects
represent surface properties of a geometric object
static vtkProperty * New()
Construct object with object color, ambient color, diffuse color, specular color, and edge color whit...
void SetAllTextures(std::map< std::string, vtkTexture * > &textures)
Set/get all the textures in this property and their names.
double ComputeReflectanceOfBaseLayer()
For PBR, calculate the reflectance of the base layer depending on the presence of a coat layer.
vtkGetEnumMacro(Point2DShape, Point2DShapeType)
std::map< std::string, vtkTexture * > MapOfTextures
void SetRepresentationToPoints()
Control the surface geometry representation for the object.
void SetRepresentationToWireframe()
Control the surface geometry representation for the object.
virtual void SetInformation(vtkInformation *)
Set/Get the information object associated with the Property.
int LineStippleRepeatFactor
double AnisotropyRotation
double * GetColor()
Set the color of the object.
static void ComputeCompositeColor(double result[3], double ambient, const double ambient_color[3], double diffuse, const double diffuse_color[3], double specular, const double specular_color[3])
Computes composite color.
virtual void SetColor(double a[3])
Set the color of the object.
virtual void BackfaceRender(vtkActor *, vtkRenderer *)
This method renders the property as a backface property.
vtkGetEnumMacro(LineJoin, LineJoinType)
void SetNormalTexture(vtkTexture *texture)
Set the normal texture.
int GetNumberOfTextures()
Returns the number of textures in this property.
void SetEmissiveTexture(vtkTexture *texture)
Set the emissive texture.
void SetInterpolationToFlat()
Set the shading interpolation method for an object.
void RemoveAllTextures()
Remove all the textures.
void SetCoatNormalTexture(vtkTexture *texture)
Set the coat normal texture.
void SetInterpolationToGouraud()
Set the shading interpolation method for an object.
vtkSetEnumMacro(Point2DShape, Point2DShapeType)
Set/Get the 2D shape of points to use when RenderPointsAsSpheres=false.
vtkTypeBool BackfaceCulling
void DeepCopy(vtkProperty *p)
Assign one property to another.
void SetInterpolationToPBR()
Set the shading interpolation method for an object.
vtkSetEnumMacro(LineJoin, LineJoinType)
Set/Get the 2D shape of points to use when RenderPointsAsSpheres=false.
virtual void Render(vtkActor *, vtkRenderer *)
This method causes the property to set up whatever is required for its instance variables.
const char * GetInterpolationAsString()
Return the method of shading as a descriptive character string.
void SetRepresentationToSurface()
Control the surface geometry representation for the object.
void SetInterpolationToPhong()
Set the shading interpolation method for an object.
bool RenderPointsAsSpheres
void SetORMTexture(vtkTexture *texture)
Set the ORM texture.
virtual void SetColor(double r, double g, double b)
Set the color of the object.
vtkInformation * Information
static double ComputeReflectanceFromIOR(double IORTo, double IORFrom)
For PBR, calculate the reflectance from the refractive index of ingoing and outgoing interfaces.
virtual void ReleaseGraphicsResources(vtkWindow *win)
Release any graphics resources that are being consumed by this property.
vtkTypeBool EdgeVisibility
vtkTypeBool VertexVisibility
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetAnisotropyTexture(vtkTexture *texture)
Set the anisotropy texture.
vtkTypeBool FrontfaceCulling
void RemoveTexture(const char *name)
Remove a texture from the collection.
bool ShowTexturesOnBackface
static double ComputeIORFromReflectance(double reflectance, double ior)
For PBR, calculate the refractive index from the reflectance of the interface and the refractive inde...
virtual void PostRender(vtkActor *, vtkRenderer *)
This method is called after the actor has been rendered.
std::map< std::string, vtkTexture * > & GetAllTextures()
Set/get all the textures in this property and their names.
const char * GetRepresentationAsString()
Return the method of shading as a descriptive character string.
abstract specification for renderers
The ShaderProgram uses one or more Shader objects.
handles properties associated with a texture map
window superclass for vtkRenderWindow
Represents an XML element and those nested inside.
#define VTK_SIZEHINT(...)