Class SoRectangleScreenDrawer

  • All Implemented Interfaces:
    SafeDisposable

    public class SoRectangleScreenDrawer
    extends SoPolyLineScreenDrawer
    Interactively draws a rectangle in normalized screen space. This class can be used to interactively draw a rectangle on screen.

    When the rectangle 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.

    Rectangle specific notes:

    • The rectangle can be specified by 2 corner points (default) or by a center point and one corner point (see CreationMethod).
    • The rectangle points are always delivered upper-left corner first, then counter-clockwise.
    • The simplificationThreshold field does not apply to this node. A rectangle always has four points.
    • The isClosed field does apply to this node (but false is not very useful).
    • If user finishes a rectangle, then the next click will automatically clear the polyline (begin a new rectangle).
    • SbEventHandlers:
      • OnStart : Triggered on LeftMouseDown input event.
      • OnMove : Triggered on MouseMove input events (after Start).
      • OnFinish : Triggered on LeftMouseUp input event.

    USAGE

    • Press left mouse and drag to draw the rectangle.
    • Release to finish it.
    • Press Escape to cancel.

    File format/default:

    RectangleScreenDrawer {

      point []
      color 1 0 0
      simplificationThreshold 0
      isClosed true
      method CORNER_CORNER
    }

    See Also:
    SoEllipseScreenDrawer, SoLassoScreenDrawer, SoPolyLineScreenDrawer, SoPolygonScreenDrawer