139#include "vtkRenderingCoreModule.h"
140#include "vtkSetGet.h"
154#define VTK_WIREFRAME 1
157VTK_ABI_NAMESPACE_BEGIN
167class vtkPropertyInternals;
216 vtkGetMacro(Lighting,
bool);
217 vtkSetMacro(Lighting,
bool);
218 vtkBooleanMacro(Lighting,
bool);
241 vtkGetMacro(RenderPointsAsSpheres,
bool);
242 vtkSetMacro(RenderPointsAsSpheres,
bool);
243 vtkBooleanMacro(RenderPointsAsSpheres,
bool);
254 vtkGetMacro(RenderLinesAsTubes,
bool);
255 vtkSetMacro(RenderLinesAsTubes,
bool);
256 vtkBooleanMacro(RenderLinesAsTubes,
bool);
264 vtkGetMacro(Interpolation,
int);
269 const char* GetInterpolationAsString();
277 vtkGetMacro(Representation,
int);
281 const char* GetRepresentationAsString();
290 virtual void SetColor(
double r,
double g,
double b);
293 void GetColor(
double rgb[3]);
294 void GetColor(
double& r,
double& g,
double& b);
310 vtkGetMacro(BaseIOR,
double);
320 vtkSetClampMacro(Metallic,
double, 0.0, 1.0);
321 vtkGetMacro(Metallic,
double);
332 vtkSetClampMacro(Roughness,
double, 0.0, 1.0);
333 vtkGetMacro(Roughness,
double);
343 vtkSetClampMacro(Anisotropy,
double, 0.0, 1.0);
344 vtkGetMacro(Anisotropy,
double);
354 vtkSetClampMacro(AnisotropyRotation,
double, 0.0, 1.0);
355 vtkGetMacro(AnisotropyRotation,
double);
365 vtkGetMacro(CoatIOR,
double);
375 vtkSetClampMacro(CoatRoughness,
double, 0.0, 1.0);
376 vtkGetMacro(CoatRoughness,
double);
386 vtkSetClampMacro(CoatStrength,
double, 0.0, 1.0);
387 vtkGetMacro(CoatStrength,
double);
396 vtkSetVector3Macro(CoatColor,
double);
397 vtkGetVector3Macro(CoatColor,
double);
407 vtkSetClampMacro(CoatNormalScale,
double, 0.0, 1.0);
408 vtkGetMacro(CoatNormalScale,
double);
417 vtkSetMacro(NormalScale,
double);
418 vtkGetMacro(NormalScale,
double);
428 vtkSetClampMacro(OcclusionStrength,
double, 0.0, 1.0);
429 vtkGetMacro(OcclusionStrength,
double);
439 vtkSetVector3Macro(EmissiveFactor,
double);
440 vtkGetVector3Macro(EmissiveFactor,
double);
450 vtkSetVector3Macro(EdgeTint,
double);
451 vtkGetVector3Macro(EdgeTint,
double);
458 vtkSetClampMacro(Ambient,
double, 0.0, 1.0);
459 vtkGetMacro(Ambient,
double);
466 vtkSetClampMacro(Diffuse,
double, 0.0, 1.0);
467 vtkGetMacro(Diffuse,
double);
474 vtkSetClampMacro(Specular,
double, 0.0, 1.0);
475 vtkGetMacro(Specular,
double);
482 vtkSetClampMacro(SpecularPower,
double, 0.0, 128.0);
483 vtkGetMacro(SpecularPower,
double);
491 vtkSetClampMacro(Opacity,
double, 0.0, 1.0);
492 vtkGetMacro(Opacity,
double);
500 vtkSetClampMacro(EdgeOpacity,
double, 0.0, 1.0);
501 vtkGetMacro(EdgeOpacity,
double);
511 vtkSetVector3Macro(AmbientColor,
double);
512 vtkGetVector3Macro(AmbientColor,
double);
520 vtkSetVector3Macro(DiffuseColor,
double);
521 vtkGetVector3Macro(DiffuseColor,
double);
528 vtkSetVector3Macro(SpecularColor,
double);
529 vtkGetVector3Macro(SpecularColor,
double);
547 vtkSetVector3Macro(EdgeColor,
double);
548 vtkGetVector3Macro(EdgeColor,
double);
566 vtkSetVector3Macro(VertexColor,
double);
567 vtkGetVector3Macro(VertexColor,
double);
575 vtkSetVector4Macro(SelectionColor,
double);
576 vtkGetVector4Macro(SelectionColor,
double);
584 vtkSetMacro(SelectionLineWidth,
float);
585 vtkGetMacro(SelectionLineWidth,
float);
593 vtkSetMacro(SelectionPointSize,
float);
594 vtkGetMacro(SelectionPointSize,
float);
603 vtkGetMacro(LineWidth,
float);
614 vtkGetMacro(EdgeWidth,
float);
625 vtkBooleanMacro(UseLineWidthForEdgeThickness,
bool);
626 vtkSetMacro(UseLineWidthForEdgeThickness,
bool);
627 vtkGetMacro(UseLineWidthForEdgeThickness,
bool);
636 vtkSetMacro(LineStipplePattern,
int);
637 vtkGetMacro(LineStipplePattern,
int);
647 vtkGetMacro(LineStippleRepeatFactor,
int);
656 vtkGetMacro(PointSize,
float);
685 vtkSetStringMacro(MaterialName);
686 vtkGetStringMacro(MaterialName);
709 virtual
void AddShaderVariable(const
char*,
int,
int*)
713 virtual
void AddShaderVariable(const
char*,
int,
float*)
717 virtual
void AddShaderVariable(const
char*,
int,
double*)
727 void AddShaderVariable(const
char*,
int)
731 void AddShaderVariable(const
char*,
float)
735 void AddShaderVariable(const
char*,
double)
739 void AddShaderVariable(const
char*,
int,
int)
743 void AddShaderVariable(const
char*,
float,
float)
747 void AddShaderVariable(const
char*,
double,
double)
751 void AddShaderVariable(const
char*,
int,
int,
int)
755 void AddShaderVariable(const
char*,
float,
float,
float)
759 void AddShaderVariable(const
char*,
double,
double,
double)
769 vtkSetMacro(ShowTexturesOnBackface,
bool);
770 vtkGetMacro(ShowTexturesOnBackface,
bool);
771 vtkBooleanMacro(ShowTexturesOnBackface,
bool);
924 double diffuse,
const double diffuse_color[3],
double specular,
const double specular_color[3]);
927 double AmbientColor[3];
928 double DiffuseColor[3];
929 double SpecularColor[3];
931 double VertexColor[3];
932 double SelectionColor[4] = { 1.0, 0.0, 0.0, 1.0 };
947 double EmissiveFactor[3];
951 double EdgeOpacity = 1.0;
955 float EdgeWidth = 1.0;
956 float SelectionPointSize = 2.f;
957 float SelectionLineWidth = 2.f;
958 bool UseLineWidthForEdgeThickness =
true;
1007 return "Physically based rendering";
1030VTK_ABI_NAMESPACE_END
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 SetTexture(const char *name, vtkTexture *texture)
Set/Get the texture object to control rendering texture maps.
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.
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 SetBaseColorTexture(vtkTexture *texture)
Set the base color texture.
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.
vtkTexture * GetTexture(const char *name)
Set/Get the texture object to control rendering texture maps.
void SetInterpolationToPBR()
Set the shading interpolation method for an object.
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_DEPRECATED_IN_9_4_0(reason)
#define VTK_SIZEHINT(...)