VTK  9.0.1
vtkRIBProperty.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkRIBProperty.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
28 #ifndef vtkRIBProperty_h
29 #define vtkRIBProperty_h
30 
31 #include "vtkIOExportModule.h" // For export macro
32 #include "vtkProperty.h"
33 
34 class vtkRIBRenderer;
35 
36 class VTKIOEXPORT_EXPORT vtkRIBProperty : public vtkProperty
37 {
38 public:
39  static vtkRIBProperty* New();
40  vtkTypeMacro(vtkRIBProperty, vtkProperty);
41  void PrintSelf(ostream& os, vtkIndent indent) override;
42 
44 
55  vtkSetMacro(SurfaceShaderUsesDefaultParameters, bool);
56  vtkGetMacro(SurfaceShaderUsesDefaultParameters, bool);
57  vtkBooleanMacro(SurfaceShaderUsesDefaultParameters, bool);
59 
61 
64  vtkSetStringMacro(SurfaceShader);
65  vtkGetStringMacro(SurfaceShader);
67 
69 
72  vtkSetStringMacro(DisplacementShader);
73  vtkGetStringMacro(DisplacementShader);
75 
77 
80  void SetVariable(const char* variable, const char* declaration);
81  void AddVariable(const char* variable, const char* declaration);
83 
87  char* GetDeclarations();
88 
90 
94  void SetParameter(const char* parameter, const char* value);
95  void AddParameter(const char* parameter, const char* value);
97 
99 
102  void SetSurfaceShaderParameter(const char* parameter, const char* value);
103  void AddSurfaceShaderParameter(const char* parameter, const char* value);
105 
107 
110  void SetDisplacementShaderParameter(const char* parameter, const char* value);
111  void AddDisplacementShaderParameter(const char* parameter, const char* value);
113 
115 
118  char* GetParameters(); // DEPRECATED: use GetSurfaceShaderParameters instead.
122 
123 protected:
125  ~vtkRIBProperty() override;
126 
127  void Render(vtkActor* a, vtkRenderer* ren) override;
135 
136 private:
137  vtkRIBProperty(const vtkRIBProperty&) = delete;
138  void operator=(const vtkRIBProperty&) = delete;
139 };
140 
141 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:46
a simple class to control print indentation
Definition: vtkIndent.h:34
represent surface properties of a geometric object
Definition: vtkProperty.h:62
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)
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)
void AddParameter(const char *parameter, const char *value)
void SetVariable(const char *variable, const char *declaration)
Specify declarations for variables.
char * SurfaceShaderParameters
char * GetParameters()
Get parameters.
char * DisplacementShaderParameters
char * GetSurfaceShaderParameters()
char * DisplacementShader
~vtkRIBProperty() override
void AddVariable(const char *variable, const char *declaration)
char * GetDisplacementShaderParameters()
abstract specification for renderers
Definition: vtkRenderer.h:59
@ value
Definition: vtkX3D.h:226
@ parameter
Definition: vtkX3D.h:449