vtkGL2PSExporter Class Reference

#include <vtkGL2PSExporter.h>

Inheritance diagram for vtkGL2PSExporter:

Inheritance graph
[legend]
Collaboration diagram for vtkGL2PSExporter:

Collaboration graph
[legend]

List of all members.


Detailed Description

export a scene as a PostScript file using GL2PS.

vtkGL2PSExporter is a concrete subclass of vtkExporter that writes high quality vector PostScript (PS/EPS), PDF or SVG files by using GL2PS. GL2PS can be obtained at: http://www.geuz.org/gl2ps/. This can be very useful when one requires publication quality pictures. This class works best with simple 3D scenes and most 2D plots. Please note that GL2PS has its limitations since PostScript is not an ideal language to represent complex 3D scenes. However, this class does allow one to write mixed vector/raster files by using the Write3DPropsAsRasterImage ivar. Please do read the caveats section of this documentation.

By default vtkGL2PSExporter generates Encapsulated PostScript (EPS) output along with the text in portrait orientation with the background color of the window being drawn. The generated output is also compressed using zlib. The various other options are set to sensible defaults.

The output file format (FileFormat) can be either PostScript (PS), Encapsulated PostScript (EPS), PDF, SVG or TeX. The file extension is generated automatically depending on the FileFormat. The default is EPS. When TeX output is chosen, only the text strings in the plot are generated and put into a picture environment. One can turn on and off the text when generating PS/EPS/PDF/SVG files by using the Text boolean variable. By default the text is drawn. The background color of the renderwindow is drawn by default. To make the background white instead use the DrawBackgroundOff function. Landscape figures can be generated by using the LandscapeOn function. Portrait orientation is used by default. Several of the GL2PS options can be set. The names of the ivars for these options are similar to the ones that GL2PS provides. Compress, SimpleLineOffset, Silent, BestRoot, PS3Shading and OcclusionCull are similar to the options provided by GL2PS. Please read the function documentation or the GL2PS documentation for more details. The ivar Write3DPropsAsRasterImage allows one to generate mixed vector/raster images. All the 3D props in the scene will be written as a raster image and all 2D actors will be written as vector graphic primitives. This makes it possible to handle transparency and complex 3D scenes. This ivar is set to Off by default. When drawing lines and points the OpenGL point size and line width are multiplied by a factor in order to generate PostScript lines and points of the right size. The Get/SetGlobalPointSizeFactor and Get/SetGlobalLineWidthFactor let one customize this ratio. The default value is such that the PostScript output looks close to what is seen on screen.

To use this class you need to turn on VTK_USE_GL2PS when configuring VTK.

Warning:
By default (with Write3DPropsAsRasterImage set to Off) exporting complex 3D scenes can take a long while and result in huge output files. Generating correct vector graphics output for scenes with transparency is almost impossible. However, one can set Write3DPropsAsRasterImageOn and generate mixed vector/raster files. This should work fine with complex scenes along with transparent actors.
See also:
vtkExporter
Thanks:
Thanks to Goodwin Lawlor and Prabhu Ramachandran for this class.
Tests:
vtkGL2PSExporter (Tests)

Definition at line 90 of file vtkGL2PSExporter.h.


Public Types

