SoVectorizeAction Class |
Abstract class for vectorizing a scene graph to a file.
Namespace: OIV.HardCopy
The SoVectorizeAction type exposes the following members.
Name | Description | |
---|---|---|
Apply(SoNode) | Initiates an action on the graph specified by a node. | |
Apply(SoPath) | Initiates an action on the graph specified by a path. | |
Apply(SoPathList) | Calls Apply(pathList, false). | |
Apply(SoPathList, Boolean) | Initiates an action on the graph specified by list of paths. | |
BeginPage(SbVec2f, SbVec2f) | Calls BeginPage(startPagePosition, pageSize, OIV.HardCopy.SoVectorizeAction.DimensionUnits( .SoVectorizeAction.MM )). | |
BeginPage(SbVec2f, SbVec2f, SoVectorizeActionDimensionUnits) | Begin a new page. | |
ClearApplyResult | When applied, an action may reference nodes or create objects (e.g. | |
EnableElement | ||
EnableElements | (Overrides SoActionEnableElements.) | |
EnableLighting | Allows the user to enable/disable the taking into account of lights in the scene graph during the computation of the vectorized file. | |
EndPage | Ends a page. | |
Equals | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |
ForwardTraversal(SoNode) | Traverse a node that is not part of the current scenegraph. | |
ForwardTraversal(SoPath) | Traverse a path that is not part of the current scenegraph. | |
GetBackgroundColor | Returns the color of the background. | |
GetBorder | Returns the color and the width of the border of the clipping limits. | |
GetColorPriority | Returns the color priority. | |
GetColorTranslationMethod | Returns the method for choosing the color of the drawing on the sheet of paper. | |
GetContinueActionInBranchFlag | This function indicates if the action must stop in the current branch. | |
GetCurPath | Returns the path accumulated during traversal, i.e., the chain of nodes from the root of the traversed graph to the current node being traversed. | |
GetDistribMode | Returns the distribution mode of this action across a cluster (ScaleViz-Cluster only). | |
GetDrawingDimensions | Calls GetDrawingDimensions(OIV.HardCopy.SoVectorizeAction.DimensionUnits( .SoVectorizeAction.MM )). | |
GetDrawingDimensions(SoVectorizeActionDimensionUnits) | Returns the dimensions of the drawing on the sheet of paper. | |
GetHashCode |
Overrides GetHashCode().
(Inherited from SoNetBase.) | |
GetHLHSRMode | Returns the Hidden Line and Hidden Surface Removal mode. | |
GetHLHSRRasterCaching | Returns the raster caching flag. | |
GetHLHSRRasterQuality | Returns the raster image quality value. | |
GetLineEndStyle | Returns the style for line ends. | |
GetLineJoinsStyle | Returns the style for line joins. | |
GetLineOffset | Returns line offset. | |
GetLinePatternSize | Calls GetLinePatternSize(OIV.HardCopy.SoVectorizeAction.DimensionUnits( .SoVectorizeAction.MM )). | |
GetLinePatternSize(SoVectorizeActionDimensionUnits) | Returns the line pattern scale factor. | |
GetMarkerOffset | Returns marker offset. | |
GetMiterLimit | Returns the miter limit. | |
GetNodeAppliedTo | Returns the node the action is being applied to. | |
GetNominalWidth | Calls GetNominalWidth(OIV.HardCopy.SoVectorizeAction.DimensionUnits( .SoVectorizeAction.MM )). | |
GetNominalWidth(SoVectorizeActionDimensionUnits) | Returns the nominal width. | |
GetOrientation | Returns the orientation of the drawing on the sheet of paper. | |
GetOriginalPathListAppliedTo | Returns the original path list the action is being applied to. | |
GetPathAppliedTo | Returns the path the action is being applied to. | |
GetPathCode | Returns path code based on where current node (the node at the end of the current path) lies with respect to the path(s) the action is being applied to. | |
GetPathListAppliedTo | Returns the path list the action is being applied to. | |
GetPenDescription(SbColor, Single) | Calls GetPenDescription(colors, widths, OIV.HardCopy.SoVectorizeAction.DimensionUnits( .SoVectorizeAction.MM )). | |
GetPenDescription(SbColor, Single, SoVectorizeActionDimensionUnits) | Returns the description of the color and the width of each pen. | |
GetPenNum | Returns the number of pens. | |
GetPipeId | Gets pipe identifier in the range [1..N] associated to this render action while running a ScaleViz Multipipe configuration. | |
GetPixelImageSize | Calls GetPixelImageSize(OIV.HardCopy.SoVectorizeAction.DimensionUnits( .SoVectorizeAction.MM )). | |
GetPixelImageSize(SoVectorizeActionDimensionUnits) | Returns the size of a pixel. | |
GetPolygonOffset | Returns polygon offset. | |
GetSceneManager | Return the OIV.Inventor.SoSceneManager associated with this action. | |
GetShadeModel | Returns the shade model. | |
GetStartPosition | Calls GetStartPosition(OIV.HardCopy.SoVectorizeAction.DimensionUnits( .SoVectorizeAction.MM )). | |
GetStartPosition(SoVectorizeActionDimensionUnits) | Returns the start position of the drawing on the sheet of paper. | |
GetState | Gets the state from the action. | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
GetVectorOutput | Output access method. | |
GetWhatAppliedTo | Returns code indicating what action is being applied to. | |
HasTerminated | Returns true if the traversal has reached a termination condition. | |
InvalidateState | Invalidates the current traversal state in the action, forcing it to be recreated when the action is next applied. | |
IsBeingApplied | Returns true if this action is currently being applied. | |
IsLastPathListAppliedTo | Returns true if the current list is the last one from the original. | |
IsLightingEnabled | Returns true if lighting is enabled. | |
IsUsingAlternateRep | Returns true if current action is using alternate representations. | |
PostDelayedTraversal | Method called by SoMultiPassManager after delayed pass traversals. | |
PreDelayedTraversal | Method called by SoMultiPassManager before delayed pass traversals. | |
ResetContinueActionInBranchFlag | This function resets the continue action flag. | |
SetBackgroundColor(Boolean) | Enables or disables the background and sets its color to white. | |
SetBackgroundColor(Boolean, SbColor) | Sets the color of the background. | |
SetBorder(Single) | Sets the width of the border of the clipping limits. | |
SetBorder(Single, SbColor) | Sets the color and the width of the border of the clipping limits. | |
SetColorPriority | Sets the color priority flag. | |
SetColorTranslationMethod | Sets the method for choosing the color of the drawing on the sheet of paper. | |
SetDrawingDimensions(SbVec2f) | Calls SetDrawingDimensions(d, OIV.HardCopy.SoVectorizeAction.DimensionUnits( .SoVectorizeAction.MM )). | |
SetDrawingDimensions(Single, Single) | Calls SetDrawingDimensions(w, h, OIV.HardCopy.SoVectorizeAction.DimensionUnits( .SoVectorizeAction.MM )). | |
SetDrawingDimensions(SbVec2f, SoVectorizeActionDimensionUnits) | Sets the dimensions of the drawing on the sheet of paper. | |
SetDrawingDimensions(Single, Single, SoVectorizeActionDimensionUnits) | Sets the dimensions of the drawing on the sheet of paper. | |
SetHLHSRMode | Sets the Hidden Line and Hidden Surface Removal mode. | |
SetHLHSRRasterCaching | Enables/disables the use of OpenGL display lists to generate the raster image with the OIV.HardCopy.SoVectorizeAction.HLHSRModes.HLHSR_RASTER algorithm. | |
SetHLHSRRasterQuality | Sets the quality of the raster image generated to vectorize visible primitives with the OIV.HardCopy.SoVectorizeAction.HLHSRModes.HLHSR_RASTER algorithm. | |
SetLineEndStyle | Sets the style for line ends. | |
SetLineJoinsStyle | Sets the style for line joins. | |
SetLineOffset | Sets line offset. | |
SetLinePatternSize(Single) | Calls SetLinePatternSize(w, OIV.HardCopy.SoVectorizeAction.DimensionUnits( .SoVectorizeAction.MM )). | |
SetLinePatternSize(Single, SoVectorizeActionDimensionUnits) | Sets the line pattern size, i.e., the association between printer pattern (16 printer "points") and the size of the line pattern on the hard copy output. | |
SetMarkerOffset | Sets marker offset. | |
SetMiterLimit | Sets the miter limit. | |
SetNominalWidth(Single) | Calls SetNominalWidth(w, OIV.HardCopy.SoVectorizeAction.DimensionUnits( .SoVectorizeAction.MM )). | |
SetNominalWidth(Single, SoVectorizeActionDimensionUnits) | Sets the nominal width. | |
SetOrientation | Sets the orientation of the drawing on the sheet of paper. | |
SetPenDescription | Calls SetPenDescription((cli.array<OIV.Inventor.SbColor>^)nullptr, (cli.array<System.Single>^)nullptr, OIV.HardCopy.SoVectorizeAction.DimensionUnits( .SoVectorizeAction.MM )). | |
SetPenDescription(SbColor) | Calls SetPenDescription(colors, (cli.array<System.Single>^)nullptr, OIV.HardCopy.SoVectorizeAction.DimensionUnits( .SoVectorizeAction.MM )). | |
SetPenDescription(SbColor, Single) | Calls SetPenDescription(colors, widths, OIV.HardCopy.SoVectorizeAction.DimensionUnits( .SoVectorizeAction.MM )). | |
SetPenDescription(SbColor, Single, SoVectorizeActionDimensionUnits) | Sets the description of the color and the width of each pen. | |
SetPipeId | Sets pipe identifier in the range [1..N] associated to this render action while running a ScaleViz Multipipe configuration. | |
SetPixelImageSize(Single) | Calls SetPixelImageSize(w, OIV.HardCopy.SoVectorizeAction.DimensionUnits( .SoVectorizeAction.MM )). | |
SetPixelImageSize(Single, SoVectorizeActionDimensionUnits) | Sets the size of a pixel for image primitives. | |
SetPolygonOffset | Method to set the Z offset to be applied to polygons in normalized device coordinates (-1 to 1 space). | |
SetSceneManager | Set the scene manager associated with this action (if any ). | |
SetShadeModel | ||
SetStartPosition(SbVec2f) | Calls SetStartPosition(p, OIV.HardCopy.SoVectorizeAction.DimensionUnits( .SoVectorizeAction.MM )). | |
SetStartPosition(Single, Single) | Calls SetStartPosition(x, y, OIV.HardCopy.SoVectorizeAction.DimensionUnits( .SoVectorizeAction.MM )). | |
SetStartPosition(SbVec2f, SoVectorizeActionDimensionUnits) | Sets the start position of the drawing on the sheet of paper. | |
SetStartPosition(Single, Single, SoVectorizeActionDimensionUnits) | Sets the start position of the drawing on the sheet of paper. | |
SetUpState | Creates state if it is NULL or it is no longer valid because new elements have been enabled since it was created. | |
StopActionInBranch | This function stops the action in the current Scene Graph branch. | |
ToString | Returns a string that represents the current object. (Inherited from Object.) | |
Traverse | Does traversal of a graph rooted by a node. | |
UseAlternateRep | Tell the action to use alternate representations during traversal when available. |
This class is an abstract class for all vectorize actions. The supported subclasses are OIV.HardCopy.SoVectorizeCGMAction, OIV.HardCopy.SoVectorizeGDIAction (Win32 only), OIV.HardCopy.SoVectorizeHPGLAction, and OIV.HardCopy.SoVectorizePSAction. As with OIV.Inventor.Actions.SoWriteAction, these subclasses contain an OIV.HardCopy.SoVectorOutput instance (or derived) which writes by default to standard output. Methods on OIV.HardCopy.SoVectorOutput can be called to specify what file to write to.
Default values:
Orientation: OIV.HardCopy.SoVectorizeAction.Orientations.PORTRAIT
Start position: X=10.0 mm and Y=10.0 mm
Dimensions: Width=190.0 mm and Height=277.0 mm
Border width: 2.0 mm
Border color: (1.,1.,1.)
Background: no background
Nominal width: 0.35 mm
Pixel image size: 0.35mm
Color Translation method: OIV.HardCopy.SoVectorizeAction.ColorTranslationMethods.REVERSE_ONLY_BLACK_AND_WHITE
Number of pens: 0
Color priority: true
Line End Style: OIV.HardCopy.SoVectorizeAction.EndLineStyles.BUTT_END
Line Join Style: OIV.HardCopy.SoVectorizeAction.JoinLineStyles.NO_JOIN
Miter limit: 1.5 (Miter Length / Line Width)
HLHSR mode: OIV.HardCopy.SoVectorizeAction.HLHSRModes.NO_HLHSR
Lighting enabled: false
Polygon/Line/Marker offset: 0
Shade model: OIV.HardCopy.SoVectorizeAction.ShadeModels.FLAT
HLHSR raster quality: 0.5
Line end styles description:
Force black and white rendering: It is possible to force black and white rendering by setting the environment variable OIV_HC_BLACK_AND_WHITE (see OIV.Inventor.SoPreferences). In this mode all non-white colors are set to full black. This is useful because selecting "black & white" in the printer setup dialog normally produces gray scale rendering and some colors may be difficult to see. This option is applied after color translation (e.g. REVERSE_ONLY_BLACK_AND_WHITE). The variable must be set before creating an instance of the class.
Performance: The HLHSR modes OIV.HardCopy.SoVectorizeAction.HLHSRModes.NO_HLHSR and OIV.HardCopy.SoVectorizeAction.HLHSRModes.HLHSR_SIMPLE_PAINTER are generally quite fast and should be used whenever possible (when the resulting image quality is acceptable or when a quick preview is desired). The other HLHSR modes involve computations that are very CPU intensive. In other words, the time required to produce an image depends almost entirely on the machine's processor speed. OIV.HardCopy.SoVectorizeAction.HLHSRModes.HLHSR_PAINTER_SURFACE_REMOVAL has a very small dependency on the graphics board (because it does one offscreen render) whereas OIV.HardCopy.SoVectorizeAction.HLHSRModes.HLHSR_RASTER performance is completely linked to the graphics board performance. The other modes are not affected by the graphics board performance. One implication of the CPU dependency is that the release libraries will generally be much faster than the debug libraries (because of compiler optimizations). Benchmarking should always be done using the release libraries.
Performance is directly related to the number of primitives (individual faces and line segments, not the number of nodes in the scene graph) and the number of intersecting or difficult-to-sort primitives. Performance decreases rapidly (worse than linear) for large numbers of primitives. Therefore algorithms that can reduce the number of primitives may be needed for large scenes (see, for example, OIV.Inventor.Actions.SoSimplifyAction).
In some cases setting a small polygon offset can improve performance by reducing interference between faces and lines (used only with the Painter's algorithm HLHSR modes).
OIV.HardCopy.SoVectorizeAction.HLHSRModes.HIDDEN_LINES_REMOVAL mode is very slow and should not be used unless very precise output is required.
Generally OIV.HardCopy.SoVectorizeAction.HLHSRModes.HLHSR_RASTER mode gives the best combination of performance and image quality.
Limitations
Modeling clipping (OIV.Inventor.Nodes.SoClipPlane) is ignored.
Textures are ignored (polygons are drawn as if no texture is applied).
Transparency is ignored.
OIV.Inventor.Nodes.SoAnnotation nodes are handled like OIV.Inventor.Nodes.SoSeparator nodes.
Smooth shading is only supported with PostScript Level 3.
OIV.Inventor.Nodes.SoText2 (and OIV.Inventor.Nodes.SoAnnoText3 using an xxx_PRINT_RASTER option) will be rendered using native fonts, so the requested font name must be available on the rendering device.
VolumeViz representations are not supported (because texturing is not possible).