VTK  9.3.20240424
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
38#ifndef vtkRIBProperty_h
39#define vtkRIBProperty_h
40
41#include "vtkIOExportModule.h" // For export macro
42#include "vtkProperty.h"
43
44VTK_ABI_NAMESPACE_BEGIN
45class vtkRIBRenderer;
46
47class VTKIOEXPORT_EXPORT vtkRIBProperty : public vtkProperty
48{
49public:
52 void PrintSelf(ostream& os, vtkIndent indent) override;
53
55
66 vtkSetMacro(SurfaceShaderUsesDefaultParameters, bool);
67 vtkGetMacro(SurfaceShaderUsesDefaultParameters, bool);
68 vtkBooleanMacro(SurfaceShaderUsesDefaultParameters, bool);
70
72
75 vtkSetStringMacro(SurfaceShader);
76 vtkGetStringMacro(SurfaceShader);
78
80
83 vtkSetStringMacro(DisplacementShader);
84 vtkGetStringMacro(DisplacementShader);
86
88
91 void SetVariable(const char* variable, const char* declaration);
92 void AddVariable(const char* variable, const char* declaration);
94
99
101
105 void SetParameter(const char* parameter, const char* value);
106 void AddParameter(const char* parameter, const char* value);
108
110
113 void SetSurfaceShaderParameter(const char* parameter, const char* value);
114 void AddSurfaceShaderParameter(const char* parameter, const char* value);
116
118
121 void SetDisplacementShaderParameter(const char* parameter, const char* value);
122 void AddDisplacementShaderParameter(const char* parameter, const char* value);
124
126
129 char* GetParameters(); // DEPRECATED: use GetSurfaceShaderParameters instead.
133
134protected:
136 ~vtkRIBProperty() override;
137
138 void Render(vtkActor* a, vtkRenderer* ren) override;
146
147private:
148 vtkRIBProperty(const vtkRIBProperty&) = delete;
149 void operator=(const vtkRIBProperty&) = delete;
150};
151
152VTK_ABI_NAMESPACE_END
153#endif
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:151
a simple class to control print indentation
Definition vtkIndent.h:108
represent surface properties of a geometric object
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