org.jvnet.substance.painter.noise
Class MarbleFilter

java.lang.Object
  extended by org.jvnet.substance.painter.noise.BaseNoiseFilter
      extended by org.jvnet.substance.painter.noise.MarbleFilter
All Implemented Interfaces:
NoiseFilter

public class MarbleFilter
extends BaseNoiseFilter

Noise filter that produces marble-like distribution. This class is part of officially supported API.

Author:
Kirill Grouchnikov

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.jvnet.substance.painter.noise.NoiseFilter
NoiseFilter.TrigKind
 
Field Summary
 
Fields inherited from class org.jvnet.substance.painter.noise.BaseNoiseFilter
trigKind, valueFactor, xFactor, yFactor, zFactor
 
Constructor Summary
MarbleFilter(double xFactor, double yFactor, double zFactor, NoiseFilter.TrigKind trigKind)
          Creates a new marble filter.
 
Method Summary
 double apply(double x, double y, double z, double origValue)
          Applies filter on the noise at the specified location.
static MarbleFilter getXFilter(double xFactor, NoiseFilter.TrigKind trigKind)
          Creates a new marble filter oriented along X axis.
static MarbleFilter getYFilter(double yFactor, NoiseFilter.TrigKind trigKind)
          Creates a new marble filter oriented along Y axis.
static MarbleFilter getZFilter(double zFactor, NoiseFilter.TrigKind trigKind)
          Creates a new marble filter oriented along Z axis.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MarbleFilter

public MarbleFilter(double xFactor,
                    double yFactor,
                    double zFactor,
                    NoiseFilter.TrigKind trigKind)
Creates a new marble filter.

Parameters:
xFactor - Stretch factor for X axis.
yFactor - Stretch factor for Y axis.
zFactor - Stretch factor for Z axis.
trigKind - Trigonometry function.
Method Detail

getXFilter

public static MarbleFilter getXFilter(double xFactor,
                                      NoiseFilter.TrigKind trigKind)
Creates a new marble filter oriented along X axis.

Parameters:
xFactor - Stretch factor for X axis.
trigKind - Trigonometry function.
Returns:
Marble filter oriented along X axis.

getYFilter

public static MarbleFilter getYFilter(double yFactor,
                                      NoiseFilter.TrigKind trigKind)
Creates a new marble filter oriented along Y axis.

Parameters:
yFactor - Stretch factor for Y axis.
trigKind - Trigonometry function.
Returns:
Marble filter oriented along Y axis.

getZFilter

public static MarbleFilter getZFilter(double zFactor,
                                      NoiseFilter.TrigKind trigKind)
Creates a new marble filter oriented along Z axis.

Parameters:
zFactor - Stretch factor for Z axis.
trigKind - Trigonometry function.
Returns:
Marble filter oriented along Z axis.

apply

public double apply(double x,
                    double y,
                    double z,
                    double origValue)
Description copied from interface: NoiseFilter
Applies filter on the noise at the specified location.

Parameters:
x - X coordinate.
y - Y coordinate.
z - Z coordinate.
origValue - The original noise value.
Returns:
New noise value.