VTK  9.3.1
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
19 #ifndef vtkRIBProperty_h
20 #define vtkRIBProperty_h
21 
22 #include "vtkIOExportModule.h" // For export macro
23 #include "vtkProperty.h"
24 
25 VTK_ABI_NAMESPACE_BEGIN
26 class vtkRIBRenderer;
27 
28 class VTKIOEXPORT_EXPORT vtkRIBProperty : public vtkProperty
29 {
30 public:
31  static vtkRIBProperty* New();
32  vtkTypeMacro(vtkRIBProperty, vtkProperty);
33  void PrintSelf(ostream& os, vtkIndent indent) override;
34 
36 
47  vtkSetMacro(SurfaceShaderUsesDefaultParameters, bool);
48  vtkGetMacro(SurfaceShaderUsesDefaultParameters, bool);
49  vtkBooleanMacro(SurfaceShaderUsesDefaultParameters, bool);
51 
53 
56  vtkSetStringMacro(SurfaceShader);
57  vtkGetStringMacro(SurfaceShader);
59 
61 
64  vtkSetStringMacro(DisplacementShader);
65  vtkGetStringMacro(DisplacementShader);
67 
69 
72  void SetVariable(const char* variable, const char* declaration);
73  void AddVariable(const char* variable, const char* declaration);
75 
79  char* GetDeclarations();
80 
82 
86  void SetParameter(const char* parameter, const char* value);
87  void AddParameter(const char* parameter, const char* value);
89 
91 
94  void SetSurfaceShaderParameter(const char* parameter, const char* value);
95  void AddSurfaceShaderParameter(const char* parameter, const char* value);
97 
99 
102  void SetDisplacementShaderParameter(const char* parameter, const char* value);
103  void AddDisplacementShaderParameter(const char* parameter, const char* value);
105 
107 
110  char* GetParameters(); // DEPRECATED: use GetSurfaceShaderParameters instead.
111  char* GetSurfaceShaderParameters();
112  char* GetDisplacementShaderParameters();
114 
115 protected:
116  vtkRIBProperty();
117  ~vtkRIBProperty() override;
118 
119  void Render(vtkActor* a, vtkRenderer* ren) override;
127 
128 private:
129  vtkRIBProperty(const vtkRIBProperty&) = delete;
130  void operator=(const vtkRIBProperty&) = delete;
131 };
132 
133 VTK_ABI_NAMESPACE_END
134 #endif
virtual void Render(vtkActor *, vtkRenderer *)
This method causes the property to set up whatever is required for its instance variables.
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:40
static vtkProperty * New()
Construct object with object color, ambient color, diffuse color, specular color, and edge color whit...
represent surface properties of a geometric object
Definition: vtkProperty.h:56
char * DisplacementShader
RIP Property.
bool SurfaceShaderUsesDefaultParameters
abstract specification for renderers
Definition: vtkRenderer.h:61
vtkProperty * Property
a simple class to control print indentation
Definition: vtkIndent.h:28
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
char * DisplacementShaderParameters
char * SurfaceShaderParameters