java.lang.Object
org.eclipse.swt.widgets.Widget
org.eclipse.swt.widgets.Control
org.eclipse.swt.widgets.Scrollable
org.eclipse.swt.widgets.Composite
org.eclipse.swt.widgets.Canvas
com.jogamp.opengl.swt.GLCanvas
com.openinventor.inventor.viewercomponents.swt.glcanvas.renderareas.RenderArea
com.openinventor.inventor.viewercomponents.swt.glcanvas.renderareas.RenderAreaInteractive
All Implemented Interfaces:
com.jogamp.nativewindow.NativeSurfaceHolder, com.jogamp.opengl.GLAutoDrawable, com.jogamp.opengl.GLDrawable, com.jogamp.opengl.GLEventListener, com.jogamp.opengl.GLSharedContextSetter, EventListener, org.eclipse.swt.events.KeyListener, org.eclipse.swt.events.MouseListener, org.eclipse.swt.events.MouseMoveListener, org.eclipse.swt.events.MouseTrackListener, org.eclipse.swt.events.MouseWheelListener, org.eclipse.swt.graphics.Drawable, org.eclipse.swt.internal.SWTEventListener
Direct Known Subclasses:
RenderAreaExaminer, RenderAreaOrbiter

public class RenderAreaInteractive extends RenderArea implements org.eclipse.swt.events.MouseListener, org.eclipse.swt.events.MouseMoveListener, org.eclipse.swt.events.MouseWheelListener, org.eclipse.swt.events.MouseTrackListener, org.eclipse.swt.events.KeyListener
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
    Camera clipping planes adjustment mode.
    When adjustment mode is set to AUTO, the camera near and far planes are dynamically adjusted to be as tight as possible (least amount of stuff is clipped) before each render traversal.
    When adjustment mode is set to MANUAL, the user is expected to manually set the camera near and far planes.
  • Field Summary

    Fields inherited from class org.eclipse.swt.widgets.Control

    handle

    Fields inherited from interface com.jogamp.opengl.GLAutoDrawable

    SCREEN_CHANGE_ACTION_ENABLED
  • Constructor Summary

    Constructors
    Constructor
    Description
    RenderAreaInteractive(org.eclipse.swt.widgets.Composite parent, int style)
     
    RenderAreaInteractive(org.eclipse.swt.widgets.Composite parent, int style, com.jogamp.opengl.GLCapabilities caps)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    activateStereo(boolean activated)
     
    Get the camera clipping planes adjustment mode.
    Deprecated.
     
    void
    init(com.jogamp.opengl.GLAutoDrawable drawable)
     
    boolean
     
    void
    keyPressed(org.eclipse.swt.events.KeyEvent e)
     
    void
    keyReleased(org.eclipse.swt.events.KeyEvent e)
     
    void
    mouseDoubleClick(org.eclipse.swt.events.MouseEvent e)
     
    void
    mouseDown(org.eclipse.swt.events.MouseEvent e)
     
    void
    mouseEnter(org.eclipse.swt.events.MouseEvent e)
     
    void
    mouseExit(org.eclipse.swt.events.MouseEvent e)
     
    void
    mouseHover(org.eclipse.swt.events.MouseEvent e)
     
    void
    mouseMove(org.eclipse.swt.events.MouseEvent e)
     
    void
    mouseScrolled(org.eclipse.swt.events.MouseEvent e)
     
    void
    mouseUp(org.eclipse.swt.events.MouseEvent e)
     
    void
     
    void
     
    void
     
    void
    Set the camera clipping planes adjustment mode.
    void
    setSceneGraph(SoNode sceneGraph)
     
    void
    setStereoCameraBalance(float balance)
     
    void
    setStereoCameraOffset(float offset)
     
    void
     
    void
    viewAxis(SbVec3f direction, SbVec3f up)
     

    Methods inherited from class com.jogamp.opengl.swt.GLCanvas

    addGLEventListener, addGLEventListener, areAllGLEventListenerInitialized, create, createContext, destroy, display, dispose, disposeGLEventListener, flushGLRunnables, getAnimator, getAutoSwapBufferMode, getChosenGLCapabilities, getContext, getContextCreationFlags, getDelegatedDrawable, getExclusiveContextThread, getFactory, getGL, getGLEventListener, getGLEventListenerCount, getGLEventListenerInitState, getGLProfile, getHandle, getNativeSurface, getRequestedGLCapabilities, getSurfaceHeight, getSurfaceWidth, getUpstreamLock, getUpstreamWidget, invoke, invoke, isGLOriented, isRealized, isThreadGLCapable, main, removeGLEventListener, setAnimator, setAutoSwapBufferMode, setContext, setContextCreationFlags, setExclusiveContextThread, setGL, setGLEventListenerInitState, setRealized, setSharedAutoDrawable, setSharedContext, swapBuffers, toString, update

    Methods inherited from class org.eclipse.swt.widgets.Canvas

    drawBackground, getCaret, getIME, scroll, setCaret, setFont, setIME

    Methods inherited from class org.eclipse.swt.widgets.Composite

    changed, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList

    Methods inherited from class org.eclipse.swt.widgets.Scrollable

    computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar

    Methods inherited from class org.eclipse.swt.widgets.Control

    addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse

    Methods inherited from class org.eclipse.swt.widgets.Widget

    addDisposeListener, addListener, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, reskin, setData, setData

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.eclipse.swt.graphics.Drawable

    isAutoScalable
  • Constructor Details

    • RenderAreaInteractive

      public RenderAreaInteractive(org.eclipse.swt.widgets.Composite parent, int style)
    • RenderAreaInteractive

      public RenderAreaInteractive(org.eclipse.swt.widgets.Composite parent, int style, com.jogamp.opengl.GLCapabilities caps)
  • Method Details

    • setSceneGraph

      public void setSceneGraph(SoNode sceneGraph)
      Overrides:
      setSceneGraph in class RenderArea
    • init

      public void init(com.jogamp.opengl.GLAutoDrawable drawable)
      Specified by:
      init in interface com.jogamp.opengl.GLEventListener
      Overrides:
      init in class RenderArea
    • getClippingPlanesAdjustMode

      public RenderAreaInteractive.ClippingPlanesAdjustMode getClippingPlanesAdjustMode()
      Get the camera clipping planes adjustment mode.
    • setClippingPlanesAdjustMode

      public void setClippingPlanesAdjustMode(RenderAreaInteractive.ClippingPlanesAdjustMode mode)
      Set the camera clipping planes adjustment mode.
      When adjustment mode is set to AUTO, the camera near and far planes are dynamically adjusted to be as tight as possible (least amount of stuff is clipped) before each render traversal.
      When adjustment mode is set to MANUAL, the user is expected to manually set those planes. Updating clipping planes after a camera move is not enough, if a dragger or a rendered shape is moved, they can disappear or become partially clipped.
      Default is AUTO.
    • getRootSceneGraph

      @Deprecated public SceneInteractor getRootSceneGraph()
      Deprecated.
    • getSceneInteractor

      public SceneInteractor getSceneInteractor()
    • viewAll

      public void viewAll(SbViewportRegion viewport)
    • viewAxis

      public void viewAxis(SbVec3f direction, SbVec3f up)
    • saveCamera

      public void saveCamera()
    • restoreCamera

      public void restoreCamera()
    • setCameraType

      public void setCameraType(SceneInteractor.CameraMode mode)
    • activateStereo

      public void activateStereo(boolean activated)
      Overrides:
      activateStereo in class RenderArea
    • isStereoSupported

      public boolean isStereoSupported()
    • setStereoCameraOffset

      public void setStereoCameraOffset(float offset)
    • setStereoCameraBalance

      public void setStereoCameraBalance(float balance)
    • mouseDown

      public void mouseDown(org.eclipse.swt.events.MouseEvent e)
      Specified by:
      mouseDown in interface org.eclipse.swt.events.MouseListener
    • mouseScrolled

      public void mouseScrolled(org.eclipse.swt.events.MouseEvent e)
      Specified by:
      mouseScrolled in interface org.eclipse.swt.events.MouseWheelListener
    • mouseMove

      public void mouseMove(org.eclipse.swt.events.MouseEvent e)
      Specified by:
      mouseMove in interface org.eclipse.swt.events.MouseMoveListener
    • mouseDoubleClick

      public void mouseDoubleClick(org.eclipse.swt.events.MouseEvent e)
      Specified by:
      mouseDoubleClick in interface org.eclipse.swt.events.MouseListener
    • mouseUp

      public void mouseUp(org.eclipse.swt.events.MouseEvent e)
      Specified by:
      mouseUp in interface org.eclipse.swt.events.MouseListener
    • mouseEnter

      public void mouseEnter(org.eclipse.swt.events.MouseEvent e)
      Specified by:
      mouseEnter in interface org.eclipse.swt.events.MouseTrackListener
    • mouseExit

      public void mouseExit(org.eclipse.swt.events.MouseEvent e)
      Specified by:
      mouseExit in interface org.eclipse.swt.events.MouseTrackListener
    • mouseHover

      public void mouseHover(org.eclipse.swt.events.MouseEvent e)
      Specified by:
      mouseHover in interface org.eclipse.swt.events.MouseTrackListener
    • keyPressed

      public void keyPressed(org.eclipse.swt.events.KeyEvent e)
      Specified by:
      keyPressed in interface org.eclipse.swt.events.KeyListener
    • keyReleased

      public void keyReleased(org.eclipse.swt.events.KeyEvent e)
      Specified by:
      keyReleased in interface org.eclipse.swt.events.KeyListener