---
name: "SoVectorizePSAction"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SoVectorizePSAction"
---

# SoVectorizePSAction(3)

The SoVectorizePSAction class is used for rendering to a PostScript file.

## NAME

SoVectorizePSAction - The **SoVectorizePSAction** class is used for rendering to a PostScript file.

## SYNOPSIS

\#include \<Inventor/annex/HardCopy/SoVectorizePSAction.h\>

Inherits **SoVectorizeAction**.

### Public Member Functions

virtual **SoType** **getTypeId** (void) const\
 **SoVectorizePSAction** (void)\
 virtual **~SoVectorizePSAction** ()\
 void **setDefault2DFont** (const **SbString** &fontname)\
 const **SbString** & **getDefault2DFont** (void) const\
 void **setGouraudThreshold** (const double eps)\
 **SoPSVectorOutput** \* **getOutput** (void) const\
 **SoPSVectorOutput** \* **getPSOutput** (void) const\

Public Member Functions inherited from **SoVectorizeAction** **SoVectorizeAction** (void)\
 virtual **~SoVectorizeAction** ()\
 **SoVectorOutput** \* **getOutput** (void) const\
 virtual void **apply** (**SoNode** \*node)\
 virtual void **apply** (**SoPath** \*path)\
 virtual void **apply** (const **SoPathList** &pathlist, SbBool obeysrules=FALSE)\
 void **beginStandardPage** (const **PageSize** &pagesize, const float border=10.0f)\
 virtual void **beginPage** (const **SbVec2f** &startpagepos, const **SbVec2f** &pagesize, **DimensionUnit** u=MM)\
 virtual void **endPage** (void)\
 virtual void **calibrate** (const **SbViewportRegion** &vp)\
 virtual void **beginViewport** (const **SbVec2f** &startpos=**SbVec2f**(-1.0f, 1.0f), const **SbVec2f** &size=**SbVec2f**(-1.0f, -1.0f), **DimensionUnit** u=MM)\
 virtual void **endViewport** (void)\
 virtual void **setOrientation** (**Orientation** o)\
 virtual **Orientation** **getOrientation** (void) const\
 virtual void **setBackgroundColor** (SbBool bg, const **SbColor** &col=**SbColor**(0.0f, 0.0f, 0.0f))\
 virtual SbBool **getBackgroundColor** (**SbColor** &col) const\
 virtual void **setNominalWidth** (float w, **DimensionUnit** u=MM)\
 virtual float **getNominalWidth** (**DimensionUnit** u=MM) const\
 virtual void **setPixelImageSize** (float w, **DimensionUnit** u=MM)\
 virtual float **getPixelImageSize** (**DimensionUnit** u=MM) const\
 virtual void **setPointStyle** (const **PointStyle** &style)\
 virtual **PointStyle** **getPointStyle** (void) const\
 const **SbVec2f** & **getPageStartpos** (void) const\
 const **SbVec2f** & **getPageSize** (void) const\
 virtual void **setDrawingDimensions** (const **SbVec2f** &d, **DimensionUnit** u=MM)\
 virtual void **setDrawingDimensions** (float w, float h, **DimensionUnit** u=MM)\
 virtual **SbVec2f** **getDrawingDimensions** (**DimensionUnit** u=MM) const\
 virtual void **setStartPosition** (const **SbVec2f** &p, **DimensionUnit** u=MM)\
 virtual void **setStartPosition** (float x, float y, **DimensionUnit** u=MM)\
 virtual **SbVec2f** **getStartPosition** (**DimensionUnit** u=MM) const\
 virtual void **setColorTranslationMethod** (ColorTranslationMethod method)\
 virtual ColorTranslationMethod **getColorTranslationMethod** (void) const\
 virtual void **setLineEndStyle** (EndLineStyle style)\
 virtual EndLineStyle **getLineEndStyle** (void) const\
 virtual void **setLineJoinsStyle** (JoinLineStyle style)\
 virtual JoinLineStyle **getLineJoinsStyle** (void) const\
 virtual void **setHLHSRMode** (HLHSRMode mode)\
 HLHSRMode **getHLHSRMode** (void) const\
 virtual void **setBorder** (float width)\
 virtual void **setBorder** (float width, **SbColor** color)\
 virtual void **setMiterLimit** (float limit)\
 virtual float **getMiterLimit** (void) const\
 virtual void **setPenDescription** (int num\_pens, const **SbColor** \*colors=0, const float \*widths=0, **DimensionUnit** u=MM)\
 virtual void **getPenDescription** (**SbColor** \*colors, float \*widths, **DimensionUnit** u=MM) const\
 virtual int **getPenNum** (void) const\
 virtual void **setColorPriority** (SbBool priority)\
 virtual SbBool **getColorPriority** (void) const\
 virtual void **enableLighting** (SbBool flag)\
 SbBool **isLightingEnabled** (void) const\

