30#include "vtkRenderingCoreModule.h"
45#define VTK_WIREFRAME 1
48VTK_ABI_NAMESPACE_BEGIN
58class vtkPropertyInternals;
107 vtkGetMacro(Lighting,
bool);
108 vtkSetMacro(Lighting,
bool);
109 vtkBooleanMacro(Lighting,
bool);
132 vtkGetMacro(RenderPointsAsSpheres,
bool);
133 vtkSetMacro(RenderPointsAsSpheres,
bool);
134 vtkBooleanMacro(RenderPointsAsSpheres,
bool);
145 vtkGetMacro(RenderLinesAsTubes,
bool);
146 vtkSetMacro(RenderLinesAsTubes,
bool);
147 vtkBooleanMacro(RenderLinesAsTubes,
bool);
155 vtkGetMacro(Interpolation,
int);
160 const char* GetInterpolationAsString();
168 vtkGetMacro(Representation,
int);
172 const char* GetRepresentationAsString();
181 virtual void SetColor(
double r,
double g,
double b);
184 void GetColor(
double rgb[3]);
185 void GetColor(
double& r,
double& g,
double& b);
201 vtkGetMacro(BaseIOR,
double);
211 vtkSetClampMacro(Metallic,
double, 0.0, 1.0);
212 vtkGetMacro(Metallic,
double);
223 vtkSetClampMacro(Roughness,
double, 0.0, 1.0);
224 vtkGetMacro(Roughness,
double);
234 vtkSetClampMacro(Anisotropy,
double, 0.0, 1.0);
235 vtkGetMacro(Anisotropy,
double);
245 vtkSetClampMacro(AnisotropyRotation,
double, 0.0, 1.0);
246 vtkGetMacro(AnisotropyRotation,
double);
256 vtkGetMacro(CoatIOR,
double);
266 vtkSetClampMacro(CoatRoughness,
double, 0.0, 1.0);
267 vtkGetMacro(CoatRoughness,
double);
277 vtkSetClampMacro(CoatStrength,
double, 0.0, 1.0);
278 vtkGetMacro(CoatStrength,
double);
287 vtkSetVector3Macro(CoatColor,
double);
288 vtkGetVector3Macro(CoatColor,
double);
298 vtkSetClampMacro(CoatNormalScale,
double, 0.0, 1.0);
299 vtkGetMacro(CoatNormalScale,
double);
308 vtkSetMacro(NormalScale,
double);
309 vtkGetMacro(NormalScale,
double);
319 vtkSetClampMacro(OcclusionStrength,
double, 0.0, 1.0);
320 vtkGetMacro(OcclusionStrength,
double);
330 vtkSetVector3Macro(EmissiveFactor,
double);
331 vtkGetVector3Macro(EmissiveFactor,
double);
341 vtkSetVector3Macro(EdgeTint,
double);
342 vtkGetVector3Macro(EdgeTint,
double);
349 vtkSetClampMacro(Ambient,
double, 0.0, 1.0);
350 vtkGetMacro(Ambient,
double);
357 vtkSetClampMacro(Diffuse,
double, 0.0, 1.0);
358 vtkGetMacro(Diffuse,
double);
365 vtkSetClampMacro(Specular,
double, 0.0, 1.0);
366 vtkGetMacro(Specular,
double);
373 vtkSetClampMacro(SpecularPower,
double, 0.0, 128.0);
374 vtkGetMacro(SpecularPower,
double);
382 vtkSetClampMacro(Opacity,
double, 0.0, 1.0);
383 vtkGetMacro(Opacity,
double);
391 vtkSetClampMacro(EdgeOpacity,
double, 0.0, 1.0);
392 vtkGetMacro(EdgeOpacity,
double);
402 vtkSetVector3Macro(AmbientColor,
double);
403 vtkGetVector3Macro(AmbientColor,
double);
411 vtkSetVector3Macro(DiffuseColor,
double);
412 vtkGetVector3Macro(DiffuseColor,
double);
419 vtkSetVector3Macro(SpecularColor,
double);
420 vtkGetVector3Macro(SpecularColor,
double);
438 vtkSetVector3Macro(EdgeColor,
double);
439 vtkGetVector3Macro(EdgeColor,
double);
457 vtkSetVector3Macro(VertexColor,
double);
458 vtkGetVector3Macro(VertexColor,
double);
466 vtkSetVector4Macro(SelectionColor,
double);
467 vtkGetVector4Macro(SelectionColor,
double);
475 vtkSetMacro(SelectionLineWidth,
float);
476 vtkGetMacro(SelectionLineWidth,
float);
484 vtkSetMacro(SelectionPointSize,
float);
485 vtkGetMacro(SelectionPointSize,
float);
494 vtkGetMacro(LineWidth,
float);
505 vtkGetMacro(EdgeWidth,
float);
516 vtkBooleanMacro(UseLineWidthForEdgeThickness,
bool);
517 vtkSetMacro(UseLineWidthForEdgeThickness,
bool);
518 vtkGetMacro(UseLineWidthForEdgeThickness,
bool);
527 vtkSetMacro(LineStipplePattern,
int);
528 vtkGetMacro(LineStipplePattern,
int);
538 vtkGetMacro(LineStippleRepeatFactor,
int);
547 vtkGetMacro(PointSize,
float);
576 vtkSetStringMacro(MaterialName);
577 vtkGetStringMacro(MaterialName);
600 virtual
void AddShaderVariable(const
char*,
int,
int*)
604 virtual
void AddShaderVariable(const
char*,
int,
float*)
608 virtual
void AddShaderVariable(const
char*,
int,
double*)
618 void AddShaderVariable(const
char*,
int)
622 void AddShaderVariable(const
char*,
float)
626 void AddShaderVariable(const
char*,
double)
630 void AddShaderVariable(const
char*,
int,
int)
634 void AddShaderVariable(const
char*,
float,
float)
638 void AddShaderVariable(const
char*,
double,
double)
642 void AddShaderVariable(const
char*,
int,
int,
int)
646 void AddShaderVariable(const
char*,
float,
float,
float)
650 void AddShaderVariable(const
char*,
double,
double,
double)
660 vtkSetMacro(ShowTexturesOnBackface,
bool);
661 vtkGetMacro(ShowTexturesOnBackface,
bool);
662 vtkBooleanMacro(ShowTexturesOnBackface,
bool);
815 double diffuse,
const double diffuse_color[3],
double specular,
const double specular_color[3]);
818 double AmbientColor[3];
819 double DiffuseColor[3];
820 double SpecularColor[3];
822 double VertexColor[3];
823 double SelectionColor[4] = { 1.0, 0.0, 0.0, 1.0 };
838 double EmissiveFactor[3];
842 double EdgeOpacity = 1.0;
846 float EdgeWidth = 1.0;
847 float SelectionPointSize = 2.f;
848 float SelectionLineWidth = 2.f;
849 bool UseLineWidthForEdgeThickness =
true;
898 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 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(...)