cz.cuni.jagrlib.piece
Class DynamicCSGScene

java.lang.Object
  extended by cz.cuni.jagrlib.DefaultProperty
      extended by cz.cuni.jagrlib.Piece
          extended by cz.cuni.jagrlib.piece.StaticCSGScene
              extended by cz.cuni.jagrlib.piece.DynamicCSGScene
All Implemented Interfaces:
Breakable, Intersectable, Property, RTScene, TimeDependent, Template

public class DynamicCSGScene
extends StaticCSGScene

CSG representation of 3D scenes for Ray-tracing rendering methods. Dynamic scene (time-dependency via TimeDependent interface).

Since:
0.12
Version:
0.26 $Rev: 919 $ $Date: 2010-04-08 03:45:53 +0200 (čt, 08 IV 2010) $ $Author: pepca $
See Also:
DynamicCSGScene.java

Field Summary
protected static String CATEGORY
          Object category.
static String MAX_TIME
           
protected  double maxTime
          Upper bound for time.
static RegPiece reg
          Static registration instance for this class.
protected static String TEMPLATE_NAME
          Object template identifier.
protected  double time
          Current virtual time in seconds.
static String TIME
           
 
Fields inherited from class cz.cuni.jagrlib.piece.StaticCSGScene
background, camera, dirty, fileName, KEY_BACKGROUND, KEY_BREP, KEY_CAMERA, KEY_LIGHTS, KEY_OBJ, KEY_SCENE, lights, nextId, root, SCENE
 
Fields inherited from class cz.cuni.jagrlib.Piece
channels, info, pl, plugs, TEMPLATE_TYPE, userBreak
 
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_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_PROPERTY, PL_QUANTIZER, PL_RASTER, PL_RENDER, PL_STREAM, PL_TRANSFORM, PL_TRIGGER, PL_WINDOW, TYPE_BOOLEAN, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INTEGER, TYPE_LONG, TYPE_OBJECT, TYPE_STRING
 
Constructor Summary
DynamicCSGScene()
           
 
Method Summary
protected  void assertScene()
          All scene components have be usable.
 Object get(String key)
          Gets the given property.
 double getTime()
          Returns the actual time value for the scene (used in animations).
 double[] getTimeInterval(double[] pre)
          Retrieve the valid bounds for time variable.
 void set(String key, Object value)
          Sets the given property.
static int setTemplate(Template t, int ord)
          General-purpose registration routine.
 void setTime(double time)
          Sets the actual time value for the scene (used in animations).
 
Methods inherited from class cz.cuni.jagrlib.piece.StaticCSGScene
defaultBackground, defaultCamera, defaultLights, defaultScene, getBackground, getCamera, getLights, getLightsToMicroFacet, intersection, setCamera, setLights, setRoot
 
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, stop
 
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
 

Field Detail

time

protected double time
Current virtual time in seconds.


maxTime

protected double maxTime
Upper bound for time.


TIME

public static final String TIME
See Also:
Constant Field Values

MAX_TIME

public static final String MAX_TIME
See Also:
Constant Field Values

TEMPLATE_NAME

protected static final String TEMPLATE_NAME
Object template identifier.

See Also:
Constant Field Values

CATEGORY

protected static final 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

DynamicCSGScene

public DynamicCSGScene()
Method Detail

assertScene

protected void assertScene()
All scene components have be usable.

Overrides:
assertScene in class StaticCSGScene

getTimeInterval

public double[] getTimeInterval(double[] pre)
Retrieve the valid bounds for time variable.

Specified by:
getTimeInterval in interface TimeDependent
Overrides:
getTimeInterval in class StaticCSGScene
Parameters:
pre - Pre-allocated double[2] array to hold the result (can be null).
Returns:
result[0] .. minimum time value, result[1] .. maximum time value.
See Also:
getTime(), setTime(double)

getTime

public double getTime()
Returns the actual time value for the scene (used in animations).

Specified by:
getTime in interface TimeDependent
Overrides:
getTime in class StaticCSGScene
Returns:
Actual time (in seconds).
See Also:
setTime(double)

setTime

public void setTime(double time)
Sets the actual time value for the scene (used in animations).

Specified by:
setTime in interface TimeDependent
Overrides:
setTime in class StaticCSGScene
Parameters:
time - New scene time (in seconds).
See Also:
getTime(), getTimeInterval(double[])

set

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

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

get

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

Specified by:
get in interface Property
Overrides:
get in class StaticCSGScene
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.