Coin: SoVectorizePSAction Class Reference

| Coin3D is Free Software, published under the BSD 3-clause license. | https://coin3d.github.io https://www.kongsberg.com/en/kogt/

SoVectorizePSAction Class Reference
Vectorized Printing Classes

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

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

Inheritance diagram for SoVectorizePSAction:

## 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::SoVectorizePSAction | ( | void |  | ) |

Default constructor.

## ◆ ~SoVectorizePSAction()

SoVectorizePSAction::~SoVectorizePSAction | ( |  | ) |
| virtual

Default destructor.

## Member Function Documentation

## ◆ getTypeId()

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.

## ◆ getClassTypeId()

SoType SoVectorizePSAction::getClassTypeId | ( | void |  | ) |
| static

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

## ◆ addMethod()

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.

## ◆ enableElement()

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.

## ◆ getEnabledElements()

const SoEnabledElementsList & SoVectorizePSAction::getEnabledElements | ( | void |  | ) | const
| protectedvirtual

Returns list of enabled elements.

Reimplemented from SoVectorizeAction.

## ◆ getClassEnabledElements()

SoEnabledElementsList * SoVectorizePSAction::getClassEnabledElements | ( | void |  | ) |
| staticprotected

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.

## ◆ getClassActionMethods()

SoActionMethodList * SoVectorizePSAction::getClassActionMethods | ( | void |  | ) |
| staticprotected

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.

## ◆ initClass()

void SoVectorizePSAction::initClass | ( | void |  | ) |
| static

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

## ◆ setDefault2DFont()

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".

## ◆ getDefault2DFont()

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

Returns the default font name.

See also
  setDefault2DFont()

## ◆ setGouraudThreshold()

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.

## ◆ getOutput()

SoPSVectorOutput * SoVectorizePSAction::getOutput | ( | void |  | ) | const

Returns the SoPSVectorOutput used by this instance.

## ◆ getPSOutput()

SoPSVectorOutput * SoVectorizePSAction::getPSOutput | ( | void |  | ) | const

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

## ◆ printHeader()

void SoVectorizePSAction::printHeader | ( | void |  | ) | const
| protectedvirtual

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

Implements SoVectorizeAction.

## ◆ printFooter()

void SoVectorizePSAction::printFooter | ( | void |  | ) | const
| protectedvirtual

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.

## ◆ printBackground()

void SoVectorizePSAction::printBackground | ( | void |  | ) | const
| protectedvirtual

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.

## ◆ printItem()

void SoVectorizePSAction::printItem | ( | const SoVectorizeItem * | item | ) | const
| protectedvirtual

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.

## ◆ printViewport()

void SoVectorizePSAction::printViewport | ( | void |  | ) | const
| protectedvirtual

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.

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

- SoVectorizePSAction.h
- VectorizePSAction.cpp