29#include "vtkRenderingCoreModule.h"  
   41#define VTK_WIREFRAME 1 
   44VTK_ABI_NAMESPACE_BEGIN
 
   54class vtkPropertyInternals;
 
  103  vtkGetMacro(Lighting, 
bool);
 
  104  vtkSetMacro(Lighting, 
bool);
 
  105  vtkBooleanMacro(Lighting, 
bool);
 
  115  vtkGetMacro(RenderPointsAsSpheres, 
bool);
 
  116  vtkSetMacro(RenderPointsAsSpheres, 
bool);
 
  117  vtkBooleanMacro(RenderPointsAsSpheres, 
bool);
 
  128  vtkGetMacro(RenderLinesAsTubes, 
bool);
 
  129  vtkSetMacro(RenderLinesAsTubes, 
bool);
 
  130  vtkBooleanMacro(RenderLinesAsTubes, 
bool);
 
  138  vtkGetMacro(Interpolation, 
int);
 
  143  const char* GetInterpolationAsString();
 
  151  vtkGetMacro(Representation, 
int);
 
  155  const char* GetRepresentationAsString();
 
  164  virtual void SetColor(
double r, 
double g, 
double b);
 
  167  void GetColor(
double rgb[3]);
 
  168  void GetColor(
double& r, 
double& g, 
double& b);
 
  184  vtkGetMacro(BaseIOR, 
double);
 
  194  vtkSetClampMacro(Metallic, 
double, 0.0, 1.0);
 
  195  vtkGetMacro(Metallic, 
double);
 
  206  vtkSetClampMacro(Roughness, 
double, 0.0, 1.0);
 
  207  vtkGetMacro(Roughness, 
double);
 
  217  vtkSetClampMacro(Anisotropy, 
double, 0.0, 1.0);
 
  218  vtkGetMacro(Anisotropy, 
double);
 
  228  vtkSetClampMacro(AnisotropyRotation, 
double, 0.0, 1.0);
 
  229  vtkGetMacro(AnisotropyRotation, 
double);
 
  239  vtkGetMacro(CoatIOR, 
double);
 
  249  vtkSetClampMacro(CoatRoughness, 
double, 0.0, 1.0);
 
  250  vtkGetMacro(CoatRoughness, 
double);
 
  260  vtkSetClampMacro(CoatStrength, 
double, 0.0, 1.0);
 
  261  vtkGetMacro(CoatStrength, 
double);
 
  270  vtkSetVector3Macro(CoatColor, 
double);
 
  271  vtkGetVector3Macro(CoatColor, 
double);
 
  281  vtkSetClampMacro(CoatNormalScale, 
double, 0.0, 1.0);
 
  282  vtkGetMacro(CoatNormalScale, 
double);
 
  291  vtkSetMacro(NormalScale, 
double);
 
  292  vtkGetMacro(NormalScale, 
double);
 
  302  vtkSetClampMacro(OcclusionStrength, 
double, 0.0, 1.0);
 
  303  vtkGetMacro(OcclusionStrength, 
double);
 
  313  vtkSetVector3Macro(EmissiveFactor, 
double);
 
  314  vtkGetVector3Macro(EmissiveFactor, 
double);
 
  324  vtkSetVector3Macro(EdgeTint, 
double);
 
  325  vtkGetVector3Macro(EdgeTint, 
double);
 
  332  vtkSetClampMacro(Ambient, 
double, 0.0, 1.0);
 
  333  vtkGetMacro(Ambient, 
double);
 
  340  vtkSetClampMacro(Diffuse, 
double, 0.0, 1.0);
 
  341  vtkGetMacro(Diffuse, 
double);
 
  348  vtkSetClampMacro(Specular, 
double, 0.0, 1.0);
 
  349  vtkGetMacro(Specular, 
double);
 
  356  vtkSetClampMacro(SpecularPower, 
double, 0.0, 128.0);
 
  357  vtkGetMacro(SpecularPower, 
double);
 
  365  vtkSetClampMacro(Opacity, 
double, 0.0, 1.0);
 
  366  vtkGetMacro(Opacity, 
double);
 
  374  vtkSetClampMacro(EdgeOpacity, 
double, 0.0, 1.0);
 
  375  vtkGetMacro(EdgeOpacity, 
double);
 
  385  vtkSetVector3Macro(AmbientColor, 
double);
 
  386  vtkGetVector3Macro(AmbientColor, 
double);
 
  394  vtkSetVector3Macro(DiffuseColor, 
double);
 
  395  vtkGetVector3Macro(DiffuseColor, 
double);
 
  402  vtkSetVector3Macro(SpecularColor, 
double);
 
  403  vtkGetVector3Macro(SpecularColor, 
double);
 
  421  vtkSetVector3Macro(EdgeColor, 
double);
 
  422  vtkGetVector3Macro(EdgeColor, 
double);
 
  440  vtkSetVector3Macro(VertexColor, 
double);
 
  441  vtkGetVector3Macro(VertexColor, 
double);
 
  449  vtkSetVector4Macro(SelectionColor, 
double);
 
  450  vtkGetVector4Macro(SelectionColor, 
double);
 
  458  vtkSetMacro(SelectionLineWidth, 
float);
 
  459  vtkGetMacro(SelectionLineWidth, 
float);
 
  467  vtkSetMacro(SelectionPointSize, 
float);
 
  468  vtkGetMacro(SelectionPointSize, 
float);
 
  477  vtkGetMacro(LineWidth, 
float);
 
  486  vtkSetMacro(LineStipplePattern, 
int);
 
  487  vtkGetMacro(LineStipplePattern, 
int);
 
  497  vtkGetMacro(LineStippleRepeatFactor, 
int);
 
  506  vtkGetMacro(PointSize, 
float);
 
  535  vtkSetStringMacro(MaterialName);
 
  536  vtkGetStringMacro(MaterialName);
 
  558  virtual 
