VTK  9.1.0
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 "vtkExporter.h"
81#include "vtkIOExportGL2PSModule.h" // For export macro
82
83#include "vtkNew.h" // For vtkNew
84
86
87class VTKIOEXPORTGL2PS_EXPORT vtkGL2PSExporter : public vtkExporter
88{
89public:
92 void PrintSelf(ostream& os, vtkIndent indent) override;
93
95
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);
159 void SetFileFormatToPS() { this->SetFileFormat(PS_FILE); }
160 void SetFileFormatToEPS() { this->SetFileFormat(EPS_FILE); }
161 void SetFileFormatToPDF() { this->SetFileFormat(PDF_FILE); }
162 void SetFileFormatToTeX() { this->SetFileFormat(TEX_FILE); }
163 void SetFileFormatToSVG() { this->SetFileFormat(SVG_FILE); }
164 const char* GetFileFormatAsString();
166
168 {
169 NO_SORT = 0,
170 SIMPLE_SORT = 1,
171 BSP_SORT = 2
172 };
173
175
180 vtkSetClampMacro(Sort, int, NO_SORT, BSP_SORT);
181 vtkGetMacro(Sort, int);
182 void SetSortToOff() { this->SetSort(NO_SORT); }
183 void SetSortToSimple() { this->SetSort(SIMPLE_SORT); }
184 void SetSortToBSP() { this->SetSort(BSP_SORT); }
185 const char* GetSortAsString();
187
189
193 vtkSetMacro(Compress, vtkTypeBool);
194 vtkGetMacro(Compress, vtkTypeBool);
195 vtkBooleanMacro(Compress, vtkTypeBool);
197
199
204 vtkSetMacro(DrawBackground, vtkTypeBool);
205 vtkGetMacro(DrawBackground, vtkTypeBool);
206 vtkBooleanMacro(DrawBackground, vtkTypeBool);
208
210
216 vtkSetMacro(SimpleLineOffset, vtkTypeBool);
217 vtkGetMacro(SimpleLineOffset, vtkTypeBool);
218 vtkBooleanMacro(SimpleLineOffset, vtkTypeBool);
220
222
226 vtkSetMacro(Silent, vtkTypeBool);
227 vtkGetMacro(Silent, vtkTypeBool);
228 vtkBooleanMacro(Silent, vtkTypeBool);
230
232
238 vtkSetMacro(BestRoot, vtkTypeBool);
239 vtkGetMacro(BestRoot, vtkTypeBool);
240 vtkBooleanMacro(BestRoot, vtkTypeBool);
242
244
250 vtkSetMacro(Text, vtkTypeBool);
251 vtkGetMacro(Text, vtkTypeBool);
252 vtkBooleanMacro(Text, vtkTypeBool);
254
256
260 vtkSetMacro(Landscape, vtkTypeBool);
261 vtkGetMacro(Landscape, vtkTypeBool);
262 vtkBooleanMacro(Landscape, vtkTypeBool);
264
266
271 vtkSetMacro(PS3Shading, vtkTypeBool);
272 vtkGetMacro(PS3Shading, vtkTypeBool);
273 vtkBooleanMacro(PS3Shading, vtkTypeBool);
275
277
282 vtkSetMacro(OcclusionCull, vtkTypeBool);
283 vtkGetMacro(OcclusionCull, vtkTypeBool);
284 vtkBooleanMacro(OcclusionCull, vtkTypeBool);
286
288
296 vtkSetMacro(Write3DPropsAsRasterImage, vtkTypeBool);
297 vtkGetMacro(Write3DPropsAsRasterImage, vtkTypeBool);
298 vtkBooleanMacro(Write3DPropsAsRasterImage, vtkTypeBool);
300
302
307 vtkSetMacro(TextAsPath, bool);
308 vtkGetMacro(TextAsPath, bool);
309 vtkBooleanMacro(TextAsPath, bool);
311
313
320 vtkGetObjectMacro(RasterExclusions, vtkPropCollection);
322
324
328 vtkSetMacro(PointSizeFactor, float);
329 vtkGetMacro(PointSizeFactor, float);
331
333
337 vtkSetMacro(LineWidthFactor, float);
338 vtkGetMacro(LineWidthFactor, float);
340
341protected:
344
348 const char* GetFileExtension();
349
351
353 char* Title;
356 int Sort;
370
371private:
372 vtkGL2PSExporter(const vtkGL2PSExporter&) = delete;
373 void operator=(const vtkGL2PSExporter&) = delete;
374};
375
376inline const char* vtkGL2PSExporter::GetSortAsString(void)
377{
378 if (this->Sort == NO_SORT)
379 {
380 return "Off";
381 }
382 else if (this->Sort == SIMPLE_SORT)
383 {
384 return "Simple";
385 }
386 else
387 {
388 return "BSP";
389 }
390}
391
393{
394 if (this->FileFormat == PS_FILE)
395 {
396 return "PS";
397 }
398 else if (this->FileFormat == EPS_FILE)
399 {
400 return "EPS";
401 }
402 else if (this->FileFormat == PDF_FILE)
403 {
404 return "PDF";
405 }
406 else if (this->FileFormat == TEX_FILE)
407 {
408 return "TeX";
409 }
410 else
411 {
412 return "SVG";
413 }
414}
415
416#endif
abstract class to write a scene to a file
Definition: vtkExporter.h:48
export a scene as a PostScript file using GL2PS.
vtkTypeBool BestRoot
~vtkGL2PSExporter() override
vtkTypeBool PS3Shading
vtkTypeBool DrawBackground
void SetSortToBSP()
Set the type of sorting algorithm to order primitives from back to front.
void SetFileFormatToSVG()
Specify the format of file to write out.
void SetFileFormatToPS()
Specify the format of file to write out.
vtkSetFilePathMacro(FilePrefix)
Specify the prefix of the files to write out.
vtkPropCollection * RasterExclusions
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkGetFilePathMacro(FilePrefix)
Specify the prefix of the files to write out.
void SetSortToOff()
Set the type of sorting algorithm to order primitives from back to front.
void SetRasterExclusions(vtkPropCollection *)
Collection of props to exclude from rasterization.
vtkTypeBool Landscape
void SetFileFormatToTeX()
Specify the format of file to write out.
vtkTypeBool SimpleLineOffset
static vtkGL2PSExporter * New()
vtkTypeBool Compress
const char * GetFileFormatAsString()
Specify the format of file to write out.
void UsePainterSettings()
Configure the exporter to expect a painter-ordered 2D rendering, that is, a rendering at a fixed dept...
const char * GetFileExtension()
void SetFileFormatToPDF()
Specify the format of file to write out.
vtkTypeBool OcclusionCull
void SetSortToSimple()
Set the type of sorting algorithm to order primitives from back to front.
const char * GetSortAsString()
Set the type of sorting algorithm to order primitives from back to front.
vtkTypeBool Write3DPropsAsRasterImage
void SetFileFormatToEPS()
Specify the format of file to write out.
a simple class to control print indentation
Definition: vtkIndent.h:113
an ordered list of Props
void Sort(RandomIt bitr, RandomIt eitr, BackToFront< T > &me)
@ Text
Definition: vtkX3D.h:166
int vtkTypeBool
Definition: vtkABI.h:69