cz.cuni.jagrlib
Class DefaultFunctionR2ToR2

java.lang.Object
  extended by cz.cuni.jagrlib.DefaultProperty
      extended by cz.cuni.jagrlib.Piece
          extended by cz.cuni.jagrlib.DefaultFunctionR2ToR2
All Implemented Interfaces:
Breakable, FunctionR2ToR2, Property, Template
Direct Known Subclasses:
Deformations, FeatureDeformation, TriMeshDeformation

public abstract class DefaultFunctionR2ToR2
extends Piece
implements FunctionR2ToR2

Default implementation of FunctionR2ToR2 interface.

See Also:
DefaultFunctionR2ToR2.java

Field Summary
 
Fields inherited from class cz.cuni.jagrlib.Piece
channels, info, pl, plugs, reg, 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
DefaultFunctionR2ToR2()
           
 
Method Summary
 boolean df(double x, double y, double[] d)
          Compute partial derivatives: du(x,y)/dx, du(x,y)/dy, dv(x,y)/dx and dv(x,y)/dy.
 boolean dfInv(double u, double v, double[] d)
          Compute partial derivatives of inverse mapping: dx(u,v)/du, dx(u,v)/dv, dy(u,v)/du and dy(u,v)/dv.
 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).
 boolean getDomain(double[] dom)
          Returns domain of the mapping.
 boolean getRange(double[] rng)
          Returns range of the mapping.
 
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, setTemplate, 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
 

Constructor Detail

DefaultFunctionR2ToR2

public DefaultFunctionR2ToR2()
Method Detail

f

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

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

df

public boolean df(double x,
                  double y,
                  double[] d)
Compute partial derivatives: du(x,y)/dx, du(x,y)/dy, dv(x,y)/dx and dv(x,y)/dy.

Specified by:
df in interface FunctionR2ToR2
Parameters:
x - X coordinate (1st argument).
y - Y coordinate (2nd argument).
d - Array to hold results (d[0] = du(x,y)/dx, d[1] = du(x,y)/dy, d[2] = dv(x,y)/dx, d[3] = dv(x,y)/dy).
Returns:
true if this service is implemented.

fInv

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

Specified by:
fInv in interface FunctionR2ToR2
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.

dfInv

public boolean dfInv(double u,
                     double v,
                     double[] d)
Compute partial derivatives of inverse mapping: dx(u,v)/du, dx(u,v)/dv, dy(u,v)/du and dy(u,v)/dv.

Specified by:
dfInv in interface FunctionR2ToR2
Parameters:
u - U coordinate (1st argument).
v - V coordinate (2nd argument).
d - Array to hold results (d[0] = dx(u,v)/du, d[1] = dx(u,v)/dv, d[2] = dy(u,v)/du, d[3] = dy(u,v)/dv).
Returns:
true if this service is implemented.

getDomain

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

Specified by:
getDomain in interface FunctionR2ToR2
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
Parameters:
rng - Range array (rng[0] = Umin, rng[1] = Umax, rng[2] = Vmin, rng[3] = Vmax).
Returns:
true if this service is implemented.