cz.cuni.jagrlib.piece
Class StraightRoulette

java.lang.Object
  extended by cz.cuni.jagrlib.DefaultProperty
      extended by cz.cuni.jagrlib.Piece
          extended by cz.cuni.jagrlib.piece.StraightRoulette
All Implemented Interfaces:
Breakable, Property, WheelOfFortune, Template

public class StraightRoulette
extends Piece
implements WheelOfFortune

Simple roulette-wheel: set of intervals with equal size (i.e. equal probability).

See Also:
StraightRoulette.java

Field Summary
protected static java.lang.String CATEGORY
          Object category.
protected  int intervals
          Number of intervals.
static RegPiece reg
          Static registration instance for this class.
protected static java.lang.String TEMPLATE_NAME
          Object template identifier.
 
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
StraightRoulette()
           
 
Method Summary
 int convert(long _sum)
          Converts a frequency sum to the corresponding symbol.
 long get(int _symbol)
          Returns the frequency of the given symbol.
 int getSymbols()
          Returns total number of symbols (intervals).
 long left(int _symbol)
          Returns the start of the symbol's cummulative frequency interval (the frequency sum of all preceding symbols).
 void set(int _symbol, long _freq)
          Sets a single symbol's frequency.
 void set(long[] _freq)
          Sets frequencies of all symbols at once.
 void setSymbols(int _symbols)
          Changes total number of symbols (intervals).
static int setTemplate(Template t, int ord)
          General-purpose registration routine.
 long total()
          Returns the frequency sum of all symbols.
 
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, get, intProperty, intProperty, intProperty, longProperty, longProperty, longProperty, set, 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, get, set
 

Field Detail

intervals

protected int intervals
Number of intervals.


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

StraightRoulette

public StraightRoulette()
Method Detail

setSymbols

public void setSymbols(int _symbols)
Changes total number of symbols (intervals).

Specified by:
setSymbols in interface WheelOfFortune
Parameters:
_symbols - New number of symbols.
See Also:
getSymbols()

getSymbols

public int getSymbols()
Returns total number of symbols (intervals).

Specified by:
getSymbols in interface WheelOfFortune
Returns:
Number of symbols.

set

public void set(long[] _freq)
Sets frequencies of all symbols at once. Can be used for context re-initialization (null parameter).

Specified by:
set in interface WheelOfFortune
Parameters:
_freq - Array of new frequencies. Can be null for context re-initialization.
See Also:
set(int,long), EntropyHistogram.decimate()

set

public void set(int _symbol,
                long _freq)
Sets a single symbol's frequency.

Specified by:
set in interface WheelOfFortune
Parameters:
_symbol - Symbol code.
_freq - New frequency of the symbol.
See Also:
set(long[]), EntropyHistogram.decimate()

total

public long total()
Returns the frequency sum of all symbols. Same as left( getSymbols() ), but might be more effective.

Specified by:
total in interface WheelOfFortune
Returns:
The total frequency sum.
See Also:
left(int), get(int), convert(long)

left

public long left(int _symbol)
Returns the start of the symbol's cummulative frequency interval (the frequency sum of all preceding symbols).

Specified by:
left in interface WheelOfFortune
Parameters:
_symbol - Symbol code.
Returns:
The sum of all preceding symbol frequencies.
See Also:
total(), get(int), convert(long)

get

public long get(int _symbol)
Returns the frequency of the given symbol. Same as left( _symbol + 1 ) - left( _symbol ).

Specified by:
get in interface WheelOfFortune
Parameters:
_symbol - Symbol code.
Returns:
The frequency of that symbol.
See Also:
total(), left(int), convert(long)

convert

public int convert(long _sum)
Converts a frequency sum to the corresponding symbol.

Specified by:
convert in interface WheelOfFortune
Parameters:
_sum - Frequency sum of the unknown symbol.
Returns:
The symbol which has _sum in it's cummulative frequency interval.
See Also:
total(), left(int), get(int)

setTemplate

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