Class RenderAreaInteractive
java.lang.Object
java.awt.Component
java.awt.Canvas
com.jogamp.opengl.awt.GLCanvas
com.openinventor.inventor.viewercomponents.awt.glcanvas.renderareas.RenderArea
com.openinventor.inventor.viewercomponents.awt.glcanvas.renderareas.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
,KeyListener
,MouseListener
,MouseMotionListener
,MouseWheelListener
,ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
- Direct Known Subclasses:
RenderAreaExaminer
,RenderAreaOrbiter
public class RenderAreaInteractive
extends RenderArea
implements MouseListener, MouseMotionListener, MouseWheelListener, KeyListener, IRenderAreaInteractive
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.awt.Component
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.openinventor.inventor.viewercomponents.awt.IRenderAreaInteractive
IRenderAreaInteractive.ClippingPlanesAdjustMode
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
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
activateStereo
(boolean activated) Activates or deactivates raw stereo.Get the camera clipping planes adjustment mode.Deprecated.Gets the root scene graph of this render area.void
init
(com.jogamp.opengl.GLAutoDrawable drawable) boolean
Gets stereo support.void
void
void
void
void
void
void
void
void
void
void
void
Restore saved camera.void
Save current camera.void
Set camera mode to perspective or orthographic.void
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
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.openinventor.inventor.viewercomponents.awt.glcanvas.renderareas.RenderArea
display, dispose, dispose, getAntialiasingMode, getAntialiasingQuality, getComponent, getGLRenderAction, getStillSuperSamplingDelay, getStillSuperSamplingQuality, getTransparencyType, isRawStereoAvailable, reshape, scheduleRedraw, setAntialiasingMode, setAntialiasingQuality, setGLRenderAction, setStillSuperSamplingDelay, setStillSuperSamplingQuality, setTransparencyType
Methods inherited from class com.jogamp.opengl.awt.GLCanvas
addGLEventListener, addGLEventListener, addNotify, areAllGLEventListenerInitialized, canSetSurfaceScale, 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
Methods inherited from interface com.openinventor.inventor.viewercomponents.awt.IRenderArea
dispose, getAntialiasingMode, getAntialiasingQuality, getComponent, getGLRenderAction, getStillSuperSamplingDelay, getStillSuperSamplingQuality, getTransparencyType, isRawStereoAvailable, scheduleRedraw, setAntialiasingMode, setAntialiasingQuality, setGLRenderAction, setStillSuperSamplingDelay, setStillSuperSamplingQuality, setTransparencyType
-
Constructor Details
-
RenderAreaInteractive
public RenderAreaInteractive() -
RenderAreaInteractive
public RenderAreaInteractive(com.jogamp.opengl.GLCapabilities caps)
-
-
Method Details
-
setSceneGraph
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 interfaceIRenderArea
- Overrides:
setSceneGraph
in classRenderArea
- Parameters:
sceneGraph
- the scene graph
-
init
public void init(com.jogamp.opengl.GLAutoDrawable drawable) - Specified by:
init
in interfacecom.jogamp.opengl.GLEventListener
- Overrides:
init
in classRenderArea
-
getClippingPlanesAdjustMode
Get the camera clipping planes adjustment mode.- Specified by:
getClippingPlanesAdjustMode
in interfaceIRenderAreaInteractive
-
setClippingPlanesAdjustMode
Set the camera clipping planes adjustment mode.
When adjustment mode is set toAUTO
, 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 toMANUAL
, 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 isAUTO
.- Specified by:
setClippingPlanesAdjustMode
in interfaceIRenderAreaInteractive
-
getRootSceneGraph
Deprecated.Description copied from interface:IRenderAreaInteractive
Gets the root scene graph of this render area.- Specified by:
getRootSceneGraph
in interfaceIRenderAreaInteractive
- Returns:
- the root scene graph
-
getSceneInteractor
Description copied from interface:IRenderAreaInteractive
Gets the root scene graph of this render area.- Specified by:
getSceneInteractor
in interfaceIRenderAreaInteractive
- Returns:
- the root scene graph
-
viewAll
Description copied from interface:IRenderAreaInteractive
Set the camera to view all the scene.- Specified by:
viewAll
in interfaceIRenderAreaInteractive
- Parameters:
viewport
- the viewport region used to compute the bounding box of the scene.
-
viewAxis
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 interfaceIRenderAreaInteractive
- Parameters:
direction
- the new view direction vectorup
- the new "up" direction
-
saveCamera
public void saveCamera()Description copied from interface:IRenderAreaInteractive
Save current camera. The values of the camera fields are saved and can be restored by callingIRenderAreaInteractive.restoreCamera()
.- Specified by:
saveCamera
in interfaceIRenderAreaInteractive
-
restoreCamera
public void restoreCamera()Description copied from interface:IRenderAreaInteractive
Restore saved camera. The values of the camera fields are restored to the last saved values.- Specified by:
restoreCamera
in interfaceIRenderAreaInteractive
-
setCameraType
Description copied from interface:IRenderAreaInteractive
Set camera mode to perspective or orthographic.- Specified by:
setCameraType
in interfaceIRenderAreaInteractive
- Parameters:
mode
- the camera mode: perspective or orthographic
-
activateStereo
public void activateStereo(boolean activated) Description copied from interface:IRenderArea
Activates or deactivates raw stereo.- Specified by:
activateStereo
in interfaceIRenderArea
- Overrides:
activateStereo
in classRenderArea
- Parameters:
activated
- true to activate raw stereo
-
isStereoSupported
public boolean isStereoSupported()Description copied from interface:IRenderAreaInteractive
Gets stereo support.- Specified by:
isStereoSupported
in interfaceIRenderAreaInteractive
- Returns:
- true if stereo is supported
-
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 interfaceIRenderAreaInteractive
- Parameters:
offset
- the stereo offset
-
setStereoCameraBalance
public void setStereoCameraBalance(float balance) Description copied from interface:IRenderAreaInteractive
Sets the stereo balance (the position of the zero parallax plane).- Specified by:
setStereoCameraBalance
in interfaceIRenderAreaInteractive
- Parameters:
balance
- the stereo balance
-
mousePressed
- Specified by:
mousePressed
in interfaceMouseListener
-
mouseWheelMoved
- Specified by:
mouseWheelMoved
in interfaceMouseWheelListener
-
mouseDragged
- Specified by:
mouseDragged
in interfaceMouseMotionListener
-
mouseMoved
- Specified by:
mouseMoved
in interfaceMouseMotionListener
-
mouseClicked
- Specified by:
mouseClicked
in interfaceMouseListener
-
mouseReleased
- Specified by:
mouseReleased
in interfaceMouseListener
-
mouseEntered
- Specified by:
mouseEntered
in interfaceMouseListener
-
mouseExited
- Specified by:
mouseExited
in interfaceMouseListener
-
keyTyped
- Specified by:
keyTyped
in interfaceKeyListener
-
keyPressed
- Specified by:
keyPressed
in interfaceKeyListener
-
keyReleased
- Specified by:
keyReleased
in interfaceKeyListener
-