Public Member Functions inherited from **SoCallbackAction** **SoCallbackAction** (void)\
 **SoCallbackAction** (const **SbViewportRegion** &vp)\
 virtual **~SoCallbackAction** (void)\
 void **setViewportRegion** (const **SbViewportRegion** &vp)\
 void **addPreCallback** (const **SoType** type, **SoCallbackActionCB** \*cb, void \*userdata)\
 void **addPostCallback** (const **SoType** type, **SoCallbackActionCB** \*cb, void \*userdata)\
 void **addPreTailCallback** (**SoCallbackActionCB** \*cb, void \*userdata)\
 void **addPostTailCallback** (**SoCallbackActionCB** \*cb, void \*userdata)\
 void **addTriangleCallback** (const **SoType** type, SoTriangleCB \*cb, void \*userdata)\
 void **addLineSegmentCallback** (const **SoType** type, SoLineSegmentCB \*cb, void \*userdata)\
 void **addPointCallback** (const **SoType** type, SoPointCB \*cb, void \*userdata)\
 **SoDecimationTypeElement::Type** **getDecimationType** (void) const\
 float **getDecimationPercentage** (void) const\
 float **getComplexity** (void) const\
 **SoComplexity::Type** **getComplexityType** (void) const\
 int32\_t **getNumCoordinates** (void) const\
 const **SbVec3f** & **getCoordinate3** (const int index) const\
 const **SbVec4f** & **getCoordinate4** (const int index) const\
 **SoDrawStyle::Style** **getDrawStyle** (void) const\
 unsigned short **getLinePattern** (void) const\
 float **getLineWidth** (void) const\
 float **getPointSize** (void) const\
 const **SbName** & **getFontName** (void) const\
 float **getFontSize** (void) const\
 **SoLightModel::Model** **getLightModel** (void) const\
 const **SbVec3f** & **getLightAttenuation** (void) const\
 void **getMaterial** (**SbColor** &ambient, **SbColor** &diffuse, **SbColor** &specular, **SbColor** &emission, float &shininess, float &transparency, const int index=0) const\
 **SoMaterialBinding::Binding** **getMaterialBinding** (void) const\
 uint32\_t **getNumNormals** (void) const\
 const **SbVec3f** & **getNormal** (const int index) const\
 **SoNormalBinding::Binding** **getNormalBinding** (void) const\
 int32\_t **getNumProfileCoordinates** (void) const\
 const **SbVec2f** & **getProfileCoordinate2** (const int index) const\
 const **SbVec3f** & **getProfileCoordinate3** (const int index) const\
 const **SoNodeList** & **getProfile** (void) const\
 **SoShapeHints::VertexOrdering** **getVertexOrdering** (void) const\
 **SoShapeHints::ShapeType** **getShapeType** (void) const\
 **SoShapeHints::FaceType** **getFaceType** (void) const\
 float **getCreaseAngle** (void) const\
 int32\_t **getNumTextureCoordinates** (void) const\
 const **SbVec2f** & **getTextureCoordinate2** (const int index) const\
 const **SbVec3f** & **getTextureCoordinate3** (const int index) const\
 const **SbVec4f** & **getTextureCoordinate4** (const int index) const\
 **SoTextureCoordinateBinding::Binding** **getTextureCoordinateBinding** (void) const\
 const **SbColor** & **getTextureBlendColor** (void) const\
 const unsigned char \* **getTextureImage** (**SbVec2s** &size, int &numcomps) const\
 const unsigned char \* **getTextureImage** (**SbVec3s** &size, int &numcomps) const\
 const **SbMatrix** & **getTextureMatrix** (void) const\
 **SoTexture2::Model** **getTextureModel** (void) const\
 **SoTexture2::Wrap** **getTextureWrapS** (void) const\
 **SoTexture2::Wrap** **getTextureWrapT** (void) const\
 **SoTexture2::Wrap** **getTextureWrapR** (void) const\
 const **SbMatrix** & **getModelMatrix** (void) const\
 **SoUnits::Units** **getUnits** (void) const\
 float **getFocalDistance** (void) const\
 const **SbMatrix** & **getProjectionMatrix** (void) const\
 const **SbMatrix** & **getViewingMatrix** (void) const\
 const **SbViewVolume** & **getViewVolume** (void) const\
 const **SbViewportRegion** & **getViewportRegion** (void) const\
 **SoPickStyle::Style** **getPickStyle** (void) const\
 int32\_t **getSwitch** (void) const\
 **Response** **getCurrentResponse** (void) const\
 void **invokePreCallbacks** (const **SoNode** \*const node)\
 void **invokePostCallbacks** (const **SoNode** \*const node)\
 void **invokeTriangleCallbacks** (const **SoShape** \*const shape, const **SoPrimitiveVertex** \*const v1, const **SoPrimitiveVertex** \*const v2, const **SoPrimitiveVertex** \*const v3)\
 void **invokeLineSegmentCallbacks** (const **SoShape** \*const shape, const **SoPrimitiveVertex** \*const v1, const **SoPrimitiveVertex** \*const v2)\
 void **invokePointCallbacks** (const **SoShape** \*const shape, const **SoPrimitiveVertex** \*const v)\
 SbBool **shouldGeneratePrimitives** (const **SoShape** \*shape) const\
 virtual **SoNode** \* **getCurPathTail** (void)\
 void **setCurrentNode** (**SoNode** \*const node)\
 void **setCallbackAll** (SbBool callbackall)\
 SbBool **isCallbackAll** (void) const\

