cz.cuni.jagrlib.worker
Class AntCityWorker

java.lang.Object
  extended by cz.cuni.jagrlib.DefaultProperty
      extended by cz.cuni.jagrlib.Piece
          extended by cz.cuni.jagrlib.DefaultInputListener
              extended by cz.cuni.jagrlib.worker.AntCityWorker
All Implemented Interfaces:
Breakable, InputListener, Property, Worker, Template, java.lang.Runnable

public class AntCityWorker
extends DefaultInputListener
implements Worker

Worker: interactive ant-city rendering.

Since:
0.24
See Also:
AntCityWorker.java

Field Summary
protected static java.lang.String CATEGORY
          Object category.
protected  boolean cont
          Continue flag for regular re-draw loop.
protected  int frames
          Number of recent frames to be measured.
protected  double[] lookAt
          Actual 'lookAt' point.
protected  int period
          Redraw period in milliseconds (or 0 if no periodic redraw has to be done).
static java.lang.String PERIOD
           
static RegPiece reg
          Static registration instance for this class.
protected  Render3D render
          Redner object.
protected  Semaphore sem
          Window close semaphore.
protected static java.lang.String TEMPLATE_NAME
          Object template identifier.
protected  java.lang.Thread timerThread
          Timer thread used for automatic redraw.
protected  long totalTime
          Total rendering time of last 'frames' frames.
protected static double[] up
          Constant 'up' vector.
protected  double[] view
          Actual view direction.
protected  int viewOrd
          View direction as ordinal number 0 .. 3.
protected static double[][] views
          All possible view direction vectors.
protected  GraphicsViewer window
          Accelerator reference to the viewer window.
protected  double zoom
          Actual zoom factor (horizontal brick size).
 
Fields inherited from class cz.cuni.jagrlib.Piece
channels, info, pl, plugs, TEMPLATE_TYPE, userBreak
 
Fields inherited from interface cz.cuni.jagrlib.iface.Worker
REJECT, REPEAT, SEED
 
Fields inherited from interface cz.cuni.jagrlib.iface.Property
LOGGING, STATISTICS, TEXT_DESCRIPTION
 
Fields inherited from interface cz.cuni.jagrlib.iface.InputListener
BUTTON1, BUTTON2, BUTTON3
 
Fields inherited from interface cz.cuni.jagrlib.Template
ALL_PLUGS, C_1D, C_2D, C_3D, C_ALPHA, C_BINARY, C_BREP, C_CAMERA, C_CIRCLE, C_CLIP, C_COMPRESSION, C_CURVE, C_DATA, C_DRAW, C_EDITOR, C_ELLIPSE, C_FILL, C_FILTER, C_FLOAT, C_FUNCTION, C_IMAGE, C_INTEGER, C_IO, C_LIGHT, C_LINE, C_METRIC, C_POLYGON, C_PROJECTION, C_RADIOSITY, C_RASTER, C_RENDER, C_SAMPLE, C_SCENE, C_SET, C_SOLID, C_TEXT, C_TRANSFORM, C_VECTOR, C_VIEWER, C_WORKER, CAT_EMPTY, EMPTY, IFACE, JAGRLIB, JAGRLIB2, MANIPULATOR_COMBO, MANIPULATOR_CUSTOM, MANIPULATOR_DEFAULT, MANIPULATOR_MULTILINE, PL_ALPHAMASK, PL_BITMASK, PL_CAUSTIC, PL_CODEC, PL_COLORMAP, PL_COMPARE, PL_DATA, PL_DIRECT, PL_EDITOR, PL_FILTER, PL_FUNCTION, PL_IMAGE, PL_IMPORT, PL_INPUT, PL_INTERSECTION, PL_LIGHTSOURCE, PL_ORDER, PL_OUTPUT, PL_PALETTE, PL_PHOTON, PL_PROPERTY, PL_QUANTIZER, PL_RASTER, PL_RENDER, PL_SHADOW, PL_STREAM, PL_TRANSFORM, PL_TRIGGER, PL_VOLUME, PL_WINDOW, TYPE_BOOLEAN, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INTEGER, TYPE_LONG, TYPE_OBJECT, TYPE_STRING
 
Constructor Summary
AntCityWorker()
           
 
Method Summary
 java.lang.Object get(java.lang.String key)
          Gets the given property.
 void keyboard(java.lang.Object sender, long when, boolean press, char ch, int keyCode, int flags)
          Keyboard key was pressed/released.
 void run()
          Executive routine of the working thread.
 void set(java.lang.String key, java.lang.Object value)
          Sets the given property.
