cz.cuni.jagrlib.piece
Class Deformations

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

public class Deformations
extends DefaultFunctionR2ToR2

R2->R2 mappings (analytic warping sample transforms).

Since:
0.24
See Also:
Deformations.java

Nested Class Summary
protected static class Deformations.DeformationType
          Implemented deformation types.
 
Field Summary
static java.lang.String ASPECT_RATIO
           
protected  double aspectRatio
          Aspect ratio of the source space.
protected static java.lang.String CATEGORY
          Object category.
static java.lang.String DEFORMATION
           
protected  boolean dirty
          Dirty flag = had to recompute internal accelerators?
protected  double factor
          General deformation parameter (zoom factor, angle, twist amplitude..).
static java.lang.String FACTOR
           
static RegPiece reg
          Static registration instance for this class.
protected static java.lang.String TEMPLATE_NAME
          Object template identifier.
protected  double tmp1
          Support variables (accelerators?).
protected  double tmp2
          Support variables (accelerators?).
protected  double tmp3
          Support variables (accelerators?).
protected  double tmp4
          Support variables (accelerators?).
protected  Deformations.DeformationType type
          Actual function type.
 
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
Deformations()
           
 
Method Summary
protected  void cubicTwist(boolean forward, double x, double y, double[] res)
          Internal cubic-twist mapping function.
 void f(double x, double y, double[] res)
          Compute the mapping: f(x,y).
 boolean fInv(double u, double v, double[] res)
          Compute the inverse mapping: f-1(u,v).
 java.lang.Object get(java.lang.String key)
          Gets the given property.
 boolean getDomain(double[] dom)
          Returns domain of the mapping.
 boolean getRange(double[] rng)
          Returns range of the mapping.
 void set(java.lang.String key, java.lang.Object value)
          Sets the given property.
protected  void setAspectRatio()
           
static int setTemplate(Template t, int ord)
          General-purpose registration routine.
 
Methods inherited from class cz.cuni.jagrlib.DefaultFunctionR2ToR2
df, dfInv
 
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 Deformations.DeformationType type
Actual function type.


factor

protected double factor
General deformation parameter (zoom factor, angle, twist amplitude..).


aspectRatio

protected double aspectRatio
Aspect ratio of the source space.


tmp1

protected double tmp1
Support variables (accelerators?).


tmp2

protected double tmp2
Support variables (accelerators?).


tmp3

protected double tmp3
Support variables (accelerators?).


tmp4

protected double tmp4
Support variables (accelerators?).


dirty

protected boolean dirty
Dirty flag = had to recompute internal accelerators?


DEFORMATION

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

FACTOR

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

ASPECT_RATIO

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

Deformations

public Deformations()
Method Detail

cubicTwist

protected void cubicTwist(boolean forward,
                          double x,
                          double y,
                          double[] res)
Internal cubic-twist mapping function.


setAspectRatio

protected void setAspectRatio()

f

public void f(double x,
              double y,
              double[] res)
Compute the mapping: f(x,y).

Specified by:
f in interface FunctionR2ToR2
Overrides:
f in class DefaultFunctionR2ToR2
Parameters:
x - X coordinate (1st argument).
y - Y coordinate (2nd argument).
res - Result array (res[0] = U coordinate, res[1] = V coordinate).

fInv

public boolean fInv(double u,
                    double v,
                    double[] res)
Compute the inverse mapping: f-1(u,v).

Specified by:
fInv in interface FunctionR2ToR2
Overrides:
fInv in class DefaultFunctionR2ToR2
Parameters:
u - U coordinate (1st argument).
v - V coordinate (2nd argument).
res - Result array (res[0] = X coordinate, res[1] = Y coordinate).
Returns:
true if this service is implemented.

getDomain

public boolean getDomain(double[] dom)
Returns domain of the mapping.

Specified by:
getDomain in interface FunctionR2ToR2
Overrides:
getDomain in class DefaultFunctionR2ToR2
Parameters:
dom - Domain array (dom[0] = Xmin, dom[1] = Xmax, dom[2] = Ymin, dom[3] = Ymax).
Returns:
true if this service is implemented.

getRange

public boolean getRange(double[] rng)
Returns range of the mapping.

Specified by:
getRange in interface FunctionR2ToR2
Overrides:
getRange in class DefaultFunctionR2ToR2
Parameters:
rng - Range array (rng[0] = Umin, rng[1] = Umax, rng[2] = Vmin, rng[3] = Vmax).
Returns:
true if this service is implemented.

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.