/*========================================================================= Program: Visualization Toolkit Module: $RCSfile: vtkRIBProperty.h,v $ Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen All rights reserved. See Copyright.txt or http://www.kitware.com/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notice for more information. =========================================================================*/ // .NAME vtkRIBProperty - RIP Property // .SECTION Description // vtkRIBProperty is a subclass of vtkProperty that allows the user to // specify named shaders for use with RenderMan. Both a surface shader // and displacement shader can be specified. Parameters for the shaders // can be declared and set. // // .SECTION See Also // vtkRIBExporter #ifndef __vtkRIBProperty_h #define __vtkRIBProperty_h #include "vtkProperty.h" class vtkRIBRenderer; class VTK_HYBRID_EXPORT vtkRIBProperty : public vtkProperty { public: static vtkRIBProperty *New(); vtkTypeRevisionMacro(vtkRIBProperty,vtkProperty); void PrintSelf(ostream& os, vtkIndent indent); // Description: // Specify the name of a surface shader. vtkSetStringMacro(SurfaceShader); vtkGetStringMacro(SurfaceShader); // Description: // Specify the name of a displacement shader. vtkSetStringMacro(DisplacementShader); vtkGetStringMacro(DisplacementShader); // Description: // Specify declarations for variables.. void SetVariable (char *variable, char *declaration); void AddVariable (char *variable, char *declaration); // Description: // Get variable declarations char *GetDeclarations (); // Description: // Specify parameter values for variables. void SetParameter (char *parameter, char *value); void AddParameter (char *parameter, char *value); // Description: // Get parameters. char *GetParameters (); protected: vtkRIBProperty(); ~vtkRIBProperty(); void Render(vtkActor *a, vtkRenderer *ren); vtkProperty *Property; char *SurfaceShader; char *DisplacementShader; char *Declarations; char *Parameters; private: vtkRIBProperty(const vtkRIBProperty&); // Not implemented. void operator=(const vtkRIBProperty&); // Not implemented. }; #endif