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
,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.openinventor.inventor.viewercomponents.awt.IRenderAreaInteractive
IRenderAreaInteractive.ClippingPlanesAdjustMode
-
-
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
-
-
Constructor Summary
Constructors Constructor Description RenderAreaInteractive()
RenderAreaInteractive(com.jogamp.opengl.GLCapabilities caps)
-
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.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, 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.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
-
-
-
-
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 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
public IRenderAreaInteractive.ClippingPlanesAdjustMode getClippingPlanesAdjustMode()
Get the camera clipping planes adjustment mode.- Specified by:
getClippingPlanesAdjustMode
in interfaceIRenderAreaInteractive
-
setClippingPlanesAdjustMode
public void setClippingPlanesAdjustMode(IRenderAreaInteractive.ClippingPlanesAdjustMode mode)
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 public SceneInteractor 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
public SceneInteractor 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
public void viewAll(SbViewportRegion viewport)
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
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 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
public void setCameraType(SceneInteractor.CameraMode mode)
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
public void mousePressed(java.awt.event.MouseEvent e)
- Specified by:
mousePressed
in interfacejava.awt.event.MouseListener
-
mouseWheelMoved
public void mouseWheelMoved(java.awt.event.MouseWheelEvent e)
- Specified by:
mouseWheelMoved
in interfacejava.awt.event.MouseWheelListener
-
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent e)
- Specified by:
mouseDragged
in interfacejava.awt.event.MouseMotionListener
-
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent e)
- Specified by:
mouseMoved
in interfacejava.awt.event.MouseMotionListener
-
mouseClicked
public void mouseClicked(java.awt.event.MouseEvent e)
- Specified by:
mouseClicked
in interfacejava.awt.event.MouseListener
-
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent e)
- Specified by:
mouseReleased
in interfacejava.awt.event.MouseListener
-
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent e)
- Specified by:
mouseEntered
in interfacejava.awt.event.MouseListener
-
mouseExited
public void mouseExited(java.awt.event.MouseEvent e)
- Specified by:
mouseExited
in interfacejava.awt.event.MouseListener
-
keyTyped
public void keyTyped(java.awt.event.KeyEvent e)
- Specified by:
keyTyped
in interfacejava.awt.event.KeyListener
-
keyPressed
public void keyPressed(java.awt.event.KeyEvent e)
- Specified by:
keyPressed
in interfacejava.awt.event.KeyListener
-
keyReleased
public void keyReleased(java.awt.event.KeyEvent e)
- Specified by:
keyReleased
in interfacejava.awt.event.KeyListener
-
-