void AddShaderVariable(const 
char* name, 
int numVars, 
int* x);
 
  559  virtual 
void AddShaderVariable(const 
char* name, 
int numVars, 
float* x);
 
  560  virtual 
void AddShaderVariable(const 
char* name, 
int numVars, 
double* x);
 
  572    int v[2] = { v1, v2 };
 
  573    this->AddShaderVariable(name, 2, v);
 
  577    float v[2] = { v1, v2 };
 
  578    this->AddShaderVariable(name, 2, v);
 
  582    double v[2] = { v1, v2 };
 
  583    this->AddShaderVariable(name, 2, v);
 
  587    int v[3] = { v1, v2, v3 };
 
  588    this->AddShaderVariable(name, 3, v);
 
  592    float v[3] = { v1, v2, v3 };
 
  593    this->AddShaderVariable(name, 3, v);
 
  597    double v[3] = { v1, v2, v3 };
 
  598    this->AddShaderVariable(name, 3, v);
 
  607  vtkSetMacro(ShowTexturesOnBackface, 
bool);
 
  608  vtkGetMacro(ShowTexturesOnBackface, 
bool);
 
  609  vtkBooleanMacro(ShowTexturesOnBackface, 
bool);
 
  759    double diffuse, 
const double diffuse_color[3], 
double specular, 
const double specular_color[3]);
 
  762  double AmbientColor[3];
 
  763  double DiffuseColor[3];
 
  764  double SpecularColor[3];
 
  766  double VertexColor[3];
 
  767  double SelectionColor[4] = { 1.0, 0.0, 0.0, 1.0 };
 
  782  double EmissiveFactor[3];
 
  786  double EdgeOpacity = 1.0;
 
  790  float SelectionPointSize = 2.f;
 
  791  float SelectionLineWidth = 2.f;
 
  839    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...
 
double ComputeReflectanceOfBaseLayer()
For PBR, calculate the reflectance of the base layer depending on the presence of a coat layer.
 
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.
 
void AddShaderVariable(const char *name, double v1, double v2)
Methods to provide to add shader variables from wrappers.
 
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 AddShaderVariable(const char *name, double v)
Methods to provide to add shader variables from wrappers.
 
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.
 
void AddShaderVariable(const char *name, double v1, double v2, double v3)
Methods to provide to add shader variables from wrappers.
 
bool RenderPointsAsSpheres
 
void SetORMTexture(vtkTexture *texture)
Set the ORM texture.
 
void AddShaderVariable(const char *name, int v1, int v2, int v3)
Methods to provide to add shader variables from wrappers.
 
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.
 
void AddShaderVariable(const char *name, float v1, float v2, float v3)
Methods to provide to add shader variables from wrappers.
 
virtual void ReleaseGraphicsResources(vtkWindow *win)
Release any graphics resources that are being consumed by this property.
 
vtkTypeBool EdgeVisibility
 
vtkTypeBool VertexVisibility
 
void AddShaderVariable(const char *name, int v)
Methods to provide to add shader variables from wrappers.
 
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.
 
void AddShaderVariable(const char *name, float v1, float v2)
Methods to provide to add shader variables from wrappers.
 
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.
 
void AddShaderVariable(const char *name, int v1, int v2)
Methods to provide to add shader variables from wrappers.
 
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.
 
void AddShaderVariable(const char *name, float v)
Methods to provide to add shader variables from wrappers.
 
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(...)