static int setTemplate(Template t, int ord)
          General-purpose registration routine.
 void stop()
          Tries to stop the thread/computation..
 
Methods inherited from class cz.cuni.jagrlib.DefaultInputListener
mouseButton, mouseHover, mouseMove, mouseWheel, setWindowSize, windowClose
 
Methods inherited from class cz.cuni.jagrlib.Piece
className, connect, findPlug, findPlug, getInfo, getInterface, getInterface, getPlug, getReg, init, isCompatible, isCompatible, isConnected, logError, logWarning, myInterface, newInputPlug, newOptOutputPlug, newOutputPlug, newPlug, noTemplates, propBegin, propBounds, propDefault, propEnd, propEnum, propManipulator, propManipulator, setProgressListener, setRegStrings, setTemplateDynamic
 
Methods inherited from class cz.cuni.jagrlib.DefaultProperty
booleanProperty, booleanProperty, colorDoubleProperty, colorProperty, commit, doubleProperty, doubleProperty, doubleProperty, enumProperty, floatProperty, floatProperty, floatProperty, intProperty, intProperty, intProperty, longProperty, longProperty, longProperty, set, stringProperty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface cz.cuni.jagrlib.iface.Property
commit
 
Methods inherited from interface cz.cuni.jagrlib.Breakable
setProgressListener
 

Field Detail

period

protected int period
Redraw period in milliseconds (or 0 if no periodic redraw has to be done).


cont

protected volatile boolean cont
Continue flag for regular re-draw loop.


window

protected GraphicsViewer window
Accelerator reference to the viewer window.


render

protected Render3D render
Redner object.


timerThread

protected java.lang.Thread timerThread
Timer thread used for automatic redraw.


sem

protected Semaphore sem
Window close semaphore.


viewOrd

protected int viewOrd
View direction as ordinal number 0 .. 3.


views

protected static final double[][] views
All possible view direction vectors.


view

protected double[] view
Actual view direction.


up

protected static final double[] up
Constant 'up' vector.


lookAt

protected double[] lookAt
Actual 'lookAt' point.


zoom

protected double zoom
Actual zoom factor (horizontal brick size).


totalTime

protected long totalTime
Total rendering time of last 'frames' frames.


frames

protected int frames
Number of recent frames to be measured.


PERIOD

public static final java.lang.String PERIOD
See Also:
Constant Field Values

TEMPLATE_NAME

protected static final java.lang.String TEMPLATE_NAME
Object template identifier.

See Also:
Constant Field Values

CATEGORY

protected static final java.lang.String CATEGORY
Object category.

See Also:
Constant Field Values

reg

public static final RegPiece reg
Static registration instance for this class. Automatically initialized in class-loading time.

Constructor Detail

AntCityWorker

public AntCityWorker()
Method Detail

stop

public void stop()
Tries to stop the thread/computation.. The process should yield itself. For Runnable implementators: Thread.interrupt() will be called afterwards.

Specified by:
stop in interface Breakable
Overrides:
stop in class Piece

run

public void run()
Executive routine of the working thread.

Specified by:
run in interface java.lang.Runnable

keyboard

public void keyboard(java.lang.Object sender,
                     long when,
                     boolean press,
                     char ch,
                     int keyCode,
                     int flags)
Keyboard key was pressed/released.

Specified by:
keyboard in interface InputListener
Overrides:
keyboard in class DefaultInputListener
Parameters:
sender - Originator of the event
when - System time in milliseconds.
press - Was it press or release?
ch - Character represented by the key.
keyCode - Key code.
flags - Input system status (key shifts/alts, ..).

set

public void set(java.lang.String key,
                java.lang.Object value)
Sets the given property.

Specified by:
set in interface Property
Overrides:
set in class DefaultProperty
Parameters:
key - Key string.
value - The new value.
See Also:
Property.commit()

get

public java.lang.Object get(java.lang.String key)
Gets the given property.

Specified by:
get in interface Property
Overrides:
get in class DefaultProperty
Parameters:
key - Key string.
Returns:
The actual value or null.

setTemplate

public static int setTemplate(Template t,
                              int ord)
General-purpose registration routine. Sets all plugs, strings, etc. to the given Template.