cz.cuni.jagrlib.testing
Class Test3DScene

java.lang.Object
  extended by cz.cuni.jagrlib.DefaultProperty
      extended by cz.cuni.jagrlib.Piece
          extended by cz.cuni.jagrlib.testing.Test3DScene
All Implemented Interfaces:
Breakable, Property, Trigger, Template

public class Test3DScene
extends Piece
implements Trigger

Creates sample 3D scene (Brep) for testing of rendering algorithms.
So far implemented: graph of R2 to R function (provided externally via the RealFunction module).

See Also:
Test3DScene.java

Field Summary
protected static double ADD_RADIUS
          Additional triangle radius in world space.
protected static double BLADE_THICKNESS
          Relative blade thickness (thickness / width ratio).
protected static double BLADE_WIDTH
          Blade width in world space.
protected static java.lang.String CATEGORY
          Object category.
static java.lang.String CELLS_X
           
static java.lang.String CELLS_Y
           
protected  int cellsX
          Number of cells in X direction.
protected  int cellsY
          Number of cells in Y direction.
static java.lang.String COLOR_MUL
           
protected  double colorMul
          Color multiplier for vertex colors.
protected static double FAN_MAXZ
          Fan maximum vertical position.
protected static double FAN_MINZ
          Fan minimum vertical position.
protected  int fans
          Number of fans to be drawn.
static java.lang.String FANS
           
protected static int MAX_BLADES
          Maximum number of fan double-blades.
static java.lang.String MAX_X
           
static java.lang.String MAX_Y
           
protected  double maxRadius
          Maximal radius for fan generation.
protected  double maxX
           
protected  double maxY
           
static java.lang.String MIN_X
           
static java.lang.String MIN_Y
           
protected  double minX
           
protected  double minY
           
protected  boolean painter
          Non-penetrating faces?
static java.lang.String PAINTER
           
static java.lang.String RADIUS
           
static RegPiece reg
          Static registration instance for this class.
protected  RandomJames rnd
          Global random generator.
protected  int seed
          Set negative value for randomize.
static java.lang.String SEED
           
protected static java.lang.String TEMPLATE_NAME
          Object template identifier.
protected  boolean transparent
          Generate transparent colors?
static java.lang.String TRANSPARENT
           
 
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_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
Test3DScene()
           
 
Method Summary
protected  void fan(Brep data, int ctx, int vertexColor, int faceColor, int vertexNormal, int vertexTex)
          Generates one random fan.
 boolean fire(int type)
          Prepares 3D scene (attached Brep object).
 java.lang.Object get(java.lang.String key)
          Gets the given property.
 int init(int phase)
          Module initialization - called before any Runnable.run().
protected  void permuteColor(float[] color)
          Permutate the given color vector, sets non-transparent result color.
protected  void randomColor(float[] color, boolean tran)
          Generate random (optionally transparent) color.
 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.
 
Methods inherited from class cz.cuni.jagrlib.Piece
className, connect, findPlug, findPlug, getInfo, getInterface, getInterface, getPlug, getReg, 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
 
Methods inherited from interface cz.cuni.jagrlib.Breakable
setProgressListener, stop
 

Field Detail

cellsX

protected int cellsX
Number of cells in X direction.


cellsY

protected int cellsY
Number of cells in Y direction.


minX

protected double minX

maxX

protected double maxX

minY

protected double minY

maxY

protected double maxY

fans

protected int fans
Number of fans to be drawn.


maxRadius

protected double maxRadius
Maximal radius for fan generation.


seed

protected int seed
Set negative value for randomize.


rnd

protected RandomJames rnd
Global random generator. Will be initialized in every generation run.


painter

protected boolean painter
Non-penetrating faces?


transparent

protected boolean transparent
Generate transparent colors?


colorMul

protected double colorMul
Color multiplier for vertex colors.


FAN_MINZ

protected static final double FAN_MINZ
Fan minimum vertical position.

See Also:
Constant Field Values

FAN_MAXZ

protected static final double FAN_MAXZ
Fan maximum vertical position.

See Also:
Constant Field Values

BLADE_THICKNESS

protected static final double BLADE_THICKNESS
Relative blade thickness (thickness / width ratio).

See Also:
Constant Field Values

BLADE_WIDTH

protected static final double BLADE_WIDTH
Blade width in world space.

See Also:
Constant Field Values

ADD_RADIUS

protected static final double ADD_RADIUS
Additional triangle radius in world space.

See Also:
Constant Field Values

MAX_BLADES

protected static final int MAX_BLADES
Maximum number of fan double-blades.

See Also:
Constant Field Values

CELLS_X

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

CELLS_Y

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

MIN_X

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

MAX_X

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

MIN_Y

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

MAX_Y

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

COLOR_MUL

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

FANS

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

RADIUS

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

SEED

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

PAINTER

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

TRANSPARENT

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

Test3DScene

public Test3DScene()
Method Detail

randomColor

protected void randomColor(float[] color,
                           boolean tran)
Generate random (optionally transparent) color. Uses exactly three random-generator calls.


permuteColor

protected void permuteColor(float[] color)
Permutate the given color vector, sets non-transparent result color. Doesn't call random-generator at all.


fan

protected void fan(Brep data,
                   int ctx,
                   int vertexColor,
                   int faceColor,
                   int vertexNormal,
                   int vertexTex)
Generates one random fan.


fire

public boolean fire(int type)
Prepares 3D scene (attached Brep object).

Specified by:
fire in interface Trigger
Parameters:
type - The action type (whatever it means..).
Returns:
true if the action was successful.

init

public int init(int phase)
Module initialization - called before any Runnable.run(). Individual phases (starting at 0) will be called until maximum requested phase number is reached.

Overrides:
init in class Piece
Parameters:
phase - Current phase number.
Returns:
Number of phases needed to initialize this module.

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.