00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 
00078 #ifndef __vtkRIBExporter_h
00079 #define __vtkRIBExporter_h
00080 
00081 #include <stdio.h>
00082 #include "vtkExporter.h"
00083 #include "vtkRenderer.h"
00084 #include "vtkTexture.h"
00085 #include "vtkPolyData.h"
00086 
00087 class VTK_EXPORT vtkRIBExporter : public vtkExporter
00088 {
00089 public:
00090   static vtkRIBExporter *New();
00091   vtkTypeMacro(vtkRIBExporter,vtkExporter);
00092   void PrintSelf(ostream& os, vtkIndent indent);
00093 
00096   vtkSetVector2Macro(Size,int);
00097   vtkGetVectorMacro(Size,int,2);
00098 
00100   vtkSetVector2Macro(PixelSamples,int);
00101   vtkGetVectorMacro(PixelSamples,int,2);
00102 
00105   vtkSetStringMacro(FilePrefix);
00106   vtkGetStringMacro(FilePrefix);
00107 
00109   vtkSetStringMacro(TexturePrefix);
00110   vtkGetStringMacro(TexturePrefix);
00111 
00126   vtkSetMacro(Background,int);
00127   vtkGetMacro(Background,int);
00128   vtkBooleanMacro(Background,int);
00129 
00130 protected:
00131   vtkRIBExporter();
00132   ~vtkRIBExporter();
00133   vtkRIBExporter(const vtkRIBExporter&) {};
00134   void operator=(const vtkRIBExporter&) {};
00135 
00136   int Background;
00137   int Size[2];
00138   int PixelSamples[2];
00140   void WriteHeader (vtkRenderer *aRen);
00141   void WriteTrailer ();
00142   void WriteTexture (vtkTexture *aTexture);
00143   void WriteViewport (vtkRenderer *aRenderer, int size[2]);
00144   void WriteCamera (vtkCamera *aCamera);
00145   void WriteLight (vtkLight *aLight, int count);
00146   void WriteAmbientLight (int count);
00147   void WriteProperty (vtkProperty *aProperty, vtkTexture *aTexture);
00148   void WritePolygons (vtkPolyData *pd, vtkScalars *colors, vtkProperty *aProperty);
00149   void WriteStrips (vtkPolyData *pd, vtkScalars *colors, vtkProperty *aProperty);
00150 
00151   void WriteData();
00152   void WriteActor(vtkActor *anActor);
00153   char *GetTextureName (vtkTexture *aTexture);
00154   char *GetTIFFName (vtkTexture *aTexture);
00155   char *FilePrefix;
00156   FILE *FilePtr;
00157   char *TexturePrefix;
00158 };
00159 
00160 #endif
00161