cz.cuni.jagrlib.worker
Class GlobalIlluminationWorker

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

public class GlobalIlluminationWorker
extends Piece
implements Worker

Worker: computes illumination of scene using some global method and renders the result.

See Also:
GlobalIlluminationWorker.java

Field Summary
protected  double azimuth
          View vector: azimuth angle.
static java.lang.String AZIMUTH_ANGLE
           
protected  DataFileFormat bak
          Raster file-format output.
protected static java.lang.String CATEGORY
          Object category.
protected  double distance
          Camera distance (for perspective camera only).
static java.lang.String DISTANCE
           
protected  double elevation
          View vector: elevation angle.
static java.lang.String ELEVATION_ANGLE
           
protected  GlobalIllumination illum
          Compute illumination of scene.
protected  RasterGraphics image
          Raster image = render target.
protected  Trigger init
          3D scene initialization object (should be stopped in case of user break).
static java.lang.String LOOK_X
           
static java.lang.String LOOK_Y
           
static java.lang.String LOOK_Z
           
protected  double lookX
          LookAt point: X coordinate.
protected  double lookY
          LookAt point: Y coordinate.
protected  double lookZ
          LookAt point: Z coordinate.
static java.lang.String MAX_ITER
           
static java.lang.String MAX_TIME
           
protected  int maxIter
          Maximal number of iterations (0 .. not limited).
protected  double maxTime
          Maximal computation time in seconds (0.0 .. indefinite).
protected  GraphicsViewer preview
          Preview window.
static RegPiece reg
          Static registration instance for this class.
protected  Render3D render
          Render object (should be stopped in case of user break).
protected static java.lang.String TEMPLATE_NAME
          Object template identifier.
protected  RedrawTimer timer
          Preview-window redraw timer (for progress indication).
static java.lang.String VIEW_VOLUME
           
protected  double viewVolume
          Viewing volume (ortho: horizontal size, perspective: horizontal view angle in degrees).
 
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.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
GlobalIlluminationWorker()
           
 
Method Summary
protected  void finish(long millis)
          Finish the worker job.
 java.lang.Object get(java.lang.String key)
          Gets the given property.
protected  boolean initialize()
          Initialize the job.
protected  void projection()
          Set camera and projection.
 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.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

azimuth

protected double azimuth
View vector: azimuth angle.


elevation

protected double elevation
View vector: elevation angle.


distance

protected double distance
Camera distance (for perspective camera only).


viewVolume

protected double viewVolume
Viewing volume (ortho: horizontal size, perspective: horizontal view angle in degrees).


lookX

protected double lookX
LookAt point: X coordinate.


lookY

protected double lookY
LookAt point: Y coordinate.


lookZ

protected double lookZ
LookAt point: Z coordinate.


maxTime

protected double maxTime
Maximal computation time in seconds (0.0 .. indefinite).


maxIter

protected int maxIter
Maximal number of iterations (0 .. not limited).


render

protected Render3D render
Render object (should be stopped in case of user break).


init

protected Trigger init
3D scene initialization object (should be stopped in case of user break).


timer

protected RedrawTimer timer
Preview-window redraw timer (for progress indication).


illum

protected GlobalIllumination illum
Compute illumination of scene.


image

protected RasterGraphics image
Raster image = render target.


preview

protected GraphicsViewer preview
Preview window.


bak

protected DataFileFormat bak
Raster file-format output.


AZIMUTH_ANGLE

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

ELEVATION_ANGLE

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

DISTANCE

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

VIEW_VOLUME

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

LOOK_X

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

LOOK_Y

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

LOOK_Z

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

MAX_TIME

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

MAX_ITER

public static final java.lang.String MAX_ITER
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

GlobalIlluminationWorker

public GlobalIlluminationWorker()
Method Detail

initialize

protected boolean initialize()
Initialize the job.


projection

protected void projection()
Set camera and projection.


finish

protected void finish(long millis)
Finish the worker job.


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

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.