cz.cuni.jagrlib.testing
Class OrderSerpentine

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

public class OrderSerpentine
extends Piece
implements Order2D

Order2D example - serpentine image order.

Since:
0.24
See Also:
OrderSerpentine.java

Nested Class Summary
protected static class OrderSerpentine.OrderType
          Implemented order types.
 
Field Summary
protected  int actX
          X-coordinate of the next pixel in the current pass.
protected  int actY
          Y-coordinate of the next pixel in the current pass (== #height at the end of pass).
protected static java.lang.String CATEGORY
          Object category.
protected  int height
          Actual bitmap height in pixels.
static RegPiece reg
          Static registration instance for this class.
protected static java.lang.String TEMPLATE_NAME
          Object template identifier.
protected  OrderSerpentine.OrderType type
          Actual order type { scanline | serpentine }.
protected  int width
          Actual bitmap width in pixels.
 
Fields inherited from class cz.cuni.jagrlib.Piece
channels, info, pl, plugs, TEMPLATE_TYPE, userBreak
 
Fields inherited from interface cz.cuni.jagrlib.iface.Order2D
ORDER_TYPE
 
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
OrderSerpentine()
           
 
Method Summary
 java.lang.Object get(java.lang.String key)
          Gets the given property.
 void init()
          Re-initializes the pass algorithm.
 boolean isNext()
          Anything to pass?
 int[] next(int[] coords)
          Returns the next 2D point.
 void pass()
          Executes the whole rectangle pass.
 void set(java.lang.String key, java.lang.Object value)
          Sets the given property.
 void setSize(int _m, int _n)
          Sets the source rectangle size.
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, 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

type

protected OrderSerpentine.OrderType type
Actual order type { scanline | serpentine }.


width

protected int width
Actual bitmap width in pixels.


height

protected int height
Actual bitmap height in pixels.


actX

protected int actX
X-coordinate of the next pixel in the current pass.


actY

protected int actY
Y-coordinate of the next pixel in the current pass (== #height at the end of pass).


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

OrderSerpentine

public OrderSerpentine()
Method Detail

setSize

public void setSize(int _m,
                    int _n)
Sets the source rectangle size. Initializes the pass algorithm. For both Active and Passive modes.

Specified by:
setSize in interface Order2D
Parameters:
_m - Horizontal rectangle size (width).
_n - Vertical rectangle size (height).
See Also:
init()

init

public void init()
Re-initializes the pass algorithm. For Passive pass mode.

Specified by:
init in interface Order2D
See Also:
setSize(int, int)

next

public int[] next(int[] coords)
Returns the next 2D point. For Passive pass mode.

Specified by:
next in interface Order2D
Parameters:
coords - Pre-allocated array of size 2 (for [X,Y] coordinates). Can be null.
Returns:
The next point's coordinates ([X,Y]).
See Also:
init()

isNext

public boolean isNext()
Anything to pass? For Passive pass mode.

Specified by:
isNext in interface Order2D
Returns:
true if there is at least one pixel to pass.
See Also:
init(), next(int[])

pass

public void pass()
Executes the whole rectangle pass. For Active (="modal") pass mode.

Specified by:
pass in interface Order2D
See Also:
setSize(int, int)

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.