4.1.2. Using SoVectorizeAction

These actions are all derived from the SoVectorizeAction( C++ | Java | .NET )class. As with the SoWriteAction( C++ | Java | .NET )within Open Inventor that outputs the scene graph by writing to an SoOutput( C++ | Java | .NET )object, this class uses an SoVectorOutput( C++ | Java | .NET )object. This allows you to connect a file to the action using the getOutput()method and to output PostScript, HPGL, CGM, or GDI (only with Microsoft Windows) code to the file using the apply()method. This method specifies the part of the scene graph to which the action should be applied. This may be a node, a path, or a list of paths.

The four classes derived from SoVectorizeAction( C++ | Java | .NET )are:

Figure 4.1. VectorizeAction classes


The four classes derived from SoVectorOutput( C++ | Java | .NET )are:

Figure 4.2. Vector output classes


These actions allow you to configure the printer or plotter or CGM parameters using the methods listed below. (Please see the reference manual for a full description of these methods and their parameters. Not all of the following parameters apply to all output formats.)

[Warning]

HardCopy has the following limitations:

  • Modeling clipping (SoClipPlane( C++ | Java | .NET )) is ignored.

  • Textures and shaders are ignored (polygons are drawn as if no texture is applied).

  • Transparency is ignored.

  • SoAnnotation( C++ | Java | .NET ) nodes are handled like SoSeparator( C++ | Java | .NET ) nodes.

  • Smooth shading is only supported with PostScript Level 3.

  • VolumeViz representations are not supported because textures are ignored.

[Warning]

You must include a camera in your scene graph to generate correct output. Although the Open Inventor viewers add a camera to your scene graph if none exists, this camera is not part of your scene graph and the default view will be used. You can get the viewer’s scene graph, including the camera, as follows:


C++
SoNode pVwrRoot = pViewer->getSceneManager()->getSceneGraph();