VTK
vtkGL2PSExporter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkGL2PSExporter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
77 #ifndef vtkGL2PSExporter_h
78 #define vtkGL2PSExporter_h
79 
80 #include "vtkIOExportModule.h" // For export macro
81 #include "vtkExporter.h"
82 
83 #include "vtkNew.h" // For vtkNew
84 
85 class vtkPropCollection;
86 
87 class VTKIOEXPORT_EXPORT vtkGL2PSExporter : public vtkExporter
88 {
89 public:
90  static vtkGL2PSExporter *New();
92  void PrintSelf(ostream& os, vtkIndent indent) override;
93 
95 
100  vtkSetStringMacro(FilePrefix);
101  vtkGetStringMacro(FilePrefix);
103 
105 
113  vtkSetMacro(BufferSize, int);
114  vtkGetMacro(BufferSize, int);
116 
118 
122  vtkSetStringMacro(Title);
123  vtkGetStringMacro(Title);
125 
127  {
132  SVG_FILE
133  };
134 
136 
144  {
145  this->SetSortToOff();
146  this->SetSimpleLineOffset(0);
147  }
149 
151 
157  vtkSetClampMacro(FileFormat, int, PS_FILE, SVG_FILE);
158  vtkGetMacro(FileFormat, int);
160  {this->SetFileFormat(PS_FILE);};
162  {this->SetFileFormat(EPS_FILE);};
164  {this->SetFileFormat(PDF_FILE);};
166  {this->SetFileFormat(TEX_FILE);};
168  {this->SetFileFormat(SVG_FILE);};
169  const char *GetFileFormatAsString();
171 
173  {
174  NO_SORT=0,
175  SIMPLE_SORT=1,
176  BSP_SORT=2
177  };
178 
180 
185  vtkSetClampMacro(Sort, int, NO_SORT, BSP_SORT);
186  vtkGetMacro(Sort,int);
188  {this->SetSort(NO_SORT);};
190  {this->SetSort(SIMPLE_SORT);};
192  {this->SetSort(BSP_SORT);};
193  const char *GetSortAsString();
195 
197 
201  vtkSetMacro(Compress, vtkTypeBool);
202  vtkGetMacro(Compress, vtkTypeBool);
203  vtkBooleanMacro(Compress, vtkTypeBool);
205 
207 
212  vtkSetMacro(DrawBackground, vtkTypeBool);
213  vtkGetMacro(DrawBackground, vtkTypeBool);
214  vtkBooleanMacro(DrawBackground, vtkTypeBool);
216 
218 
224  vtkSetMacro(SimpleLineOffset, vtkTypeBool);
225  vtkGetMacro(SimpleLineOffset, vtkTypeBool);
226  vtkBooleanMacro(SimpleLineOffset, vtkTypeBool);
228 
230 
234  vtkSetMacro(Silent, vtkTypeBool);
235  vtkGetMacro(Silent, vtkTypeBool);
236  vtkBooleanMacro(Silent, vtkTypeBool);
238 
240 
246  vtkSetMacro(BestRoot, vtkTypeBool);
247  vtkGetMacro(BestRoot, vtkTypeBool);
248  vtkBooleanMacro(BestRoot, vtkTypeBool);
250 
252 
258  vtkSetMacro(Text, vtkTypeBool);
259  vtkGetMacro(Text, vtkTypeBool);
260  vtkBooleanMacro(Text, vtkTypeBool);
262 
264 
268  vtkSetMacro(Landscape, vtkTypeBool);
269  vtkGetMacro(Landscape, vtkTypeBool);
270  vtkBooleanMacro(Landscape, vtkTypeBool);
272 
274 
279  vtkSetMacro(PS3Shading, vtkTypeBool);
280  vtkGetMacro(PS3Shading, vtkTypeBool);
281  vtkBooleanMacro(PS3Shading, vtkTypeBool);
283 
285 
290  vtkSetMacro(OcclusionCull, vtkTypeBool);
291  vtkGetMacro(OcclusionCull, vtkTypeBool);
292  vtkBooleanMacro(OcclusionCull, vtkTypeBool);
294 
296 
304  vtkSetMacro(Write3DPropsAsRasterImage, vtkTypeBool);
305  vtkGetMacro(Write3DPropsAsRasterImage, vtkTypeBool);
306  vtkBooleanMacro(Write3DPropsAsRasterImage, vtkTypeBool);
308 
310 
315  vtkSetMacro(TextAsPath, bool);
316  vtkGetMacro(TextAsPath, bool);
317  vtkBooleanMacro(TextAsPath, bool);
319 
321 
327  void SetRasterExclusions(vtkPropCollection*);
328  vtkGetObjectMacro(RasterExclusions, vtkPropCollection);
330 
332 
336  vtkSetMacro(PointSizeFactor, float);
337  vtkGetMacro(PointSizeFactor, float);
339 
341 
345  vtkSetMacro(LineWidthFactor, float);
346  vtkGetMacro(LineWidthFactor, float);
348 
349 protected:
351  ~vtkGL2PSExporter() override;
352 
353  int GetGL2PSOptions();
354  int GetGL2PSSort();
355  int GetGL2PSFormat();
356  const char *GetFileExtension();
357 
359 
360  char *FilePrefix;
361  char *Title;
364  int Sort;
378 
379 private:
380  vtkGL2PSExporter(const vtkGL2PSExporter&) = delete;
381  void operator=(const vtkGL2PSExporter&) = delete;
382 };
383 
384 inline const char *vtkGL2PSExporter::GetSortAsString(void)
385 {
386  if ( this->Sort == NO_SORT )
387  {
388  return "Off";
389  }
390  else if ( this->Sort == SIMPLE_SORT )
391  {
392  return "Simple";
393  }
394  else
395  {
396  return "BSP";
397  }
398 }
399 
401 {
402  if ( this->FileFormat == PS_FILE )
403  {
404  return "PS";
405  }
406  else if ( this->FileFormat == EPS_FILE )
407  {
408  return "EPS";
409  }
410  else if ( this->FileFormat == PDF_FILE )
411  {
412  return "PDF";
413  }
414  else if ( this->FileFormat == TEX_FILE )
415  {
416  return "TeX";
417  }
418  else
419  {
420  return "SVG";
421  }
422 }
423 
424 #endif
vtkX3D::Text
Definition: vtkX3D.h:160
vtkGL2PSExporter::SetFileFormatToSVG
void SetFileFormatToSVG()
Definition: vtkGL2PSExporter.h:167
vtkGL2PSExporter::PDF_FILE
Definition: vtkGL2PSExporter.h:130
vtkGL2PSExporter::PointSizeFactor
float PointSizeFactor
Definition: vtkGL2PSExporter.h:376
vtkGL2PSExporter::OcclusionCull
vtkTypeBool OcclusionCull
Definition: vtkGL2PSExporter.h:373
vtkGL2PSExporter::Write3DPropsAsRasterImage
vtkTypeBool Write3DPropsAsRasterImage
Definition: vtkGL2PSExporter.h:374
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkGL2PSExporter::RasterExclusions
vtkPropCollection * RasterExclusions
Definition: vtkGL2PSExporter.h:358
vtkGL2PSExporter::GetFileFormatAsString
const char * GetFileFormatAsString()
Definition: vtkGL2PSExporter.h:400
vtkGL2PSExporter
export a scene as a PostScript file using GL2PS.
Definition: vtkGL2PSExporter.h:87
vtkGL2PSExporter::DrawBackground
vtkTypeBool DrawBackground
Definition: vtkGL2PSExporter.h:366
vtkGL2PSExporter::FilePrefix
char * FilePrefix
Definition: vtkGL2PSExporter.h:360
vtkGL2PSExporter::FileFormat
int FileFormat
Definition: vtkGL2PSExporter.h:362
vtkGL2PSExporter::SetFileFormatToTeX
void SetFileFormatToTeX()
Definition: vtkGL2PSExporter.h:165
vtkGL2PSExporter::SimpleLineOffset
vtkTypeBool SimpleLineOffset
Definition: vtkGL2PSExporter.h:367
vtkGL2PSExporter::SetFileFormatToPS
void SetFileFormatToPS()
Definition: vtkGL2PSExporter.h:159
vtkGL2PSExporter::BufferSize
int BufferSize
Definition: vtkGL2PSExporter.h:363
vtkGL2PSExporter::BestRoot
vtkTypeBool BestRoot
Definition: vtkGL2PSExporter.h:369
vtkGL2PSExporter::SIMPLE_SORT
Definition: vtkGL2PSExporter.h:175
vtkGL2PSExporter::Silent
vtkTypeBool Silent
Definition: vtkGL2PSExporter.h:368
vtkGL2PSExporter::TextAsPath
bool TextAsPath
Definition: vtkGL2PSExporter.h:375
vtkGL2PSExporter::UsePainterSettings
void UsePainterSettings()
Configure the exporter to expect a painter-ordered 2D rendering, that is, a rendering at a fixed dept...
Definition: vtkGL2PSExporter.h:143
vtkGL2PSExporter::Title
char * Title
Definition: vtkGL2PSExporter.h:361
vtkGL2PSExporter::SetFileFormatToEPS
void SetFileFormatToEPS()
Definition: vtkGL2PSExporter.h:161
vtkGL2PSExporter::SetSortToBSP
void SetSortToBSP()
Definition: vtkGL2PSExporter.h:191
vtkGL2PSExporter::GetSortAsString
const char * GetSortAsString()
Definition: vtkGL2PSExporter.h:384
vtkGL2PSExporter::SetFileFormatToPDF
void SetFileFormatToPDF()
Definition: vtkGL2PSExporter.h:163
vtkGL2PSExporter::SortScheme
SortScheme
Definition: vtkGL2PSExporter.h:172
vtkGL2PSExporter::EPS_FILE
Definition: vtkGL2PSExporter.h:129
vtkGL2PSExporter::LineWidthFactor
float LineWidthFactor
Definition: vtkGL2PSExporter.h:377
vtkGL2PSExporter::PS_FILE
Definition: vtkGL2PSExporter.h:128
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkGL2PSExporter::NO_SORT
Definition: vtkGL2PSExporter.h:174
vtkExporter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkGL2PSExporter::TEX_FILE
Definition: vtkGL2PSExporter.h:131
vtkGL2PSExporter::Text
vtkTypeBool Text
Definition: vtkGL2PSExporter.h:370
vtkGL2PSExporter::Compress
vtkTypeBool Compress
Definition: vtkGL2PSExporter.h:365
vtkNew.h
vtkExporter
abstract class to write a scene to a file
Definition: vtkExporter.h:47
vtkGL2PSExporter::Sort
int Sort
Definition: vtkGL2PSExporter.h:364
vtkGL2PSExporter::Landscape
vtkTypeBool Landscape
Definition: vtkGL2PSExporter.h:371
vtkGL2PSExporter::OutputFormat
OutputFormat
Definition: vtkGL2PSExporter.h:126
vtkExporter.h
vtkPropCollection
an ordered list of Props
Definition: vtkPropCollection.h:35
vtkGL2PSExporter::SetSortToOff
void SetSortToOff()
Definition: vtkGL2PSExporter.h:187
vtkGL2PSExporter::SetSortToSimple
void SetSortToSimple()
Definition: vtkGL2PSExporter.h:189
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkGL2PSExporter::PS3Shading
vtkTypeBool PS3Shading
Definition: vtkGL2PSExporter.h:372