com.jhlabs.image
Class CellularFilter

java.lang.Object
  extended by com.jhlabs.image.AbstractBufferedImageOp
      extended by com.jhlabs.image.WholeImageFilter
          extended by com.jhlabs.image.CellularFilter
All Implemented Interfaces:
Function2D, java.awt.image.BufferedImageOp, java.lang.Cloneable
Direct Known Subclasses:
CrystallizeFilter, PointillizeFilter

public class CellularFilter
extends WholeImageFilter
implements Function2D, java.lang.Cloneable

A filter which produces an image with a cellular texture.


Nested Class Summary
 class CellularFilter.Point
           
 
Field Summary
 float amount
           
protected  float angle
           
protected  float angleCoefficient
           
 float bias
           
protected  float[] coefficients
           
protected  Colormap colormap
           
 float distancePower
           
 float gain
           
protected  int gridType
           
static int HEXAGONAL
           
protected  float m00
           
protected  float m01
           
protected  float m10
           
protected  float m11
           
static int OCTAGONAL
           
protected  java.util.Random random
           
static int RANDOM
           
protected  float randomness
           
protected  CellularFilter.Point[] results
           
protected  float scale
           
static int SQUARE
           
protected  float stretch
           
static int TRIANGULAR
           
 float turbulence
           
 boolean useColor
           
 
Fields inherited from class com.jhlabs.image.WholeImageFilter
originalSpace, transformedSpace
 
Constructor Summary
CellularFilter()
           
 
Method Summary
 java.lang.Object clone()
           
 float evaluate(float x, float y)
           
protected  int[] filterPixels(int width, int height, int[] inPixels, java.awt.Rectangle transformedSpace)
          Actually filter the pixels.
 float getAmount()
          Get the amount of texture.
 float getAngle()
          Returns the angle of the texture.
 float getAngleCoefficient()
           
 float getCoefficient(int i)
           
 Colormap getColormap()
          Get the colormap to be used for the filter.
 float getDistancePower()
           
 float getF1()
           
 float getF2()
           
 float getF3()
           
 float getF4()
           
 float getGradientCoefficient()
           
 int getGridType()
           
 int getPixel(int x, int y, int[] inPixels, int width, int height)
           
 float getRandomness()
           
 float getScale()
          Returns the scale of the texture.
 float getStretch()
          Returns the stretch factor of the texture.
 float getTurbulence()
          Returns the turbulence of the effect.
 void setAmount(float amount)
          Set the amount of effect.
 void setAngle(float angle)
          Specifies the angle of the texture.
 void setAngleCoefficient(float angleCoefficient)
           
 void setCoefficient(int i, float v)
           
 void setColormap(Colormap colormap)
          Set the colormap to be used for the filter.
 void setDistancePower(float distancePower)
           
 void setF1(float v)
           
 void setF2(float v)
           
 void setF3(float v)
           
 void setF4(float v)
           
 void setGradientCoefficient(float gradientCoefficient)
           
 void setGridType(int gridType)
           
 void setRandomness(float randomness)
           
 void setScale(float scale)
          Specifies the scale of the texture.
 void setStretch(float stretch)
          Specifies the stretch factor of the texture.
 void setTurbulence(float turbulence)
          Specifies the turbulence of the texture.
 java.lang.String toString()
           
 float turbulence2(float x, float y, float freq)
           
 
Methods inherited from class com.jhlabs.image.WholeImageFilter
filter, transformSpace
 
Methods inherited from class com.jhlabs.image.AbstractBufferedImageOp
createCompatibleDestImage, getBounds2D, getPoint2D, getRenderingHints, getRGB, setRGB
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

scale

protected float scale

stretch

protected float stretch

angle

protected float angle

amount

public float amount

turbulence

public float turbulence

gain

public float gain

bias

public float bias

distancePower

public float distancePower

useColor

public boolean useColor

colormap

protected Colormap colormap

coefficients

protected float[] coefficients

angleCoefficient

protected float angleCoefficient

random

protected java.util.Random random

m00

protected float m00

m01

protected float m01

m10

protected float m10

m11

