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
34VTK_ABI_NAMESPACE_BEGIN
35class vtkRIBRenderer;
36
37class VTKIOEXPORT_EXPORT vtkRIBProperty : public vtkProperty
38{
39public:
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
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
124protected:
126 ~vtkRIBProperty() override;
127
128 void Render(vtkActor* a, vtkRenderer* ren) override;
136
137private:
138 vtkRIBProperty(const vtkRIBProperty&) = delete;
139 void operator=(const vtkRIBProperty&) = delete;
140};
141
142VTK_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.
char * GetDisplacementShaderParameters()
Get parameters.
void SetDisplacementShaderParameter(const char *parameter, const char *value)
Specify parameter values for displacement shader parameters.
char * GetDeclarations()
Get variable declarations.
char * GetParameters()
Get parameters.
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.
static vtkRIBProperty * New()
char * GetSurfaceShaderParameters()
Get parameters.
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 * DisplacementShaderParameters
char * DisplacementShader
~vtkRIBProperty() override
void AddVariable(const char *variable, const char *declaration)
Specify declarations for variables.
abstract specification for renderers
Definition vtkRenderer.h:68