139#include "vtkRenderingCoreModule.h"
153#define VTK_WIREFRAME 1
156VTK_ABI_NAMESPACE_BEGIN
166class vtkPropertyInternals;
215 vtkGetMacro(Lighting,
bool);
216 vtkSetMacro(Lighting,
bool);
217 vtkBooleanMacro(Lighting,
bool);
227 vtkGetMacro(RenderPointsAsSpheres,
bool);
228 vtkSetMacro(RenderPointsAsSpheres,
bool);
229 vtkBooleanMacro(RenderPointsAsSpheres,
bool);
240 vtkGetMacro(RenderLinesAsTubes,
bool);
241 vtkSetMacro(RenderLinesAsTubes,
bool);
242 vtkBooleanMacro(RenderLinesAsTubes,
bool);
250 vtkGetMacro(Interpolation,
int);
255 const char* GetInterpolationAsString();
263 vtkGetMacro(Representation,
int);
267 const char* GetRepresentationAsString();
276 virtual void SetColor(
double r,
double g,
double b);
279 void GetColor(
double rgb[3]);
280 void GetColor(
double& r,
double& g,
double& b);
296 vtkGetMacro(BaseIOR,
double);
306 vtkSetClampMacro(Metallic,
double, 0.0, 1.0);
307 vtkGetMacro(Metallic,
double);
318 vtkSetClampMacro(Roughness,
double, 0.0, 1.0);
319 vtkGetMacro(Roughness,
double);
329 vtkSetClampMacro(Anisotropy,
double, 0.0, 1.0);
330 vtkGetMacro(Anisotropy,
double);
340 vtkSetClampMacro(AnisotropyRotation,
double, 0.0, 1.0);
341 vtkGetMacro(AnisotropyRotation,
double);
351 vtkGetMacro(CoatIOR,
double);
361 vtkSetClampMacro(CoatRoughness,
double, 0.0, 1.0);
362 vtkGetMacro(CoatRoughness,
double);
372 vtkSetClampMacro(CoatStrength,
double, 0.0, 1.0);
373 vtkGetMacro(CoatStrength,
double);
382 vtkSetVector3Macro(CoatColor,
double);
383 vtkGetVector3Macro(CoatColor,
double);
393 vtkSetClampMacro(CoatNormalScale,
double, 0.0, 1.0);
394 vtkGetMacro(CoatNormalScale,
double);
403 vtkSetMacro(NormalScale,
double);
404 vtkGetMacro(NormalScale,
double);
414 vtkSetClampMacro(OcclusionStrength,
double, 0.0, 1.0);
415 vtkGetMacro(OcclusionStrength,
double);
425 vtkSetVector3Macro(EmissiveFactor,
double);
426 vtkGetVector3Macro(EmissiveFactor,
double);
436 vtkSetVector3Macro(EdgeTint,
double);
437 vtkGetVector3Macro(EdgeTint,
double);
444 vtkSetClampMacro(Ambient,
double, 0.0, 1.0);
445 vtkGetMacro(Ambient,
double);
452 vtkSetClampMacro(Diffuse,
double, 0.0, 1.0);
453 vtkGetMacro(Diffuse,
double);
460 vtkSetClampMacro(Specular,
double, 0.0, 1.0);
461 vtkGetMacro(Specular,
double);
468 vtkSetClampMacro(SpecularPower,
double, 0.0, 128.0);
469 vtkGetMacro(SpecularPower,
double);
477 vtkSetClampMacro(Opacity,
double, 0.0, 1.0);
478 vtkGetMacro(Opacity,
double);
486 vtkSetClampMacro(EdgeOpacity,
double, 0.0, 1.0);
487 vtkGetMacro(EdgeOpacity,
double);
497 vtkSetVector3Macro(AmbientColor,
double);
498 vtkGetVector3Macro(AmbientColor,
double);
506 vtkSetVector3Macro(DiffuseColor,
double);
507 vtkGetVector3Macro(DiffuseColor,
double);
514 vtkSetVector3Macro(SpecularColor,
double);
515 vtkGetVector3Macro(SpecularColor,
double);
533 vtkSetVector3Macro(EdgeColor,
double);
534 vtkGetVector3Macro(EdgeColor,
double);
552 vtkSetVector3Macro(VertexColor,
double);
553 vtkGetVector3Macro(VertexColor,
double);
561 vtkSetVector4Macro(SelectionColor,
double);
562 vtkGetVector4Macro(SelectionColor,
double);
570 vtkSetMacro(SelectionLineWidth,
float);
571 vtkGetMacro(SelectionLineWidth,
float);
579 vtkSetMacro(SelectionPointSize,
float);
580 vtkGetMacro(SelectionPointSize,
float);
589 vtkGetMacro(LineWidth,
float);
598 vtkSetMacro(LineStipplePattern,
int);
599 vtkGetMacro(LineStipplePattern,
int);
609 vtkGetMacro(LineStippleRepeatFactor,
int);
618 vtkGetMacro(PointSize,
float);
647 vtkSetStringMacro(MaterialName);
648 vtkGetStringMacro(MaterialName);
671 virtual
void AddShaderVariable(const
char*,
int,
int*)
675 virtual
void AddShaderVariable(const
char*,
int,
float*)
679 virtual
void AddShaderVariable(const
char*,
int,
double*)
689 void AddShaderVariable(const
char*,
int)
693 void AddShaderVariable(const
char*,
float)
697 void AddShaderVariable(const
char*,
double)
701 void AddShaderVariable(const
char*,
int,
int)
705 void AddShaderVariable(const
char*,
float,
float)
709 void AddShaderVariable(const
char*,
double,
double)
713 void AddShaderVariable(const
char*,
int,
int,
int)
717 void AddShaderVariable(const
char*,
float,
float,
float)
721 void AddShaderVariable(const
char*,
double,
double,
double)
731 vtkSetMacro(ShowTexturesOnBackface,
bool);
732 vtkGetMacro(ShowTexturesOnBackface,
bool);
733 vtkBooleanMacro(ShowTexturesOnBackface,
bool);
856 static
double ComputeReflectanceFromIOR(
double IORTo,
double IORFrom);
864 static
double ComputeIORFromReflectance(
double reflectance,
double ior);
874 double ComputeReflectanceOfBaseLayer();
884 static
void ComputeCompositeColor(
double result[3],
double ambient, const
double ambient_color[3],
885 double diffuse, const
double diffuse_color[3],
double specular, const
double specular_color[3]);
888 double AmbientColor[3];
889 double DiffuseColor[3];
890 double SpecularColor[3];
892 double VertexColor[3];
893 double SelectionColor[4] = { 1.0, 0.0, 0.0, 1.0 };
908 double EmissiveFactor[3];
912 double EdgeOpacity = 1.0;
916 float SelectionPointSize = 2.f;
917 float SelectionLineWidth = 2.f;
965 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...
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.
int LineStippleRepeatFactor
double AnisotropyRotation
double * GetColor()
Set the color of the object.
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.
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
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
virtual void PostRender(vtkActor *, vtkRenderer *)
This method is called after the actor has been rendered.
std::map< std::string, vtkTexture * > & GetAllTextures()
Returns 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(...)
#define VTK_MARSHAL_EXCLUDE_REASON_NOT_SUPPORTED
#define VTK_MARSHALEXCLUDE(reason)