enum  OutputFormat {
  PS_FILE, EPS_FILE, PDF_FILE, TEX_FILE,
  SVG_FILE
}
enum  SortScheme { NO_SORT = 0, SIMPLE_SORT = 1, BSP_SORT = 2 }
typedef vtkExporter Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual void SetFilePrefix (const char *)
virtual char * GetFilePrefix ()
virtual void SetFileFormat (int)
virtual int GetFileFormat ()
void SetFileFormatToPS ()
void SetFileFormatToEPS ()
void SetFileFormatToPDF ()
void SetFileFormatToTeX ()
void SetFileFormatToSVG ()
const char * GetFileFormatAsString ()
virtual void SetSort (int)
virtual int GetSort ()
void SetSortToOff ()
void SetSortToSimple ()
void SetSortToBSP ()
const char * GetSortAsString ()
virtual void SetCompress (int)
virtual int GetCompress ()
virtual void CompressOn ()
virtual void CompressOff ()
virtual void SetDrawBackground (int)
virtual int GetDrawBackground ()
virtual void DrawBackgroundOn ()
virtual void DrawBackgroundOff ()
virtual void SetSimpleLineOffset (int)
virtual int GetSimpleLineOffset ()
virtual void SimpleLineOffsetOn ()
virtual void SimpleLineOffsetOff ()
virtual void SetSilent (int)
virtual int GetSilent ()
virtual void SilentOn ()
virtual void SilentOff ()
virtual void SetBestRoot (int)
virtual int GetBestRoot ()
virtual void BestRootOn ()
virtual void BestRootOff ()
virtual void SetText (int)
virtual int GetText ()
virtual void TextOn ()
virtual void TextOff ()
virtual void SetLandscape (int)
virtual int GetLandscape ()
virtual void LandscapeOn ()
virtual void LandscapeOff ()
virtual void SetPS3Shading (int)
virtual int GetPS3Shading ()
virtual void PS3ShadingOn ()
virtual void PS3ShadingOff ()
virtual void SetOcclusionCull (int)
virtual int GetOcclusionCull ()
virtual void OcclusionCullOn ()
virtual void OcclusionCullOff ()
virtual void SetWrite3DPropsAsRasterImage (int)
virtual int GetWrite3DPropsAsRasterImage ()
virtual void Write3DPropsAsRasterImageOn ()
virtual void Write3DPropsAsRasterImageOff ()

Static Public Member Functions

static vtkGL2PSExporterNew ()
static int IsTypeOf (const char *type)
static vtkGL2PSExporterSafeDownCast (vtkObject *o)
static void SetGlobalPointSizeFactor (float val)
static float GetGlobalPointSizeFactor ()
static void SetGlobalLineWidthFactor (float val)
static float GetGlobalLineWidthFactor ()

Protected Member Functions

 vtkGL2PSExporter ()
 ~vtkGL2PSExporter ()
void WriteData ()

Protected Attributes

char * FilePrefix
int FileFormat
int Sort
int Compress
int DrawBackground
int SimpleLineOffset
int Silent
int BestRoot
int Text
int Landscape
int PS3Shading
int OcclusionCull
int Write3DPropsAsRasterImage

Member Typedef Documentation

Reimplemented from vtkExporter.

Definition at line 94 of file vtkGL2PSExporter.h.


Member Enumeration Documentation

Enumerator:
PS_FILE 
EPS_FILE 
PDF_FILE 
TEX_FILE 
SVG_FILE 

Definition at line 106 of file vtkGL2PSExporter.h.

Enumerator:
NO_SORT 
SIMPLE_SORT 
BSP_SORT 

Definition at line 137 of file vtkGL2PSExporter.h.


Constructor & Destructor Documentation

vtkGL2PSExporter::vtkGL2PSExporter (  )  [protected]

vtkGL2PSExporter::~vtkGL2PSExporter (  )  [protected]


Member Function Documentation

static vtkGL2PSExporter* vtkGL2PSExporter::New (  )  [static]

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

virtual const char* vtkGL2PSExporter::GetClassName (  )  [virtual]

Reimplemented from vtkExporter.

