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

Rendering/vtkGL2PSExporter.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkGL2PSExporter.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00082 #ifndef __vtkGL2PSExporter_h
00083 #define __vtkGL2PSExporter_h
00084 
00085 #include "vtkExporter.h"
00086 
00087 class VTK_RENDERING_EXPORT vtkGL2PSExporter : public vtkExporter
00088 {
00089 public:
00090   static vtkGL2PSExporter *New();
00091   vtkTypeRevisionMacro(vtkGL2PSExporter,vtkExporter);
00092   void PrintSelf(ostream& os, vtkIndent indent);
00093 
00095 
00098   vtkSetStringMacro(FilePrefix);
00099   vtkGetStringMacro(FilePrefix);
00101 
00102 //BTX
00103   enum OutputFormat
00104   {
00105       PS_FILE,
00106       EPS_FILE,
00107       PDF_FILE,
00108       TEX_FILE
00109   };
00110 //ETX
00111 
00113 
00117   vtkSetClampMacro(FileFormat, int, PS_FILE, TEX_FILE);
00118   vtkGetMacro(FileFormat, int);
00119   void SetFileFormatToPS()
00120     {this->SetFileFormat(PS_FILE);};
00121   void SetFileFormatToEPS()
00122     {this->SetFileFormat(EPS_FILE);};
00123   void SetFileFormatToPDF()
00124     {this->SetFileFormat(PDF_FILE);};
00125   void SetFileFormatToTeX()
00126     {this->SetFileFormat(TEX_FILE);};
00127   char *GetFileFormatAsString();
00129 
00130 //BTX
00131   enum SortScheme
00132   {
00133       NO_SORT=0,
00134       SIMPLE_SORT=1,
00135       BSP_SORT=2
00136   };
00137 //ETX
00138 
00140 
00143   vtkSetClampMacro(Sort, int, NO_SORT, BSP_SORT);
00144   vtkGetMacro(Sort,int);
00145   void SetSortToOff()
00146     {this->SetSort(NO_SORT);};
00147   void SetSortToSimple() 
00148     {this->SetSort(SIMPLE_SORT);};
00149   void SetSortToBSP() 
00150     {this->SetSort(BSP_SORT);};
00151   char *GetSortAsString();
00153 
00155 
00157   vtkSetMacro(Compress, int);
00158   vtkGetMacro(Compress, int);
00159   vtkBooleanMacro(Compress, int);
00161 
00163 
00165   vtkSetMacro(DrawBackground, int);
00166   vtkGetMacro(DrawBackground, int);
00167   vtkBooleanMacro(DrawBackground, int);
00169 
00171 
00174   vtkSetMacro(SimpleLineOffset, int);
00175   vtkGetMacro(SimpleLineOffset, int);
00176   vtkBooleanMacro(SimpleLineOffset, int);
00178 
00180 
00182   vtkSetMacro(Silent, int);
00183   vtkGetMacro(Silent, int);
00184   vtkBooleanMacro(Silent, int);
00186 
00188 
00191   vtkSetMacro(BestRoot, int);
00192   vtkGetMacro(BestRoot, int);
00193   vtkBooleanMacro(BestRoot, int);
00195 
00197 
00200   vtkSetMacro(Text, int);
00201   vtkGetMacro(Text, int);
00202   vtkBooleanMacro(Text, int);
00204   
00206 
00208   vtkSetMacro(Landscape, int);
00209   vtkGetMacro(Landscape, int);
00210   vtkBooleanMacro(Landscape, int);
00212 
00214 
00217   vtkSetMacro(PS3Shading, int);
00218   vtkGetMacro(PS3Shading, int);
00219   vtkBooleanMacro(PS3Shading, int);
00221 
00223 
00226   vtkSetMacro(OcclusionCull, int);
00227   vtkGetMacro(OcclusionCull, int);
00228   vtkBooleanMacro(OcclusionCull, int);
00230 
00232 
00236   vtkSetMacro(Write3DPropsAsRasterImage, int);
00237   vtkGetMacro(Write3DPropsAsRasterImage, int);
00238   vtkBooleanMacro(Write3DPropsAsRasterImage, int);
00240 
00242 
00244   static void SetGlobalPointSizeFactor(float val);
00245   static float GetGlobalPointSizeFactor();
00247 
00249 
00251   static void SetGlobalLineWidthFactor(float val);
00252   static float GetGlobalLineWidthFactor();
00254 
00255 protected:
00256   vtkGL2PSExporter();
00257   ~vtkGL2PSExporter();
00258 
00259   void WriteData();
00260 
00261   char *FilePrefix;
00262   int FileFormat;
00263   int Sort;
00264   int Compress;
00265   int DrawBackground;
00266   int SimpleLineOffset;
00267   int Silent;
00268   int BestRoot;
00269   int Text;
00270   int Landscape;
00271   int PS3Shading;
00272   int OcclusionCull;
00273   int Write3DPropsAsRasterImage;
00274   
00275 private:
00276   vtkGL2PSExporter(const vtkGL2PSExporter&); // Not implemented
00277   void operator=(const vtkGL2PSExporter&); // Not implemented
00278 };
00279 
00280 inline char *vtkGL2PSExporter::GetSortAsString(void)
00281 {
00282   if ( this->Sort == NO_SORT )
00283     {
00284     return (char *)"Off";
00285     }
00286   else if ( this->Sort == SIMPLE_SORT )
00287     {
00288     return (char *)"Simple";
00289     }
00290   else
00291     {
00292     return (char *)"BSP";
00293     }
00294 }
00295 
00296 inline char *vtkGL2PSExporter::GetFileFormatAsString(void)
00297 {
00298   if ( this->FileFormat == PS_FILE )
00299     {
00300     return (char *)"PS";
00301     }
00302   else if ( this->FileFormat == EPS_FILE )
00303     {
00304     return (char *)"EPS";
00305     }
00306   else if ( this->FileFormat == PDF_FILE )
00307     {
00308     return (char *)"PDF";
00309     }
00310   else
00311     {
00312     return (char *)"TeX";
00313     }
00314 }
00315 
00316 #endif