VTK  9.3.20240419
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 
44 VTK_ABI_NAMESPACE_BEGIN
45 class vtkRIBRenderer;
46 
47 class VTKIOEXPORT_EXPORT vtkRIBProperty : public vtkProperty
48 {
49 public:
50  static vtkRIBProperty* New();
51  vtkTypeMacro(vtkRIBProperty, vtkProperty);
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 
98  char* GetDeclarations();
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 
134 protected:
136  ~vtkRIBProperty() override;
137 
138  void Render(vtkActor* a, vtkRenderer* ren) override;
146 
147 private:
148  vtkRIBProperty(const vtkRIBProperty&) = delete;
149  void operator=(const vtkRIBProperty&) = delete;
150 };
151 
152 VTK_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
Definition: vtkProperty.h:167
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:172
@ value
Definition: vtkX3D.h:220
@ parameter
Definition: vtkX3D.h:443