Class SoLassoScreenDrawer
java.lang.Object
com.openinventor.inventor.Inventor
com.openinventor.inventor.misc.SoBase
com.openinventor.inventor.fields.SoFieldContainer
com.openinventor.inventor.nodes.SoNode
com.openinventor.inventor.drawers.SoScreenDrawer
com.openinventor.inventor.drawers.SoPolyLineScreenDrawer
com.openinventor.inventor.drawers.SoLassoScreenDrawer
- All Implemented Interfaces:
SafeDisposable
Interactively draw a lasso in normalized screen space.
This class can be used to interactively draw a lasso (freeform shape) on screen.
When the lasso is finished, an event is raised to notify the application (see SoPolyLineScreenDrawer.onFinish
). Points are returned as normalized coordinates in the range -1..1, which is conveniently the default view volume for an SoOrthographicCamera
node.
The line color and simplification threshold are specified by fields in the parent class SoPolyLineScreenDrawer
.
Please see SoPolyLineScreenDrawer
for general notes and code example.
Lasso specific notes:
- The
simplificationThreshold
field does apply to this node. - If user finishes a lasso, then the next click will automatically clear the polyline (begin a new lasso).
- SbEventHandlers:
- OnStart : Triggered on LeftMouseDown input event.
- OnMove : Triggered on MouseMove input events (after Start).
- OnFinish : Triggered on LeftMouseUp input event.
- Press left mouse and drag to draw the lasso.
- Release to finish the lasso.
- Press Escape to cancel construction of the lasso.
File format/default:
LassoScreenDrawer {
point | [] |
color | 1 0 0 |
simplificationThreshold | 5 |
isClosed | true |
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.openinventor.inventor.drawers.SoPolyLineScreenDrawer
SoPolyLineScreenDrawer.EventArg
Nested classes/interfaces inherited from class com.openinventor.inventor.nodes.SoNode
SoNode.RenderModes
Nested classes/interfaces inherited from class com.openinventor.inventor.Inventor
Inventor.ConstructorCommand
-
Field Summary
Fields inherited from class com.openinventor.inventor.drawers.SoPolyLineScreenDrawer
color, doCCW, isClosed, linePattern, linePatternScaleFactor, lineWidth, onFinish, onMove, onStart, point, simplificationThreshold
Fields inherited from class com.openinventor.inventor.drawers.SoScreenDrawer
sceneGraph
Fields inherited from class com.openinventor.inventor.Inventor
VERBOSE_LEVEL, ZeroHandle
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class com.openinventor.inventor.drawers.SoPolyLineScreenDrawer
clear
Methods inherited from class com.openinventor.inventor.drawers.SoScreenDrawer
reset
Methods inherited from class com.openinventor.inventor.nodes.SoNode
affectsState, callback, copy, copy, distribute, doAction, getAlternateRep, getBoundingBox, getByName, getMatrix, getPrimitiveCount, getRenderEngineMode, getRenderUnitID, GLRender, GLRenderBelowPath, GLRenderInPath, GLRenderOffPath, grabEventsCleanup, grabEventsSetup, handleEvent, isBoundingBoxIgnoring, isOverride, pick, rayPick, search, setOverride, touch, write
Methods inherited from class com.openinventor.inventor.fields.SoFieldContainer
copyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, set, setToDefaults
Methods inherited from class com.openinventor.inventor.misc.SoBase
dispose, getName, isDisposable, isSynchronizable, setName, setSynchronizable
Methods inherited from class com.openinventor.inventor.Inventor
getNativeResourceHandle
-
Constructor Details
-
SoLassoScreenDrawer
public SoLassoScreenDrawer()Constructor.
-