Class RenderAreaInteractive
- 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
,java.util.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 class
RenderAreaInteractive.ClippingPlanesAdjustMode
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 the camera near and far planes.
-
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
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
activateStereo(boolean activated)
RenderAreaInteractive.ClippingPlanesAdjustMode
getClippingPlanesAdjustMode()
Get the camera clipping planes adjustment mode.SceneInteractor
getRootSceneGraph()
Deprecated.SceneInteractor
getSceneInteractor()
void
init(com.jogamp.opengl.GLAutoDrawable drawable)
boolean
isStereoSupported()
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
restoreCamera()
void
saveCamera()
void
setCameraType(SceneInteractor.CameraMode mode)
void
setClippingPlanesAdjustMode(RenderAreaInteractive.ClippingPlanesAdjustMode mode)
Set the camera clipping planes adjustment mode.void
setSceneGraph(SoNode sceneGraph)
void
setStereoCameraBalance(float balance)
void
setStereoCameraOffset(float offset)
void
viewAll(SbViewportRegion viewport)
void
viewAxis(SbVec3f direction, SbVec3f up)
-
Methods inherited from class com.openinventor.inventor.viewercomponents.swt.glcanvas.renderareas.RenderArea
display, dispose, getAntialiasingMode, getAntialiasingQuality, getGLRenderAction, getStillSuperSamplingDelay, getStillSuperSamplingQuality, isRawStereoAvailable, reshape, scheduleRedraw, setAntialiasingMode, setAntialiasingQuality, setGLRenderAction, setStillSuperSamplingDelay, setStillSuperSamplingQuality
-
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
-
-
-
-
Method Detail
-
setSceneGraph
public void setSceneGraph(SoNode sceneGraph)
- Overrides:
setSceneGraph
in classRenderArea
-
init
public void init(com.jogamp.opengl.GLAutoDrawable drawable)
- Specified by:
init
in interfacecom.jogamp.opengl.GLEventListener
- Overrides:
init
in classRenderArea
-
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 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
.
-
getRootSceneGraph
@Deprecated public SceneInteractor getRootSceneGraph()
Deprecated.
-
getSceneInteractor
public SceneInteractor getSceneInteractor()
-
viewAll
public void viewAll(SbViewportRegion viewport)
-
saveCamera
public void saveCamera()
-
restoreCamera
public void restoreCamera()
-
setCameraType
public void setCameraType(SceneInteractor.CameraMode mode)
-
activateStereo
public void activateStereo(boolean activated)
- Overrides:
activateStereo
in classRenderArea
-
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 interfaceorg.eclipse.swt.events.MouseListener
-
mouseScrolled
public void mouseScrolled(org.eclipse.swt.events.MouseEvent e)
- Specified by:
mouseScrolled
in interfaceorg.eclipse.swt.events.MouseWheelListener
-
mouseMove
public void mouseMove(org.eclipse.swt.events.MouseEvent e)
- Specified by:
mouseMove
in interfaceorg.eclipse.swt.events.MouseMoveListener
-
mouseDoubleClick
public void mouseDoubleClick(org.eclipse.swt.events.MouseEvent e)
- Specified by:
mouseDoubleClick
in interfaceorg.eclipse.swt.events.MouseListener
-
mouseUp
public void mouseUp(org.eclipse.swt.events.MouseEvent e)
- Specified by:
mouseUp
in interfaceorg.eclipse.swt.events.MouseListener
-
mouseEnter
public void mouseEnter(org.eclipse.swt.events.MouseEvent e)
- Specified by:
mouseEnter
in interfaceorg.eclipse.swt.events.MouseTrackListener
-
mouseExit
public void mouseExit(org.eclipse.swt.events.MouseEvent e)
- Specified by:
mouseExit
in interfaceorg.eclipse.swt.events.MouseTrackListener
-
mouseHover
public void mouseHover(org.eclipse.swt.events.MouseEvent e)
- Specified by:
mouseHover
in interfaceorg.eclipse.swt.events.MouseTrackListener
-
keyPressed
public void keyPressed(org.eclipse.swt.events.KeyEvent e)
- Specified by:
keyPressed
in interfaceorg.eclipse.swt.events.KeyListener
-
keyReleased
public void keyReleased(org.eclipse.swt.events.KeyEvent e)
- Specified by:
keyReleased
in interfaceorg.eclipse.swt.events.KeyListener
-
-