static int vtkGL2PSExporter::IsTypeOf ( const char *  name  )  [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkExporter.

virtual int vtkGL2PSExporter::IsA ( const char *  name  )  [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkExporter.

static vtkGL2PSExporter* vtkGL2PSExporter::SafeDownCast ( vtkObject o  )  [static]

Reimplemented from vtkExporter.

void vtkGL2PSExporter::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkExporter.

virtual void vtkGL2PSExporter::SetFilePrefix ( const char *   )  [virtual]

Specify the prefix of the files to write out. The resulting filenames will have .ps or .eps or .tex appended to them depending on the other options chosen.

virtual char* vtkGL2PSExporter::GetFilePrefix (  )  [virtual]

Specify the prefix of the files to write out. The resulting filenames will have .ps or .eps or .tex appended to them depending on the other options chosen.

virtual void vtkGL2PSExporter::SetFileFormat ( int   )  [virtual]

Specify the format of file to write out. This can be one of: PS_FILE, EPS_FILE, PDF_FILE, TEX_FILE. Defaults to EPS_FILE. Depending on the option chosen it generates the appropriate file (with correct extension) when the Write function is called.

virtual int vtkGL2PSExporter::GetFileFormat (  )  [virtual]

Specify the format of file to write out. This can be one of: PS_FILE, EPS_FILE, PDF_FILE, TEX_FILE. Defaults to EPS_FILE. Depending on the option chosen it generates the appropriate file (with correct extension) when the Write function is called.

void vtkGL2PSExporter::SetFileFormatToPS (  )  [inline]

Specify the format of file to write out. This can be one of: PS_FILE, EPS_FILE, PDF_FILE, TEX_FILE. Defaults to EPS_FILE. Depending on the option chosen it generates the appropriate file (with correct extension) when the Write function is called.

Definition at line 123 of file vtkGL2PSExporter.h.

void vtkGL2PSExporter::SetFileFormatToEPS (  )  [inline]

Specify the format of file to write out. This can be one of: PS_FILE, EPS_FILE, PDF_FILE, TEX_FILE. Defaults to EPS_FILE. Depending on the option chosen it generates the appropriate file (with correct extension) when the Write function is called.

Definition at line 125 of file vtkGL2PSExporter.h.

void vtkGL2PSExporter::SetFileFormatToPDF (  )  [inline]

Specify the format of file to write out. This can be one of: PS_FILE, EPS_FILE, PDF_FILE, TEX_FILE. Defaults to EPS_FILE. Depending on the option chosen it generates the appropriate file (with correct extension) when the Write function is called.

Definition at line 127 of file vtkGL2PSExporter.h.

void vtkGL2PSExporter::SetFileFormatToTeX (  )  [inline]

Specify the format of file to write out. This can be one of: PS_FILE, EPS_FILE, PDF_FILE, TEX_FILE. Defaults to EPS_FILE. Depending on the option chosen it generates the appropriate file (with correct extension) when the Write function is called.

Definition at line 129 of file vtkGL2PSExporter.h.

void vtkGL2PSExporter::SetFileFormatToSVG (  )  [inline]

Specify the format of file to write out. This can be one of: PS_FILE, EPS_FILE, PDF_FILE, TEX_FILE. Defaults to EPS_FILE. Depending on the option chosen it generates the appropriate file (with correct extension) when the Write function is called.

Definition at line 131 of file vtkGL2PSExporter.h.

const char * vtkGL2PSExporter::GetFileFormatAsString ( void   )  [inline]

Specify the format of file to write out. This can be one of: PS_FILE, EPS_FILE, PDF_FILE, TEX_FILE. Defaults to EPS_FILE. Depending on the option chosen it generates the appropriate file (with correct extension) when the Write function is called.

Definition at line 302 of file vtkGL2PSExporter.h.

virtual void vtkGL2PSExporter::SetSort ( int   )  [virtual]

Set the the type of sorting algorithm to order primitives from back to front. Successive algorithms are more memory intensive. Simple is the default but BSP is perhaps the best.

virtual int vtkGL2PSExporter::GetSort (  )  [virtual]

Set the the type of sorting algorithm to order primitives from back to front. Successive algorithms are more memory intensive. Simple is the default but BSP is perhaps the best.

void vtkGL2PSExporter::SetSortToOff (  )  [inline]

Set the the type of sorting algorithm to order primitives from back to front. Successive algorithms are more memory intensive. Simple is the default but BSP is perhaps the best.

Definition at line 151 of file vtkGL2PSExporter.h.

void vtkGL2PSExporter::SetSortToSimple (  )  [inline]

Set the the type of sorting algorithm to order primitives from back to front. Successive algorithms are more memory intensive. Simple is the default but BSP is perhaps the best.

Definition at line 153 of file vtkGL2PSExporter.h.

void vtkGL2PSExporter::SetSortToBSP (  )  [inline]

Set the the type of sorting algorithm to order primitives from back to front. Successive algorithms are more memory intensive. Simple is the default but BSP is perhaps the best.

Definition at line 155 of file vtkGL2PSExporter.h.

const char * vtkGL2PSExporter::GetSortAsString ( void   )  [inline]

Set the the type of sorting algorithm to order primitives from back to front. Successive algorithms are more memory intensive. Simple is the default but BSP is perhaps the best.

Definition at line 286 of file vtkGL2PSExporter.h.

virtual void vtkGL2PSExporter::SetCompress ( int   )  [virtual]

Turn on/off compression when generating PostScript or PDF output. By default compression is on.

virtual int vtkGL2PSExporter::GetCompress (  )  [virtual]

Turn on/off compression when generating PostScript or PDF output. By default compression is on.

virtual void vtkGL2PSExporter::CompressOn (  )  [virtual]

Turn on/off compression when generating PostScript or PDF output. By default compression is on.

virtual void vtkGL2PSExporter::CompressOff (  )  [virtual]

Turn on/off compression when generating PostScript or PDF output. By default compression is on.

virtual void vtkGL2PSExporter::SetDrawBackground ( int   )  [virtual]

Turn on/off drawing the background frame. If off the background is treated as white. By default the background is drawn.

virtual int vtkGL2PSExporter::GetDrawBackground (  )  [virtual]

Turn on/off drawing the background frame. If off the background is treated as white. By default the background is drawn.

virtual void vtkGL2PSExporter::DrawBackgroundOn (  )  [virtual]

Turn on/off drawing the background frame. If off the background is treated as white. By default the background is drawn.

virtual void vtkGL2PSExporter::DrawBackgroundOff (  )  [virtual]

Turn on/off drawing the background frame. If off the background is treated as white. By default the background is drawn.

virtual void vtkGL2PSExporter::SetSimpleLineOffset ( int   )  [virtual]

Turn on/off the GL2PS_SIMPLE_LINE_OFFSET option. When enabled a small offset is added in the z-buffer to all the lines in the plot. This results in an anti-aliasing like solution. Defaults to on.

virtual int vtkGL2PSExporter::GetSimpleLineOffset (  )  [virtual]

Turn on/off the GL2PS_SIMPLE_LINE_OFFSET option. When enabled a small offset is added in the z-buffer to all the lines in the plot. This results in an anti-aliasing like solution. Defaults to on.

virtual void vtkGL2PSExporter::SimpleLineOffsetOn (  )  [virtual]

Turn on/off the GL2PS_SIMPLE_LINE_OFFSET option. When enabled a small offset is added in the z-buffer to all the lines in the plot. This results in an anti-aliasing like solution. Defaults to on.

virtual void vtkGL2PSExporter::SimpleLineOffsetOff (  )  [virtual]

Turn on/off the GL2PS_SIMPLE_LINE_OFFSET option. When enabled a small offset is added in the z-buffer to all the lines in the plot. This results in an anti-aliasing like solution. Defaults to on.

virtual void vtkGL2PSExporter::SetSilent ( int   )  [virtual]

Turn on/off GL2PS messages sent to stderr (GL2PS_SILENT). When enabled GL2PS messages are suppressed. Defaults to off.

virtual int vtkGL2PSExporter::GetSilent (  )  [virtual]

Turn on/off GL2PS messages sent to stderr (GL2PS_SILENT). When enabled GL2PS messages are suppressed. Defaults to off.

virtual void vtkGL2PSExporter::SilentOn (  )  [virtual]

Turn on/off GL2PS messages sent to stderr (GL2PS_SILENT). When enabled GL2PS messages are suppressed. Defaults to off.

virtual void vtkGL2PSExporter::SilentOff (  )  [virtual]

Turn on/off GL2PS messages sent to stderr (GL2PS_SILENT). When enabled GL2PS messages are suppressed. Defaults to off.

virtual void vtkGL2PSExporter::SetBestRoot ( int   )  [virtual]

Turn on/off the GL2PS_BEST_ROOT option. When enabled the construction of the BSP tree is optimized by choosing the root primitives leading to the minimum number of splits. Defaults to on.

virtual int vtkGL2PSExporter::GetBestRoot (  )  [virtual]

Turn on/off the GL2PS_BEST_ROOT option. When enabled the construction of the BSP tree is optimized by choosing the root primitives leading to the minimum number of splits. Defaults to on.

virtual void vtkGL2PSExporter::BestRootOn (  )  [virtual]

Turn on/off the GL2PS_BEST_ROOT option. When enabled the construction of the BSP tree is optimized by choosing the root primitives leading to the minimum number of splits. Defaults to on.

virtual void vtkGL2PSExporter::BestRootOff (  )  [virtual]

Turn on/off the GL2PS_BEST_ROOT option. When enabled the construction of the BSP tree is optimized by choosing the root primitives leading to the minimum number of splits. Defaults to on.

virtual void vtkGL2PSExporter::SetText ( int   )  [virtual]

Turn on/off drawing the text. If on (default) the text is drawn. If the FileFormat is set to TeX output then a LaTeX picture is generated with the text strings. If off text output is suppressed.

virtual int vtkGL2PSExporter::GetText (  )  [virtual]

Turn on/off drawing the text. If on (default) the text is drawn. If the FileFormat is set to TeX output then a LaTeX picture is generated with the text strings. If off text output is suppressed.

virtual void vtkGL2PSExporter::TextOn (  )  [virtual]

Turn on/off drawing the text. If on (default) the text is drawn. If the FileFormat is set to TeX output then a LaTeX picture is generated with the text strings. If off text output is suppressed.

virtual void vtkGL2PSExporter::TextOff (  )  [virtual]

Turn on/off drawing the text. If on (default) the text is drawn. If the FileFormat is set to TeX output then a LaTeX picture is generated with the text strings. If off text output is suppressed.

virtual void vtkGL2PSExporter::SetLandscape ( int   )  [virtual]

Turn on/off landscape orientation. If off (default) the orientation is set to portrait.

virtual int vtkGL2PSExporter::GetLandscape (  )  [virtual]

Turn on/off landscape orientation. If off (default) the orientation is set to portrait.

virtual void vtkGL2PSExporter::LandscapeOn (  )  [virtual]

Turn on/off landscape orientation. If off (default) the orientation is set to portrait.

virtual void vtkGL2PSExporter::LandscapeOff (  )  [virtual]

Turn on/off landscape orientation. If off (default) the orientation is set to portrait.

virtual void vtkGL2PSExporter::SetPS3Shading ( int   )  [virtual]

Turn on/off the GL2PS_PS3_SHADING option. When enabled the shfill PostScript level 3 operator is used. Read the GL2PS documentation for more details. Defaults to on.

virtual int vtkGL2PSExporter::GetPS3Shading (  )  [virtual]

Turn on/off the GL2PS_PS3_SHADING option. When enabled the shfill PostScript level 3 operator is used. Read the GL2PS documentation for more details. Defaults to on.

virtual void vtkGL2PSExporter::PS3ShadingOn (  )  [virtual]

Turn on/off the GL2PS_PS3_SHADING option. When enabled the shfill PostScript level 3 operator is used. Read the GL2PS documentation for more details. Defaults to on.

virtual void vtkGL2PSExporter::PS3ShadingOff (  )  [virtual]

Turn on/off the GL2PS_PS3_SHADING option. When enabled the shfill PostScript level 3 operator is used. Read the GL2PS documentation for more details. Defaults to on.

virtual void vtkGL2PSExporter::SetOcclusionCull ( int   )  [virtual]

Turn on/off culling of occluded polygons (GL2PS_OCCLUSION_CULL). When enabled hidden polygons are removed. This reduces file size considerably. Defaults to on.

virtual int vtkGL2PSExporter::GetOcclusionCull (  )  [virtual]

Turn on/off culling of occluded polygons (GL2PS_OCCLUSION_CULL). When enabled hidden polygons are removed. This reduces file size considerably. Defaults to on.

virtual void vtkGL2PSExporter::OcclusionCullOn (  )  [virtual]

Turn on/off culling of occluded polygons (GL2PS_OCCLUSION_CULL). When enabled hidden polygons are removed. This reduces file size considerably. Defaults to on.

virtual void vtkGL2PSExporter::OcclusionCullOff (  )  [virtual]

Turn on/off culling of occluded polygons (GL2PS_OCCLUSION_CULL). When enabled hidden polygons are removed. This reduces file size considerably. Defaults to on.

virtual void vtkGL2PSExporter::SetWrite3DPropsAsRasterImage ( int   )  [virtual]

Turn on/off writing 3D props as raster images. 2D props are rendered using vector graphics primitives. If you have hi-res actors and are using transparency you probably need to turn this on. Defaults to Off.

virtual int vtkGL2PSExporter::GetWrite3DPropsAsRasterImage (  )  [virtual]

Turn on/off writing 3D props as raster images. 2D props are rendered using vector graphics primitives. If you have hi-res actors and are using transparency you probably need to turn this on. Defaults to Off.

virtual void vtkGL2PSExporter::Write3DPropsAsRasterImageOn (  )  [virtual]

Turn on/off writing 3D props as raster images. 2D props are rendered using vector graphics primitives. If you have hi-res actors and are using transparency you probably need to turn this on. Defaults to Off.

virtual void vtkGL2PSExporter::Write3DPropsAsRasterImageOff (  )  [virtual]

Turn on/off writing 3D props as raster images. 2D props are rendered using vector graphics primitives. If you have hi-res actors and are using transparency you probably need to turn this on. Defaults to Off.

static void vtkGL2PSExporter::SetGlobalPointSizeFactor ( float  val  )  [static]

Set the ratio between the OpenGL PointSize and that used by GL2PS to generate PostScript. Defaults to a ratio of 5/7.

static float vtkGL2PSExporter::GetGlobalPointSizeFactor (  )  [static]

Set the ratio between the OpenGL PointSize and that used by GL2PS to generate PostScript. Defaults to a ratio of 5/7.

static void vtkGL2PSExporter::SetGlobalLineWidthFactor ( float  val  )  [static]

Set the ratio between the OpenGL LineWidth and that used by GL2PS to generate PostScript. Defaults to a ratio of 5/7.

static float vtkGL2PSExporter::GetGlobalLineWidthFactor (  )  [static]

Set the ratio between the OpenGL LineWidth and that used by GL2PS to generate PostScript. Defaults to a ratio of 5/7.

void vtkGL2PSExporter::WriteData (  )  [protected, virtual]

Implements vtkExporter.


Member Data Documentation

char* vtkGL2PSExporter::FilePrefix [protected]

Definition at line 267 of file vtkGL2PSExporter.h.

Definition at line 268 of file vtkGL2PSExporter.h.

int vtkGL2PSExporter::Sort [protected]

Definition at line 269 of file vtkGL2PSExporter.h.

int vtkGL2PSExporter::Compress [protected]

Definition at line 270 of file vtkGL2PSExporter.h.

Definition at line 271 of file vtkGL2PSExporter.h.

Definition at line 272 of file vtkGL2PSExporter.h.

int vtkGL2PSExporter::Silent [protected]

Definition at line 273 of file vtkGL2PSExporter.h.

int vtkGL2PSExporter::BestRoot [protected]

Definition at line 274 of file vtkGL2PSExporter.h.

int vtkGL2PSExporter::Text [protected]

Definition at line 275 of file vtkGL2PSExporter.h.

int vtkGL2PSExporter::Landscape [protected]

Definition at line 276 of file vtkGL2PSExporter.h.

Definition at line 277 of file vtkGL2PSExporter.h.

Definition at line 278 of file vtkGL2PSExporter.h.

Definition at line 279 of file vtkGL2PSExporter.h.


The documentation for this class was generated from the following file:

Generated on Sat Dec 27 13:26:49 2008 for VTK by  doxygen 1.5.6