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

dox/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 =========================================================================*/
00034 #ifndef __vtkRIBProperty_h
00035 #define __vtkRIBProperty_h
00036 
00037 #include "vtkProperty.h"
00038 
00039 class vtkRIBRenderer;
00040 
00041 class VTK_HYBRID_EXPORT vtkRIBProperty : public vtkProperty
00042 {
00043 public:
00044   static vtkRIBProperty *New();
00045   vtkTypeRevisionMacro(vtkRIBProperty,vtkProperty);
00046   void PrintSelf(ostream& os, vtkIndent indent);
00047 
00049 
00050   vtkSetStringMacro(SurfaceShader);
00051   vtkGetStringMacro(SurfaceShader);
00053   
00055 
00056   vtkSetStringMacro(DisplacementShader);
00057   vtkGetStringMacro(DisplacementShader);
00059   
00061 
00062   void SetVariable (char *variable, char *declaration);
00063   void AddVariable (char *variable, char *declaration);
00065   
00067   char *GetDeclarations ();
00068   
00070 
00071   void SetParameter (char *parameter, char *value);
00072   void AddParameter (char *parameter, char *value);
00074   
00076   char *GetParameters ();
00077   
00078 protected:
00079   vtkRIBProperty();
00080   ~vtkRIBProperty();
00081 
00082   void Render(vtkActor *a, vtkRenderer *ren);
00083   vtkProperty *Property;
00084   char *SurfaceShader;
00085   char *DisplacementShader;
00086   char *Declarations;
00087   char *Parameters;
00088 private:
00089   vtkRIBProperty(const vtkRIBProperty&);  // Not implemented.
00090   void operator=(const vtkRIBProperty&);  // Not implemented.
00091 };
00092 
00093 #endif