VTK  9.3.0
vtkRIBProperty.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
28 #ifndef vtkRIBProperty_h
29 #define vtkRIBProperty_h
30 
31 #include "vtkIOExportModule.h" // For export macro
32 #include "vtkProperty.h"
33 
34 VTK_ABI_NAMESPACE_BEGIN
35 class vtkRIBRenderer;
36 
37 class VTKIOEXPORT_EXPORT vtkRIBProperty : public vtkProperty
38 {
39 public:
40  static vtkRIBProperty* New();
41  vtkTypeMacro(vtkRIBProperty, vtkProperty);
42  void PrintSelf(ostream& os, vtkIndent indent) override;
43 
45 
56  vtkSetMacro(SurfaceShaderUsesDefaultParameters, bool);
57  vtkGetMacro(SurfaceShaderUsesDefaultParameters, bool);
58  vtkBooleanMacro(SurfaceShaderUsesDefaultParameters, bool);
60 
62 
65  vtkSetStringMacro(SurfaceShader);
66  vtkGetStringMacro(SurfaceShader);
68 
70 
73  vtkSetStringMacro(DisplacementShader);
74  vtkGetStringMacro(DisplacementShader);
76 
78 
81  void SetVariable(const char* variable, const char* declaration);
82  void AddVariable(const char* variable, const char* declaration);
84 
88  char* GetDeclarations();
89 
91 
95  void SetParameter(const char* parameter, const char* value);
96  void AddParameter(const char* parameter, const char* value);
98 
100 
103  void SetSurfaceShaderParameter(const char* parameter, const char* value);
104  void AddSurfaceShaderParameter(const char* parameter, const char* value);
106 
108 
111  void SetDisplacementShaderParameter(const char* parameter, const char* value);
112  void AddDisplacementShaderParameter(const char* parameter, const char* value);
114 
116 
119  char* GetParameters(); // DEPRECATED: use GetSurfaceShaderParameters instead.
123 
124 protected:
126  ~vtkRIBProperty() override;
127 
128  void Render(vtkActor* a, vtkRenderer* ren) override;
136 
137 private:
138  vtkRIBProperty(const vtkRIBProperty&) = delete;
139  void operator=(const vtkRIBProperty&) = delete;
140 };
141 
142 VTK_ABI_NAMESPACE_END
143 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:50
a simple class to control print indentation
Definition: vtkIndent.h:38
represent surface properties of a geometric object
Definition: vtkProperty.h:66
RIP Property.
void SetDisplacementShaderParameter(const char *parameter, const char *value)
Specify parameter values for displacement shader parameters.
static vtkRIBProperty * New()
void SetParameter(const char *parameter, const char *value)
Specify parameter values for variables.
bool SurfaceShaderUsesDefaultParameters
vtkProperty * Property
void SetSurfaceShaderParameter(const char *parameter, const char *value)
Specify parameter values for surface shader parameters.
char * GetDeclarations()
Get variable declarations.
void Render(vtkActor *a, vtkRenderer *ren) override
This method causes the property to set up whatever is required for its instance variables.
void AddDisplacementShaderParameter(const char *parameter, const char *value)
Specify parameter values for displacement shader parameters.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void AddSurfaceShaderParameter(const char *parameter, const char *value)
Specify parameter values for surface shader parameters.
void AddParameter(const char *parameter, const char *value)
Specify parameter values for variables.
void SetVariable(const char *variable, const char *declaration)
Specify declarations for variables.
char * SurfaceShaderParameters
char * GetParameters()
Get parameters.
char * DisplacementShaderParameters
char * GetSurfaceShaderParameters()
Get parameters.
char * DisplacementShader
~vtkRIBProperty() override
void AddVariable(const char *variable, const char *declaration)
Specify declarations for variables.
char * GetDisplacementShaderParameters()
Get parameters.
abstract specification for renderers
Definition: vtkRenderer.h:71
@ value
Definition: vtkX3D.h:220
@ parameter
Definition: vtkX3D.h:443