Hybrid/vtkRIBExporter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00055 #ifndef __vtkRIBExporter_h
00056 #define __vtkRIBExporter_h
00057
00058 #include "vtkExporter.h"
00059
00060 class vtkActor;
00061 class vtkCamera;
00062 class vtkLight;
00063 class vtkPolyData;
00064 class vtkProperty;
00065 class vtkRenderer;
00066 class vtkTexture;
00067 class vtkUnsignedCharArray;
00068
00069 class VTK_HYBRID_EXPORT vtkRIBExporter : public vtkExporter
00070 {
00071 public:
00072 static vtkRIBExporter *New();
00073 vtkTypeRevisionMacro(vtkRIBExporter,vtkExporter);
00074 void PrintSelf(ostream& os, vtkIndent indent);
00075
00077
00079 vtkSetVector2Macro(Size,int);
00080 vtkGetVectorMacro(Size,int,2);
00082
00084
00085 vtkSetVector2Macro(PixelSamples,int);
00086 vtkGetVectorMacro(PixelSamples,int,2);
00088
00090
00092 vtkSetStringMacro(FilePrefix);
00093 vtkGetStringMacro(FilePrefix);
00095
00097
00098 vtkSetStringMacro(TexturePrefix);
00099 vtkGetStringMacro(TexturePrefix);
00101
00103
00117 vtkSetMacro(Background,int);
00118 vtkGetMacro(Background,int);
00119 vtkBooleanMacro(Background,int);
00121
00123
00126 vtkSetClampMacro(ExportArrays, int, 0, 1);
00127 vtkBooleanMacro(ExportArrays, int);
00128 vtkGetMacro(ExportArrays, int);
00130
00131 protected:
00132 vtkRIBExporter();
00133 ~vtkRIBExporter();
00134
00135 int Background;
00136 int Size[2];
00137 int PixelSamples[2];
00138
00140 int ExportArrays;
00141
00143
00144 void WriteHeader (vtkRenderer *aRen);
00145 void WriteTrailer ();
00146 void WriteTexture (vtkTexture *aTexture);
00147 void WriteViewport (vtkRenderer *aRenderer, int size[2]);
00148 void WriteCamera (vtkCamera *aCamera);
00149 void WriteLight (vtkLight *aLight, int count);
00150 void WriteAmbientLight (int count);
00151 void WriteProperty (vtkProperty *aProperty, vtkTexture *aTexture);
00152 void WritePolygons (vtkPolyData *pd, vtkUnsignedCharArray *colors,
00153 vtkProperty *aProperty);
00154 void WriteStrips (vtkPolyData *pd, vtkUnsignedCharArray *colors,
00155 vtkProperty *aProperty);
00157
00158 void WriteData();
00159 void WriteActor(vtkActor *anActor);
00160
00165 void ModifyArrayName(char *newname, const char* name);
00166
00167 char *GetTextureName (vtkTexture *aTexture);
00168 char *GetTIFFName (vtkTexture *aTexture);
00169 char *FilePrefix;
00170 FILE *FilePtr;
00171 char *TexturePrefix;
00172 private:
00173 vtkRIBExporter(const vtkRIBExporter&);
00174 void operator=(const vtkRIBExporter&);
00175 };
00176
00177 #endif
00178