de.grogra.imp3d.gl20
Class GL20Display

java.lang.Object
  extended by de.grogra.imp.awt.ViewComponentAdapter
      extended by de.grogra.imp3d.gl20.GL20Display
All Implemented Interfaces:
ViewComponent, ComponentWrapper, Selectable, Disposable, java.lang.Runnable, java.util.EventListener, javax.media.opengl.GLEventListener

public class GL20Display
extends ViewComponentAdapter
implements javax.media.opengl.GLEventListener


Field Summary
 
Fields inherited from class de.grogra.imp.awt.ViewComponentAdapter
DISPOSED, DISPOSING, RENDERED_IMAGE, RENDERING, REPAINT_MASK
 
Fields inherited from interface de.grogra.imp.ViewComponent
ALL, CHANGED, MIN_USER_FLAG, SCENE, SELECTION, TOOLS
 
Constructor Summary
GL20Display()
           
 
Method Summary
 void display(javax.media.opengl.GLAutoDrawable arg0)
           
 void displayChanged(javax.media.opengl.GLAutoDrawable arg0, boolean arg1, boolean arg2)
           
 java.lang.Object getComponent()
           
protected  java.awt.image.ImageObserver getObserverForRenderer()
          Returns an observer which receives the information about the rendered image from a Renderer.
 java.awt.image.RenderedImage getSnapshot()
           
 View3D getView3D()
           
 void init(javax.media.opengl.GLAutoDrawable arg0)
           
 void initRender(int flags)
          Performs initialization tasks in preparation for rendering.
 void initView(View view, EventListener listener)
          Initializes this component.
 void invokeRender(int flags)
          Invoked to perform rendering.
 void makeSnapshot(ObjectConsumer<? super java.awt.image.RenderedImage> callback)
          Instructs the view component to create a snapshot.
protected  void render(int flags)
          Performs rendering.
 void reshape(javax.media.opengl.GLAutoDrawable arg0, int arg1, int arg2, int arg3, int arg4)
           
 
Methods inherited from class de.grogra.imp.awt.ViewComponentAdapter
checkRepaint, checkRepaintWrapException, dispose, disposeRenderer, getColor, getColor, getFactory, getFontMetrics, getGlobalLOD, getIntColor, getInterruptedException, getOption, getRenderGraphState, getView, initFactory, installListeners, invokeRenderSync, optionValueChanged, render, render, renderUninterruptibly, repaint, run, toSelection, uninstallListeners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GL20Display

public GL20Display()
Method Detail

display

public void display(javax.media.opengl.GLAutoDrawable arg0)
Specified by:
display in interface javax.media.opengl.GLEventListener

displayChanged

public void displayChanged(javax.media.opengl.GLAutoDrawable arg0,
                           boolean arg1,
                           boolean arg2)
Specified by:
displayChanged in interface javax.media.opengl.GLEventListener

getComponent

public java.lang.Object getComponent()
Specified by:
getComponent in interface ComponentWrapper

getObserverForRenderer

protected java.awt.image.ImageObserver getObserverForRenderer()
Description copied from class: ViewComponentAdapter
Returns an observer which receives the information about the rendered image from a Renderer. The returned observer has to manage the drawing of the (partially) rendered image on the view component.

Specified by:
getObserverForRenderer in class ViewComponentAdapter
Returns:
an observer receiving the image, or null if this is not supported by this component

getSnapshot

public java.awt.image.RenderedImage getSnapshot()

getView3D

public View3D getView3D()

init

public void init(javax.media.opengl.GLAutoDrawable arg0)
Specified by:
init in interface javax.media.opengl.GLEventListener

initRender

public void initRender(int flags)
Description copied from class: ViewComponentAdapter
Performs initialization tasks in preparation for rendering. This method is invoked by ViewComponentAdapter.run() in this ViewComponent's own thread.

Specified by:
initRender in class ViewComponentAdapter
Parameters:
flags - combination of bit masks

initView

public void initView(View view,
                     EventListener listener)
Description copied from interface: ViewComponent
Initializes this component. This method sets the view within which this view component is used to display the graph. It also sets an event listener. this has to be informed of mouse and keys events within the view component by implementations of this method.

Specified by:
initView in interface ViewComponent
Overrides:
initView in class ViewComponentAdapter
Parameters:
view - the containing view
listener - mouse and key events will be reported to this listener

invokeRender

public void invokeRender(int flags)
Description copied from class: ViewComponentAdapter
Invoked to perform rendering. This method is invoked by ViewComponentAdapter.run() in this ViewComponent's own thread. Its sole task is to invoke ViewComponentAdapter.invokeRenderSync(int) in the rendering thread (which may be this ViewComponent's thread, the AWT-thread, or another thread, depending on the implementation) in a write-protected context. The invocation has to be synchronously, i.e., if it is in another thread, the current thread has to wait until ViewComponentAdapter.invokeRenderSync(int) has completed.

Specified by:
invokeRender in class ViewComponentAdapter
Parameters:
flags - the flags to pass to ViewComponentAdapter.invokeRenderSync(int)

makeSnapshot

public void makeSnapshot(ObjectConsumer<? super java.awt.image.RenderedImage> callback)
Description copied from interface: ViewComponent
Instructs the view component to create a snapshot. The created snapshot has to be delivered to the provided callback as an instance of RenderedImage. This may happen asynchronously, i.e., in an arbitrary thread.

Specified by:
makeSnapshot in interface ViewComponent
Parameters:
callback - callback which asynchronously receives the snapshot

render

protected void render(int flags)
               throws java.lang.InterruptedException
Description copied from class: ViewComponentAdapter
Performs rendering. This method is invoked by ViewComponentAdapter.invokeRenderSync(int) in a context where Workbench.current() returns the workbench of this view.

Specified by:
render in class ViewComponentAdapter
Parameters:
flags - combination of bit masks
Throws:
java.lang.InterruptedException - if the rendering has been interrupted

reshape

public void reshape(javax.media.opengl.GLAutoDrawable arg0,
                    int arg1,
                    int arg2,
                    int arg3,
                    int arg4)
Specified by:
reshape in interface javax.media.opengl.GLEventListener