cz.cuni.jagrlib.piece
Class SimpleNoise

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

public class SimpleNoise
extends DefaultRealFunction

Noise function - simple implementations. Interpolation/approximation in uniform grid.

Since:
0.24
See Also:
SimpleNoise.java

Nested Class Summary
protected static class SimpleNoise.NoiseType
          Implemented noise types.
 
Field Summary
protected  double amplitude
          Actual noise amplitude.
protected static java.lang.String CATEGORY
          Object category.
protected  int dim
          Noise dimensionality.
static java.lang.String DIMENSION
           
protected  int frequency
          Actual noise frequency (number of periods within 0.0 - 1.0 domain).
protected  double[] grid
          Array holding randomly-generated knot points.
protected  HashFunction hash
          Hash-function instance.
static java.lang.String NOISE_TYPE
           
static RegPiece reg
          Static registration instance for this class.
protected static long RND_MASK
          How many LS-bits from pseudo-random generator will be used.
protected static java.lang.String TEMPLATE_NAME
          Object template identifier.
protected  SimpleNoise.NoiseType type
          Actual noise type.
protected  int variation
          Hash-function variation.
protected static int X0
          X-coordinate increment for better hashing distribution.
protected static int XM
          X-coordinate multiplier for better hashing distribution.
protected static int Y0
          Y-coordinate increment for better hashing distribution.
protected static int YM
          Y-coordinate multiplier for better hashing distribution.
protected static int Z0
          Z-coordinate increment for better hashing distribution.
protected static int ZM
          Z-coordinate multiplier for better hashing distribution.
 
Fields inherited from class cz.cuni.jagrlib.DefaultRealFunction
EPSILON
 
Fields inherited from class cz.cuni.jagrlib.Piece
channels, info, pl, plugs, 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
SimpleNoise()
           
 
Method Summary
protected  void assertGrid(int len)
           
protected  double bSpline(int i0, int di, double t)
          Cubic B-spline basis function blending.
 double f(double x, double y)
          Compute the mapping: f(x,y).
 double f(double x, double y, double z)
          Compute the mapping: f(x,y,z).
 java.lang.Object get(java.lang.String key)
          Gets the given property.
 void set(java.lang.String key, java.lang.Object value)
          Sets the given property.
static int setTemplate(Template t, int ord)
          General-purpose registration routine.
 
Methods inherited from class cz.cuni.jagrlib.DefaultRealFunction
df, df, df, df, f, f, f, f, f, f, getDomain, getDomain
 
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 SimpleNoise.NoiseType type
Actual noise type.


dim

protected int dim
Noise dimensionality. Not used yet (not needed).


amplitude

protected double amplitude
Actual noise amplitude.


frequency

protected int frequency
Actual noise frequency (number of periods within 0.0 - 1.0 domain).


variation

protected int variation
Hash-function variation. Should be used in continuous segment: 0, 1, 2, ...


hash

protected HashFunction hash
Hash-function instance.


grid

protected double[] grid
Array holding randomly-generated knot points.


X0

protected static final int X0
X-coordinate increment for better hashing distribution.

See Also:
Constant Field Values

Y0

protected static final int Y0
Y-coordinate increment for better hashing distribution.

See Also:
Constant Field Values

Z0

protected static final int Z0
Z-coordinate increment for better hashing distribution.

See Also:
Constant Field Values

XM

protected static final int XM
X-coordinate multiplier for better hashing distribution.

See Also:
Constant Field Values

YM

protected static final int YM
Y-coordinate multiplier for better hashing distribution.

See Also:
Constant Field Values

ZM

protected static final int ZM
Z-coordinate multiplier for better hashing distribution.

See Also:
Constant Field Values

RND_MASK

protected static final long RND_MASK
How many LS-bits from pseudo-random generator will be used.

See Also:
Constant Field Values

NOISE_TYPE

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

DIMENSION

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

SimpleNoise

public SimpleNoise()
Method Detail

assertGrid

protected final void assertGrid(int len)

bSpline

protected final double bSpline(int i0,
                               int di,
                               double t)
Cubic B-spline basis function blending. Combines four values from the grid[] array, indices are: i0, i0+di, i0+2*di, i0+3*di.


f

public double f(double x,
                double y)
Compute the mapping: f(x,y).

Specified by:
f in interface RealFunction
Overrides:
f in class DefaultRealFunction
Parameters:
x - X coordinate (1st argument).
y - Y coordinate (2nd argument).

f

public double f(double x,
                double y,
                double z)
Compute the mapping: f(x,y,z).

Specified by:
f in interface RealFunction
Overrides:
f in class DefaultRealFunction
Parameters:
x - X coordinate (1st argument).
y - Y coordinate (2nd argument).
z - Z coordinate (3rd argument).

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.