Class RenderAreaInteractive

  • All Implemented Interfaces:
    com.jogamp.nativewindow.awt.AWTPrintLifecycle, com.jogamp.nativewindow.NativeSurfaceHolder, com.jogamp.nativewindow.OffscreenLayerOption, com.jogamp.nativewindow.ScalableSurface, com.jogamp.nativewindow.WindowClosingProtocol, com.jogamp.opengl.awt.AWTGLAutoDrawable, com.jogamp.opengl.awt.ComponentEvents, com.jogamp.opengl.GLAutoDrawable, com.jogamp.opengl.GLDrawable, com.jogamp.opengl.GLEventListener, com.jogamp.opengl.GLSharedContextSetter, IRenderArea, IRenderAreaInteractive, java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible
    Direct Known Subclasses:
    RenderAreaExaminer, RenderAreaOrbiter

    public class RenderAreaInteractive
    extends RenderArea
    implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener, java.awt.event.KeyListener, IRenderAreaInteractive
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.BaselineResizeBehavior
      • Nested classes/interfaces inherited from interface com.jogamp.nativewindow.awt.AWTPrintLifecycle

        com.jogamp.nativewindow.awt.AWTPrintLifecycle.Context
      • Nested classes/interfaces inherited from interface com.jogamp.nativewindow.WindowClosingProtocol

        com.jogamp.nativewindow.WindowClosingProtocol.WindowClosingMode
    • Field Summary

      • Fields inherited from class java.awt.Component

        BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface com.jogamp.nativewindow.awt.AWTPrintLifecycle

        DEFAULT_PRINT_TILE_SIZE
      • Fields inherited from interface com.jogamp.opengl.GLAutoDrawable

        SCREEN_CHANGE_ACTION_ENABLED
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
      • Fields inherited from interface com.jogamp.nativewindow.ScalableSurface

        AUTOMAX_PIXELSCALE, IDENTITY_PIXELSCALE
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void activateStereo​(boolean activated)
      Activates or deactivates raw stereo.
      IRenderAreaInteractive.ClippingPlanesAdjustMode getClippingPlanesAdjustMode()
      Get the camera clipping planes adjustment mode.
      SceneInteractor getRootSceneGraph()
      Deprecated.
      SceneInteractor getSceneInteractor()
      Gets the root scene graph of this render area.
      void init​(com.jogamp.opengl.GLAutoDrawable drawable)  
      boolean isStereoSupported()
      Gets stereo support.
      void keyPressed​(java.awt.event.KeyEvent e)  
      void keyReleased​(java.awt.event.KeyEvent e)  
      void keyTyped​(java.awt.event.KeyEvent e)  
      void mouseClicked​(java.awt.event.MouseEvent e)  
      void mouseDragged​(java.awt.event.MouseEvent e)  
      void mouseEntered​(java.awt.event.MouseEvent e)  
      void mouseExited​(java.awt.event.MouseEvent e)  
      void mouseMoved​(java.awt.event.MouseEvent e)  
      void mousePressed​(java.awt.event.MouseEvent e)  
      void mouseReleased​(java.awt.event.MouseEvent e)  
      void mouseWheelMoved​(java.awt.event.MouseWheelEvent e)  
      void restoreCamera()
      Restore saved camera.
      void saveCamera()
      Save current camera.
      void setCameraType​(SceneInteractor.CameraMode mode)
      Set camera mode to perspective or orthographic.
      void setClippingPlanesAdjustMode​(IRenderAreaInteractive.ClippingPlanesAdjustMode mode)
      Set the camera clipping planes adjustment mode.
      void setSceneGraph​(SoNode sceneGraph)
      Sets the scene graph.
      void setStereoCameraBalance​(float balance)
      Sets the stereo balance (the position of the zero parallax plane).
      void setStereoCameraOffset​(float offset)
      Sets the stereo offset (the distance of each eye from the camera position).
      void viewAll​(SbViewportRegion viewport)
      Set the camera to view all the scene.
      void viewAxis​(SbVec3f direction, SbVec3f up)
      Moves the camera to be aligned with the given direction vector while keeping the "up" direction of the camera parallel to the specified up vector.
      • Methods inherited from class com.jogamp.opengl.awt.GLCanvas

        addGLEventListener, addGLEventListener, addNotify, areAllGLEventListenerInitialized, createContext, destroy, display, disposeGLEventListener, flushGLRunnables, getAnimator, getAutoSwapBufferMode, getChosenGLCapabilities, getContext, getContextCreationFlags, getCurrentSurfaceScale, getDefaultCloseOperation, getDelegatedDrawable, getExclusiveContextThread, getFactory, getGL, getGLEventListener, getGLEventListenerCount, getGLEventListenerInitState, getGLProfile, getGraphicsConfiguration, getHandle, getMaximumSurfaceScale, getMinimumSurfaceScale, getNativeSurface, getRequestedGLCapabilities, getRequestedSurfaceScale, getShallUseOffscreenLayer, getSurfaceHeight, getSurfaceWidth, getUpstreamLock, getUpstreamWidget, invoke, invoke, isGLOriented, isOffscreenLayerSurfaceEnabled, isRealized, isThreadGLCapable, main, paint, print, releasePrint, removeGLEventListener, removeNotify, reshape, setAnimator, setAutoSwapBufferMode, setContext, setContextCreationFlags, setDefaultCloseOperation, setExclusiveContextThread, setGL, setGLEventListenerInitState, setRealized, setShallUseOffscreenLayer, setSharedAutoDrawable, setSharedContext, setSurfaceScale, setupPrint, swapBuffers, toString, update
      • Methods inherited from class java.awt.Canvas

        createBufferStrategy, createBufferStrategy, getAccessibleContext, getBufferStrategy
      • Methods inherited from class java.awt.Component

        action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, dispatchEvent, doLayout, enable, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, preferredSize, prepareImage, prepareImage, printAll, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle, validate
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface com.jogamp.opengl.awt.AWTGLAutoDrawable

        repaint, setSize
      • Methods inherited from interface com.jogamp.opengl.awt.ComponentEvents

        addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener
    • Constructor Detail

      • RenderAreaInteractive

        public RenderAreaInteractive()
      • RenderAreaInteractive

        public RenderAreaInteractive​(com.jogamp.opengl.GLCapabilities caps)
    • Method Detail

      • setSceneGraph

        public void setSceneGraph​(SoNode sceneGraph)
        Description copied from interface: IRenderArea
        Sets the scene graph. This is the Open Inventor scene which will be traversed for rendering and event processing.
        Specified by:
        setSceneGraph in interface IRenderArea
        Overrides:
        setSceneGraph in class RenderArea
        Parameters:
        sceneGraph - the scene graph
      • init

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

        public void setClippingPlanesAdjustMode​(IRenderAreaInteractive.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.
        Specified by:
        setClippingPlanesAdjustMode in interface IRenderAreaInteractive
      • viewAxis

        public void viewAxis​(SbVec3f direction,
                             SbVec3f up)
        Description copied from interface: IRenderAreaInteractive
        Moves the camera to be aligned with the given direction vector while keeping the "up" direction of the camera parallel to the specified up vector.
        Specified by:
        viewAxis in interface IRenderAreaInteractive
        Parameters:
        direction - the new view direction vector
        up - the new "up" direction
      • activateStereo

        public void activateStereo​(boolean activated)
        Description copied from interface: IRenderArea
        Activates or deactivates raw stereo.
        Specified by:
        activateStereo in interface IRenderArea
        Overrides:
        activateStereo in class RenderArea
        Parameters:
        activated - true to activate raw stereo
      • setStereoCameraOffset

        public void setStereoCameraOffset​(float offset)
        Description copied from interface: IRenderAreaInteractive
        Sets the stereo offset (the distance of each eye from the camera position). The right eye is moved plus offset and the left eye is moved minus offset.
        Specified by:
        setStereoCameraOffset in interface IRenderAreaInteractive
        Parameters:
        offset - the stereo offset
      • mousePressed

        public void mousePressed​(java.awt.event.MouseEvent e)
        Specified by:
        mousePressed in interface java.awt.event.MouseListener
      • mouseWheelMoved

        public void mouseWheelMoved​(java.awt.event.MouseWheelEvent e)
        Specified by:
        mouseWheelMoved in interface java.awt.event.MouseWheelListener
      • mouseDragged

        public void mouseDragged​(java.awt.event.MouseEvent e)
        Specified by:
        mouseDragged in interface java.awt.event.MouseMotionListener
      • mouseMoved

        public void mouseMoved​(java.awt.event.MouseEvent e)
        Specified by:
        mouseMoved in interface java.awt.event.MouseMotionListener
      • mouseClicked

        public void mouseClicked​(java.awt.event.MouseEvent e)
        Specified by:
        mouseClicked in interface java.awt.event.MouseListener
      • mouseReleased

        public void mouseReleased​(java.awt.event.MouseEvent e)
        Specified by:
        mouseReleased in interface java.awt.event.MouseListener
      • mouseEntered

        public void mouseEntered​(java.awt.event.MouseEvent e)
        Specified by:
        mouseEntered in interface java.awt.event.MouseListener
      • mouseExited

        public void mouseExited​(java.awt.event.MouseEvent e)
        Specified by:
        mouseExited in interface java.awt.event.MouseListener
      • keyTyped

        public void keyTyped​(java.awt.event.KeyEvent e)
        Specified by:
        keyTyped in interface java.awt.event.KeyListener
      • keyPressed

        public void keyPressed​(java.awt.event.KeyEvent e)
        Specified by:
        keyPressed in interface java.awt.event.KeyListener
      • keyReleased

        public void keyReleased​(java.awt.event.KeyEvent e)
        Specified by:
        keyReleased in interface java.awt.event.KeyListener