Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

Hybrid/vtkRIBProperty.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkRIBProperty.h,v $
00005   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00046 #ifndef __vtkRIBProperty_h
00047 #define __vtkRIBProperty_h
00048 
00049 #include "vtkProperty.h"
00050 
00051 class vtkRIBRenderer;
00052 
00053 class VTK_HYBRID_EXPORT vtkRIBProperty : public vtkProperty
00054 {
00055 public:
00056   static vtkRIBProperty *New();
00057   vtkTypeRevisionMacro(vtkRIBProperty,vtkProperty);
00058   void PrintSelf(ostream& os, vtkIndent indent);
00059 
00061 
00062   vtkSetStringMacro(SurfaceShader);
00063   vtkGetStringMacro(SurfaceShader);
00065   
00067 
00068   vtkSetStringMacro(DisplacementShader);
00069   vtkGetStringMacro(DisplacementShader);
00071   
00073 
00074   void SetVariable (char *variable, char *declaration);
00075   void AddVariable (char *variable, char *declaration);
00077   
00079   char *GetDeclarations ();
00080   
00082 
00083   void SetParameter (char *parameter, char *value);
00084   void AddParameter (char *parameter, char *value);
00086   
00088   char *GetParameters ();
00089   
00090 protected:
00091   vtkRIBProperty();
00092   ~vtkRIBProperty();
00093 
00094   void Render(vtkActor *a, vtkRenderer *ren);
00095   vtkProperty *Property;
00096   char *SurfaceShader;
00097   char *DisplacementShader;
00098   char *Declarations;
00099   char *Parameters;
00100 private:
00101   vtkRIBProperty(const vtkRIBProperty&);  // Not implemented.
00102   void operator=(const vtkRIBProperty&);  // Not implemented.
00103 };
00104 
00105 #endif