cz.cuni.jagrlib
Class DefaultRealFunction

java.lang.Object
  extended by cz.cuni.jagrlib.DefaultProperty
      extended by cz.cuni.jagrlib.Piece
          extended by cz.cuni.jagrlib.DefaultRealFunction
All Implemented Interfaces:
Breakable, Property, RealFunction, Template
Direct Known Subclasses:
FunctionSamples, ImageCompare, ImageTransition.CutoffTransition, ImageTransition.LinearTransition, ImageTransition.RampField, ImageTransition.RandomField, ImageTransition.SigmaTransition, SimpleNoise

public abstract class DefaultRealFunction
extends Piece
implements RealFunction

Default implementation of RealFunction interface.

Since:
0.25
See Also:
DefaultRealFunction.java

Field Summary
static double EPSILON
          Constant used for numerical derivatives.
 
Fields inherited from class cz.cuni.jagrlib.Piece
channels, info, pl, plugs, reg, TEMPLATE_TYPE, userBreak
 
Fields inherited from interface cz.cuni.jagrlib.iface.RealFunction
AMPLITUDE, FREQUENCY, FREQUENCY_X, FREQUENCY_Y, VARIATION
 
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
DefaultRealFunction()
           
 
Method Summary
 double df(double x)
          Compute derivative: df(x)/dx.
 boolean df(double[] arg, double[] d)
          Compute partial derivatives: df(x1,..)
 boolean df(double x, double y, double[] d)
          Compute partial derivatives: df(x,y)/dx and df(x,y)/dy.
 boolean df(double x, double y, double z, double[] d)
          Compute partial derivatives: df(x,y,z)/dx, df(x,y,z)/dy and df(x,y,z)/dz.
 double f(double x)
          Compute the mapping: double -> double.
 double f(double[] arg)
          Compute the mapping: double[] -> double.
 double f(double x, double y)
          Compute the mapping: double[2] -> double.
 double f(double x, double y, double z)
          Compute the mapping: double[3] -> double.
 double f(int x)
          Compute the mapping: int -> double.
 double f(int[] arg)
          Compute the mapping: int[] -> double.
 double f(int x, int y)
          Compute the mapping: int[2] -> double.
 double f(int x, int y, int z)
          Compute the mapping: int[3] -> double.
 double[] getDomain(double[] dom)
          Returns domain of the mapping.
 int[] getDomain(int[] dom)
          Returns domain 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
 

Field Detail

EPSILON

public static final double EPSILON
Constant used for numerical derivatives.

See Also:
Constant Field Values
Constructor Detail

DefaultRealFunction

public DefaultRealFunction()
Method Detail

f

public double f(double x)
Compute the mapping: double -> double.

Specified by:
f in interface RealFunction

f

public double f(int x)
Compute the mapping: int -> double.

Specified by:
f in interface RealFunction

f

public double f(double x,
                double y)
Compute the mapping: double[2] -> double.

Specified by:
f in interface RealFunction

f

public double f(int x,
                int y)
Compute the mapping: int[2] -> double.

Specified by:
f in interface RealFunction

f

public double f(double x,
                double y,
                double z)
Compute the mapping: double[3] -> double.

Specified by:
f in interface RealFunction

f

public double f(int x,
                int y,
                int z)
Compute the mapping: int[3] -> double.

Specified by:
f in interface RealFunction

f

public double f(double[] arg)
Compute the mapping: double[] -> double.

Specified by:
f in interface RealFunction

f

public double f(int[] arg)
Compute the mapping: int[] -> double.

Specified by:
f in interface RealFunction

df

public double df(double x)
Compute derivative: df(x)/dx. Non-mandatory.

Specified by:
df in interface RealFunction
Parameters:
x - Function argument.
Returns:
Function derivative or 0.0 if not implemented.

df

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

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

df

public boolean df(double x,
                  double y,
                  double z,
                  double[] d)
Compute partial derivatives: df(x,y,z)/dx, df(x,y,z)/dy and df(x,y,z)/dz. Non-mandatory.

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

df

public boolean df(double[] arg,
                  double[] d)
Compute partial derivatives: df(x1,..)/dx1, ... Non-mandatory.

Specified by:
df in interface RealFunction
Parameters:
arg - Coordinate array.
d - Array to hold results (d[0] = df(x1,...)/dx1, ...).
Returns:
true if this service is implemented.

getDomain

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

Specified by:
getDomain in interface RealFunction
Parameters:
dom - Domain array (dom[0] = Xmin, dom[1] = Xmax, etc.).
Returns:
null if this service is not implemented.

getDomain

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

Specified by:
getDomain in interface RealFunction
Parameters:
dom - Domain array (dom[0] = Xmin, dom[1] = Xmax, etc.).
Returns:
null if this service is not implemented.