public class SoScreenDrawer extends SoNode
sceneGraph
field in screen space normalized in the range ([-1, 1]x[-1, 1]x[-1, 1]) relative to the current viewport.
The specified scene graph is automatically rendered using an SoAnnotation
node, an SoPickStyle
node with style = UNPICKABLE, and an SoOrthographicCamera
node.
Classes derived from SoScreenDrawer
are normally used to implement dynamically drawing a 2D shape, for example a rectangle, in response to mouse events. Applications will typically use one of these derived classes, for example, SoEllipseScreenDrawer
, SoRectangleScreenDrawer
, SoPolygonScreenDrawer
or SoLassoScreenDrawer
.
Please see SoPolyLineScreenDrawer
for important notes about these classes and a code example.
Applications may also implement their own custom screen drawer classes. The convenient onMouseDown(), onMouseMove(), ... methods can be implemented by sub-classes to customize behaviors for specific events, but the application can also reimplement the handleEvent() method to handle any event.
There should only be one SoScreenDrawer
derived node in the sceneGraph (to avoid conflicts in mouse events).
NOTE: This node and its subclasses use screen coordinates ranging from -1 to 1. (Because this is the default view volume for an SoOrthographicCamera
node.) Be careful because other classes in Open Inventor use normalized screen coordinates ranging from 0 to 1. In particular the SbViewportRegion
normalize() method and the SbViewVolume
methods that project from 3D to 2D and vice-versa.
See also:
SoEllipseScreenDrawer
SoLassoScreenDrawer
SoPolygonScreenDrawer
SoPolyLineScreenDrawer
SoRectangleScreenDrawer
Inventor.ConstructorCommand
Modifier and Type | Field and Description |
---|---|
SoSFNode |
sceneGraph
Scene graph to render.
|
VERBOSE_LEVEL, ZeroHandle
Constructor and Description |
---|
SoScreenDrawer()
Constructor.
|
affectsState, callback, copy, copy, distribute, doAction, getAlternateRep, getBoundingBox, getByName, getMatrix, getPrimitiveCount, getRenderUnitID, GLRender, GLRenderBelowPath, GLRenderInPath, GLRenderOffPath, grabEventsCleanup, grabEventsSetup, handleEvent, isBoundingBoxIgnoring, isOverride, pick, rayPick, search, setOverride, touch, write
copyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, set, setToDefaults
dispose, getEXTERNPROTO, getName, getPROTO, isDisposable, isSynchronizable, setName, setSynchronizable
getAddress, getNativeResourceHandle, startInternalThreads, stopInternalThreads
public final SoSFNode sceneGraph
Generated on January 23, 2025, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com