Public Member Functions inherited from **SoAction** virtual **~SoAction** (void)\
 virtual SbBool **isOfType** (**SoType** type) const\
 void **apply** (**SoAction** \*beingApplied)\
 virtual void **invalidateState** (void)\
 **AppliedCode** **getWhatAppliedTo** (void) const\
 **SoNode** \* **getNodeAppliedTo** (void) const\
 **SoPath** \* **getPathAppliedTo** (void) const\
 const **SoPathList** \* **getPathListAppliedTo** (void) const\
 const **SoPathList** \* **getOriginalPathListAppliedTo** (void) const\
 SbBool **isLastPathListAppliedTo** (void) const\
 **PathCode** **getPathCode** (int &numindices, const int \*&indices)\
 void **traverse** (**SoNode** \*const node)\
 SbBool **hasTerminated** (void) const\
 const **SoPath** \* **getCurPath** (void)\
 **SoState** \* **getState** (void) const\
 **PathCode** **getCurPathCode** (void) const\
 void **usePathCode** (int &numindices, const int \*&indices)\
 void **pushCurPath** (const int childindex, **SoNode** \*node=NULL)\
 void **popCurPath** (const **PathCode** prevpathcode)\
 void **pushCurPath** (void)\
 void **popPushCurPath** (const int childindex, **SoNode** \*node=NULL)\
 void **popCurPath** (void)\
 void **switchToPathTraversal** (**SoPath** \*path)\
 void **switchToNodeTraversal** (**SoNode** \*node)\

### Static Public Member Functions

static **SoType** **getClassTypeId** (void)\
 static void **addMethod** (const **SoType** type, SoActionMethod method)\
 static void **enableElement** (const **SoType** type, const int stackindex)\
 static void **initClass** (void)\

Static Public Member Functions inherited from **SoVectorizeAction** static **SoType** **getClassTypeId** (void)\
 static void **addMethod** (const **SoType** type, SoActionMethod method)\
 static void **enableElement** (const **SoType** type, const int stackindex)\
 static void **initClass** (void)\

Static Public Member Functions inherited from **SoCallbackAction** static **SoType** **getClassTypeId** (void)\
 static void **addMethod** (const **SoType** type, SoActionMethod method)\
 static void **enableElement** (const **SoType** type, const int stackindex)\
 static void **initClass** (void)\

