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);
894 static
double ComputeReflectanceFromIOR(
double IORTo,
double IORFrom);
902 static
double ComputeIORFromReflectance(
double reflectance,
double ior);
912 double ComputeReflectanceOfBaseLayer();
922 static
void ComputeCompositeColor(
double result[3],
double ambient, const
double ambient_color[3],
923 double diffuse, const
double diffuse_color[3],
double specular, const
double specular_color[3]);
926 double AmbientColor[3];
927 double DiffuseColor[3];
928 double SpecularColor[3];
930 double VertexColor[3];
931 double SelectionColor[4] = { 1.0, 0.0, 0.0, 1.0 };
946 double EmissiveFactor[3];
950 double EdgeOpacity = 1.0;
954 float EdgeWidth = 1.0;
955 float SelectionPointSize = 2.f;
956 float SelectionLineWidth = 2.f;
957 bool UseLineWidthForEdgeThickness =
true;
1006 return "Physically based rendering";
1029VTK_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...
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.
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.
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
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)