00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
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
00103 enum OutputFormat
00104 {
00105 PS_FILE,
00106 EPS_FILE,
00107 PDF_FILE,
00108 TEX_FILE
00109 };
00110
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
00131 enum SortScheme
00132 {
00133 NO_SORT=0,
00134 SIMPLE_SORT=1,
00135 BSP_SORT=2
00136 };
00137
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&);
00277 void operator=(const vtkGL2PSExporter&);
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