Static Public Member Functions inherited from **SoAction** static void **initClass** (void)\
 static void **initClasses** (void)\
 static **SoType** **getClassTypeId** (void)\
 static void **nullAction** (**SoAction** \*action, **SoNode** \*node)\

### Protected Member Functions

virtual const **SoEnabledElementsList** & **getEnabledElements** (void) const\
 virtual void **printHeader** (void) const\
 virtual void **printFooter** (void) const\
 virtual void **printBackground** (void) const\
 virtual void **printItem** (const SoVectorizeItem \*item) const\
 virtual void **printViewport** (void) const\

Protected Member Functions inherited from **SoVectorizeAction** void **setOutput** (**SoVectorOutput** \*output)\
 virtual float **pixelsToUnits** (const int pixels)\
 **SbVec2f** **getRotatedViewportStartpos** (void) const\
 **SbVec2f** **getRotatedViewportSize** (void) const\
 const **SbBSPTree** & **getBSPTree** (void) const\

Protected Member Functions inherited from **SoCallbackAction** virtual void **beginTraversal** (**SoNode** \*node)\

Protected Member Functions inherited from **SoAction** **SoAction** (void)\
 virtual void **endTraversal** (**SoNode** \*node)\
 void **setTerminated** (const SbBool flag)\
 virtual SbBool **shouldCompactPathList** (void) const\

### Static Protected Member Functions

static **SoEnabledElementsList** \* **getClassEnabledElements** (void)\
 static **SoActionMethodList** \* **getClassActionMethods** (void)\

Static Protected Member Functions inherited from **SoVectorizeAction** static **SoEnabledElementsList** \* **getClassEnabledElements** (void)\
 static **SoActionMethodList** \* **getClassActionMethods** (void)\

Static Protected Member Functions inherited from **SoCallbackAction** static **SoEnabledElementsList** \* **getClassEnabledElements** (void)\
 static **SoActionMethodList** \* **getClassActionMethods** (void)\

Static Protected Member Functions inherited from **SoAction** static **SoEnabledElementsList** \* **getClassEnabledElements** (void)\
 static **SoActionMethodList** \* **getClassActionMethods** (void)\

### Additional Inherited Members

Public Types inherited from **SoVectorizeAction** enum **DimensionUnit** { **INCH**, **MM**, **METER** }\
 enum **Orientation** { **PORTRAIT**, **LANDSCAPE** }\
 enum **PageSize** { **A0** = 0, **A1**, **A2**, **A3**, **A4**, **A5**, **A6**, **A7**, **A8**, **A9**, **A10** }\
 enum **PointStyle** { **CIRCLE**, **SQUARE** }\
 enum **ColorTranslationMethod** { **REVERSE\_ONLY\_BLACK\_AND\_WHITE**, **AS\_IS**, **REVERSE** }\
 enum **JoinLineStyle** { **NO\_JOIN**, **MITERED\_JOIN**, **MITERED\_BEVELED\_JOIN**, **BEVELED\_JOIN**, **TRIANGULAR\_JOIN**, **ROUNDED\_JOIN** }\
 enum **EndLineStyle** { **BUTT\_END**, **SQUARE\_END**, **TRIANGULAR\_END**, **ROUND\_END** }\
 enum **HLHSRMode** { **NO\_HLHSR**, **HLHSR\_SIMPLE\_PAINTER**, **HLHSR\_PAINTER**, **HLHSR\_PAINTER\_SURFACE\_REMOVAL**, **HIDDEN\_LINES\_REMOVAL** }\

Public Types inherited from **SoCallbackAction** enum **Response** { **CONTINUE**, **ABORT**, **PRUNE** }\
 typedef **Response** **SoCallbackActionCB**(void \*userdata, **SoCallbackAction** \*action, const **SoNode** \*node)\

Public Types inherited from **SoAction** enum **AppliedCode** { **NODE** = 0, **PATH** = 1, **PATH\_LIST** = 2 }\
 enum **PathCode** { **NO\_PATH** = 0, **IN\_PATH** = 1, **BELOW\_PATH** = 2, **OFF\_PATH** = 3 }\

Protected Attributes inherited from **SoAction** **SoState** \* **state**\
 **SoActionMethodList** \* **traversalMethods**\

