Public Member Functions | |
Dimension | getPreferredSize () |
VisClientPanel () throws LWJGLException | |
void | processEvent (AWTEvent e) |
void | update () |
Protected Member Functions | |
void | initGL () |
void | paintGL () |
Static Package Functions | |
static PixelFormat | getPixelFormat () |
Package Attributes | |
VisClient | client = new VisClient(this) |
Allesfresser | allesfresser = new Allesfresser(client) |
UdpListener | udplistener |
ScriptRouter | keyrouter = new ScriptRouter(client) |
KeyAdapter | keys |
boolean | hasToRender = true |
this is actually a 3d drawing surface derived from a AWTGLCanvas.
mouse navigation and browsing can be done herein. an external UI (
some keys are recognized if focussed: ctrl+v invokes Allesfresser to eat clipboard data ctrl+h toggles HUD ctrl+k kill hoovered visual ctrl+w reset to empty space ctrl+r reset values (zoom, speed) backspace step back one viewpoint in the history shift travel to the last fetched nodes's root all keys should be qualified by ctrl to allow automatic focussing to source field if regular typing starts.
this is an drop target for text, files,...
the class is cluttered with all the AWT component/canvas functions, so any new function is placed into a minefield of used method names.
Definition at line 50 of file VisClientPanel.java.
org.hfbk.vis.VisClientPanel.VisClientPanel | ( | ) | throws LWJGLException |
builds this client.
LWJGLException |
Definition at line 134 of file VisClientPanel.java.
References org.hfbk.vis.VisClientPanel.allesfresser, org.hfbk.vis.VisClientPanel.client, org.hfbk.vis.VisClientPanel.keys, org.hfbk.vis.VisClientPanel.udplistener, and org.hfbk.vis.VisClientPanel.update().
Here is the call graph for this function:
static PixelFormat org.hfbk.vis.VisClientPanel.getPixelFormat | ( | ) | [static, package] |
Definition at line 121 of file VisClientPanel.java.
Dimension org.hfbk.vis.VisClientPanel.getPreferredSize | ( | ) |
Definition at line 125 of file VisClientPanel.java.
void org.hfbk.vis.VisClientPanel.processEvent | ( | AWTEvent | e | ) |
override AWTs event processing to scoop events for send them to the 3d world as well.
Definition at line 164 of file VisClientPanel.java.
References org.hfbk.vis.VisClientPanel.client, and org.hfbk.vis.VisClient.processEvent().
Here is the call graph for this function:
void org.hfbk.vis.VisClientPanel.update | ( | ) |
the main loop. this is something akward: normally AWT does the repaint at need (window resize, overlap) but now we need to force AWT to do a frequent redraw. so we call repaint() at the end of each render to just enque another one.
TODO this gets a problem as repaint() returns at instant, only letting the AWT thread do the refresh work. but if we fire repaint events to fast here, AWT has no time to react to other events like mouse etc. and all stalls. this is often seen in many apps. maybe we need some test to not append another paint event until all other events are consumed.
InterruptedException |
Definition at line 183 of file VisClientPanel.java.
References org.hfbk.vis.VisClientPanel.hasToRender.
Referenced by org.hfbk.vis.VisClientPanel.VisClientPanel().
Here is the caller graph for this function:
void org.hfbk.vis.VisClientPanel.initGL | ( | ) | [protected] |
initGL is automatically called by the canvas after OpenGL is available. and does all further initialisation.
Definition at line 197 of file VisClientPanel.java.
References org.hfbk.vis.VisClientPanel.client, and org.hfbk.vis.VisClient.init().
Here is the call graph for this function:
void org.hfbk.vis.VisClientPanel.paintGL | ( | ) | [protected] |
paintGL is periodically called to redraw the canvas.
Definition at line 209 of file VisClientPanel.java.
References org.hfbk.vis.VisClientPanel.client, org.hfbk.vis.UdpListener.close(), org.hfbk.vis.VisClientPanel.hasToRender, org.hfbk.vis.VisClient.paintGL(), and org.hfbk.vis.VisClientPanel.udplistener.
Here is the call graph for this function:
VisClient org.hfbk.vis.VisClientPanel.client = new VisClient(this) [package] |
Definition at line 53 of file VisClientPanel.java.
Referenced by org.hfbk.vis.VisClientWindow.buildScriptsMenu(), org.hfbk.vis.VisClientWindow.buildUI(), org.hfbk.vis.VisClientPanel.initGL(), org.hfbk.vis.VisTests.main(), org.hfbk.vis.VisClientPanel.paintGL(), org.hfbk.vis.VisClientPanel.processEvent(), and org.hfbk.vis.VisClientPanel.VisClientPanel().
Allesfresser org.hfbk.vis.VisClientPanel.allesfresser = new Allesfresser(client) [package] |
Definition at line 55 of file VisClientPanel.java.
Referenced by org.hfbk.vis.UdpListener.parseMsg(), and org.hfbk.vis.VisClientPanel.VisClientPanel().
Definition at line 57 of file VisClientPanel.java.
Referenced by org.hfbk.vis.VisClientPanel.paintGL(), and org.hfbk.vis.VisClientPanel.VisClientPanel().
ScriptRouter org.hfbk.vis.VisClientPanel.keyrouter = new ScriptRouter(client) [package] |
Definition at line 59 of file VisClientPanel.java.
KeyAdapter org.hfbk.vis.VisClientPanel.keys [package] |
we only accept ctrl and some or other non alpha keys to allow the UI steal the letter keys for more convenience in entering keywords.
Definition at line 66 of file VisClientPanel.java.
Referenced by org.hfbk.vis.VisClientPanel.VisClientPanel().
boolean org.hfbk.vis.VisClientPanel.hasToRender = true [package] |
Definition at line 191 of file VisClientPanel.java.
Referenced by org.hfbk.vis.VisClientPanel.paintGL(), and org.hfbk.vis.VisClientPanel.update().