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

# Hybrid/vtkRIBExporter.h

Go to the documentation of this file.

    00001 /*=========================================================================
    00002
    00003   Program:   Visualization Toolkit
    00004   Module:    $RCSfile: vtkRIBExporter.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 =========================================================================*/
    00068 #ifndef __vtkRIBExporter_h
    00069 #define __vtkRIBExporter_h
    00070
    00071 #include "vtkExporter.h"
    00072
    00073 class vtkActor;
    00074 class vtkCamera;
    00075 class vtkLight;
    00076 class vtkPolyData;
    00077 class vtkProperty;
    00078 class vtkRenderer;
    00079 class vtkTexture;
    00080 class vtkUnsignedCharArray;
    00081
    00082 class VTK_HYBRID_EXPORT vtkRIBExporter : public vtkExporter
    00083 {
    00084 public:
    00085   static vtkRIBExporter *New();
    00086   vtkTypeRevisionMacro(vtkRIBExporter,vtkExporter);
    00087   void PrintSelf(ostream& os, vtkIndent indent);
    00088
    00090
    00092   vtkSetVector2Macro(Size,int);
    00093   vtkGetVectorMacro(Size,int,2);
    00095
    00097
    00098   vtkSetVector2Macro(PixelSamples,int);
    00099   vtkGetVectorMacro(PixelSamples,int,2);
    00101
    00103
    00105   vtkSetStringMacro(FilePrefix);
    00106   vtkGetStringMacro(FilePrefix);
    00108
    00110
    00111   vtkSetStringMacro(TexturePrefix);
    00112   vtkGetStringMacro(TexturePrefix);
    00114
    00116
    00130   vtkSetMacro(Background,int);
    00131   vtkGetMacro(Background,int);
    00132   vtkBooleanMacro(Background,int);
    00134
    00136
    00139   vtkSetClampMacro(ExportArrays, int, 0, 1);
    00140   vtkBooleanMacro(ExportArrays, int);
    00141   vtkGetMacro(ExportArrays, int);
    00143
    00144 protected:
    00145   vtkRIBExporter();
    00146   ~vtkRIBExporter();
    00147
    00148   int Background;
    00149   int Size[2];
    00150   int PixelSamples[2];
    00151
    00153   int ExportArrays;
    00154
    00156
    00157   void WriteHeader (vtkRenderer *aRen);
    00158   void WriteTrailer ();
    00159   void WriteTexture (vtkTexture *aTexture);
    00160   void WriteViewport (vtkRenderer *aRenderer, int size[2]);
    00161   void WriteCamera (vtkCamera *aCamera);
    00162   void WriteLight (vtkLight *aLight, int count);
    00163   void WriteAmbientLight (int count);
    00164   void WriteProperty (vtkProperty *aProperty, vtkTexture *aTexture);
    00165   void WritePolygons (vtkPolyData *pd, vtkUnsignedCharArray *colors,
    00166                       vtkProperty *aProperty);
    00167   void WriteStrips (vtkPolyData *pd, vtkUnsignedCharArray *colors,
    00168                     vtkProperty *aProperty);
    00170
    00171   void WriteData();
    00172   void WriteActor(vtkActor *anActor);
    00173
    00178   void ModifyArrayName(char *newname, const char* name);
    00179
    00180   char *GetTextureName (vtkTexture *aTexture);
    00181   char *GetTIFFName (vtkTexture *aTexture);
    00182   char *FilePrefix;
    00183   FILE *FilePtr;
    00184   char *TexturePrefix;
    00185 private:
    00186   vtkRIBExporter(const vtkRIBExporter&);  // Not implemented.
    00187   void operator=(const vtkRIBExporter&);  // Not implemented.
    00188 };
    00189
    00190 #endif
    00191