## Detailed Description

The **SoVectorizePSAction** class is used for rendering to a PostScript file.

**Since**

Coin 2.1

TGS provides HardCopy support as a separate extension for TGS Inventor.

## Constructor & Destructor Documentation

### SoVectorizePSAction::SoVectorizePSAction (void )

Default constructor.

### SoVectorizePSAction::~SoVectorizePSAction () \[virtual\]

Default destructor.

## Member Function Documentation

### SoType SoVectorizePSAction::getTypeId (void ) const \[virtual\]

Returns the type identification of an object derived from a class inheriting **SoAction**. This is used for runtime type checking and "downward" casting.

Reimplemented from **SoVectorizeAction**.

### SoType SoVectorizePSAction::getClassTypeId (void ) \[static\]

This static method returns the **SoType** object associated with objects of this class.

### void SoVectorizePSAction::addMethod (const SoType type, SoActionMethod method) \[static\]

*This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.*\

### void SoVectorizePSAction::enableElement (const SoType type, const int stackindex) \[static\]

*This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.*\

### const SoEnabledElementsList & SoVectorizePSAction::getEnabledElements (void ) const \[protected\], \[virtual\]

Returns list of enabled elements.

Reimplemented from **SoVectorizeAction**.

### SoEnabledElementsList \* SoVectorizePSAction::getClassEnabledElements (void ) \[static\], \[protected\]

Returns list of enabled elements for this class. The enabledElements and methods variables are protected in the original OIV API. This is not such a good idea, since exposed static class member variables is a major grievance with regard to Win32 DLLs. This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.\

### SoActionMethodList \* SoVectorizePSAction::getClassActionMethods (void ) \[static\], \[protected\]

Returns list of action methods for this class. The enabledElements and methods variables are protected in the original OIV API. This is not such a good idea, since exposed static class member variables is a major grievance with regard to Win32 DLLs. This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.\

### void SoVectorizePSAction::initClass (void ) \[static\]

Initializes the runtime type system for this class, and sets up the enabled elements and action method list.

### void SoVectorizePSAction::setDefault2DFont (const SbString & fontname)

Sets the default font name. This font will be used for rendering Text2-nodes which have no Font-nodes preceding them. The default value is "Courier".

### const SbString & SoVectorizePSAction::getDefault2DFont (void ) const

Returns the default font name.

**See also**

**setDefault2DFont()**

### void SoVectorizePSAction::setGouraudThreshold (const double eps)

Sets the Gouraud shading threshold. A threshold of 0.0 will disable Gouraud shading. A smaller value will yield more accurate Gouraud shading. Default is 0.1.

Since the PostScript language has no support for Gouraud shaded triangles, each triangle will be split into subtriangles approximately of size *eps* PostScript units. One PostScript unit is approximately 1/72 inch.

### SoPSVectorOutput \* SoVectorizePSAction::getOutput (void ) const

Returns the **SoPSVectorOutput** used by this instance.

### SoPSVectorOutput \* SoVectorizePSAction::getPSOutput (void ) const

Returns the **SoPSVectorOutput** used by this instance. Provided for API compatibility with TGS HardCopy support.

### void SoVectorizePSAction::printHeader (void ) const \[protected\], \[virtual\]

*This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.*\

Implements **SoVectorizeAction**.

### void SoVectorizePSAction::printFooter (void ) const \[protected\], \[virtual\]

*This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.*\

 Should be overridden by subclasses to print file footer data.

Reimplemented from **SoVectorizeAction**.

### void SoVectorizePSAction::printBackground (void ) const \[protected\], \[virtual\]

*This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.*\

 Should be overridden by subclasses to print background data.

Reimplemented from **SoVectorizeAction**.

### void SoVectorizePSAction::printItem (const SoVectorizeItem \* item) const \[protected\], \[virtual\]

*This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.*\

 Should be overridden by subclasses to print an item.

Implements **SoVectorizeAction**.

### void SoVectorizePSAction::printViewport (void ) const \[protected\], \[virtual\]

*This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.*\

 Should be overridden by subclasses to set up the current page viewport.

Reimplemented from **SoVectorizeAction**.

## Author

Generated automatically by Doxygen for Coin from the source code.