protected float m11

results

protected CellularFilter.Point[] results

randomness

protected float randomness

gridType

protected int gridType

RANDOM

public static final int RANDOM
See Also:
Constant Field Values

SQUARE

public static final int SQUARE
See Also:
Constant Field Values

HEXAGONAL

public static final int HEXAGONAL
See Also:
Constant Field Values

OCTAGONAL

public static final int OCTAGONAL
See Also:
Constant Field Values

TRIANGULAR

public static final int TRIANGULAR
See Also:
Constant Field Values
Constructor Detail

CellularFilter

public CellularFilter()
Method Detail

setScale

public void setScale(float scale)
Specifies the scale of the texture.

Parameters:
scale - the scale of the texture.
See Also:
getScale()

getScale

public float getScale()
Returns the scale of the texture.

Returns:
the scale of the texture.
See Also:
setScale(float)

setStretch

public void setStretch(float stretch)
Specifies the stretch factor of the texture.

Parameters:
stretch - the stretch factor of the texture.
See Also:
getStretch()

getStretch

public float getStretch()
Returns the stretch factor of the texture.

Returns:
the stretch factor of the texture.
See Also:
setStretch(float)

setAngle

public void setAngle(float angle)
Specifies the angle of the texture.

Parameters:
angle - the angle of the texture.
See Also:
getAngle()

getAngle

public float getAngle()
Returns the angle of the texture.

Returns:
the angle of the texture.
See Also:
setAngle(float)

setCoefficient

public void setCoefficient(int i,
                           float v)

getCoefficient

public float getCoefficient(int i)

setAngleCoefficient

public void setAngleCoefficient(float angleCoefficient)

getAngleCoefficient

public float getAngleCoefficient()

setGradientCoefficient

public void setGradientCoefficient(float gradientCoefficient)

getGradientCoefficient

public float getGradientCoefficient()

setF1

public void setF1(float v)

getF1

public float getF1()

setF2

public void setF2(float v)

getF2

public float getF2()

setF3

public void setF3(float v)

getF3

public float getF3()

setF4

public void setF4(float v)

getF4

public float getF4()

setColormap

public void setColormap(Colormap colormap)
Set the colormap to be used for the filter.

Parameters:
colormap - the colormap
See Also:
getColormap()

getColormap

public Colormap getColormap()
Get the colormap to be used for the filter.

Returns:
the colormap
See Also:
setColormap(com.jhlabs.image.Colormap)

setRandomness

public void setRandomness(float randomness)

getRandomness

public float getRandomness()

setGridType

public void setGridType(int gridType)

getGridType

public int getGridType()

setDistancePower

public void setDistancePower(float distancePower)

getDistancePower

public float getDistancePower()

setTurbulence

public void setTurbulence(float turbulence)
Specifies the turbulence of the texture.

Parameters:
turbulence - the turbulence of the texture.
See Also:
getTurbulence()

getTurbulence

public float getTurbulence()
Returns the turbulence of the effect.

Returns:
the turbulence of the effect.
See Also:
setTurbulence(float)

setAmount

public void setAmount(float amount)
Set the amount of effect.

Parameters:
amount - the amount
See Also:
getAmount()

getAmount

public float getAmount()
Get the amount of texture.

Returns:
the amount
See Also:
setAmount(float)

evaluate

public float evaluate(float x,
                      float y)
Specified by:
evaluate in interface Function2D

turbulence2

public float turbulence2(float x,
                         float y,
                         float freq)

getPixel

public int getPixel(int x,
                    int y,
                    int[] inPixels,
                    int width,
                    int height)

filterPixels

protected int[] filterPixels(int width,
                             int height,
                             int[] inPixels,
                             java.awt.Rectangle transformedSpace)
Description copied from class: WholeImageFilter
Actually filter the pixels.

Specified by:
filterPixels in class WholeImageFilter
Parameters:
width - the image width
height - the image height
inPixels - the image pixels
transformedSpace - the output bounds
Returns:
the output pixels

clone

public java.lang.Object clone()
Overrides:
clone in class AbstractBufferedImageOp

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object