Class DiffuseLightingRable8Bit
- java.lang.Object
-
- org.apache.batik.ext.awt.image.renderable.AbstractRable
-
- org.apache.batik.ext.awt.image.renderable.AbstractColorInterpolationRable
-
- org.apache.batik.ext.awt.image.renderable.DiffuseLightingRable8Bit
-
- All Implemented Interfaces:
java.awt.image.renderable.RenderableImage
,DiffuseLightingRable
,Filter
,FilterColorInterpolation
public class DiffuseLightingRable8Bit extends AbstractColorInterpolationRable implements DiffuseLightingRable
Implementation of the DiffuseLightRable interface.- Version:
- $Id: DiffuseLightingRable8Bit.java 1733416 2016-03-03 07:07:13Z gadams $
-
-
Field Summary
Fields Modifier and Type Field Description private double
kd
Diffuse constantprivate float[]
kernelUnitLength
The dx/dy to use in user space for the sobel gradient.private Light
light
Light used for the diffuse lighting computationsprivate java.awt.geom.Rectangle2D
litRegion
Lit Areaprivate double
surfaceScale
Surface Scale-
Fields inherited from class org.apache.batik.ext.awt.image.renderable.AbstractColorInterpolationRable
csLinear
-
Fields inherited from class org.apache.batik.ext.awt.image.renderable.AbstractRable
props, srcs, stamp
-
-
Constructor Summary
Constructors Constructor Description DiffuseLightingRable8Bit(Filter src, java.awt.geom.Rectangle2D litRegion, Light light, double kd, double surfaceScale, double[] kernelUnitLength)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.awt.image.RenderedImage
createRendering(java.awt.image.renderable.RenderContext rc)
java.awt.geom.Rectangle2D
getBounds2D()
Returns this filter's boundsdouble
getKd()
double[]
getKernelUnitLength()
Returns the min [dx,dy] distance in user space for evalutation of the sobel gradient.Light
getLight()
java.awt.geom.Rectangle2D
getLitRegion()
Returns this filter's litRegionFilter
getSource()
Returns the source to be filtereddouble
getSurfaceScale()
void
setKd(double kd)
Sets the diffuse constant, or kdvoid
setKernelUnitLength(double[] kernelUnitLength)
Sets the min [dx,dy] distance in user space for evaluation of the sobel gradient.void
setLight(Light light)
void
setLitRegion(java.awt.geom.Rectangle2D litRegion)
Set this filter's litRegionvoid
setSource(Filter src)
Sets the source to be filteredvoid
setSurfaceScale(double surfaceScale)
Sets the surface scale-
Methods inherited from class org.apache.batik.ext.awt.image.renderable.AbstractColorInterpolationRable
convertSourceCS, convertSourceCS, getOperationColorSpace, isColorSpaceLinear, setColorSpaceLinear
-
Methods inherited from class org.apache.batik.ext.awt.image.renderable.AbstractRable
createDefaultRendering, createScaledRendering, getDependencyRegion, getDirtyRegion, getHeight, getMinX, getMinY, getProperty, getPropertyNames, getSources, getTimeStamp, getWidth, init, init, init, init, isDynamic, touch
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.batik.ext.awt.image.renderable.Filter
getDependencyRegion, getDirtyRegion, getTimeStamp
-
Methods inherited from interface org.apache.batik.ext.awt.image.renderable.FilterColorInterpolation
getOperationColorSpace, isColorSpaceLinear, setColorSpaceLinear
-
-
-
-
Field Detail
-
surfaceScale
private double surfaceScale
Surface Scale
-
kd
private double kd
Diffuse constant
-
light
private Light light
Light used for the diffuse lighting computations
-
litRegion
private java.awt.geom.Rectangle2D litRegion
Lit Area
-
kernelUnitLength
private float[] kernelUnitLength
The dx/dy to use in user space for the sobel gradient.
-
-
Method Detail
-
getSource
public Filter getSource()
Returns the source to be filtered- Specified by:
getSource
in interfaceDiffuseLightingRable
-
setSource
public void setSource(Filter src)
Sets the source to be filtered- Specified by:
setSource
in interfaceDiffuseLightingRable
-
getBounds2D
public java.awt.geom.Rectangle2D getBounds2D()
Returns this filter's bounds- Specified by:
getBounds2D
in interfaceFilter
- Overrides:
getBounds2D
in classAbstractRable
-
getLitRegion
public java.awt.geom.Rectangle2D getLitRegion()
Returns this filter's litRegion- Specified by:
getLitRegion
in interfaceDiffuseLightingRable
- Returns:
- the litRegion for this filter
-
setLitRegion
public void setLitRegion(java.awt.geom.Rectangle2D litRegion)
Set this filter's litRegion- Specified by:
setLitRegion
in interfaceDiffuseLightingRable
-
getLight
public Light getLight()
- Specified by:
getLight
in interfaceDiffuseLightingRable
- Returns:
- Light object used for the diffuse lighting
-
setLight
public void setLight(Light light)
- Specified by:
setLight
in interfaceDiffuseLightingRable
- Parameters:
light
- New Light object
-
getSurfaceScale
public double getSurfaceScale()
- Specified by:
getSurfaceScale
in interfaceDiffuseLightingRable
- Returns:
- surfaceScale
-
setSurfaceScale
public void setSurfaceScale(double surfaceScale)
Sets the surface scale- Specified by:
setSurfaceScale
in interfaceDiffuseLightingRable
-
getKd
public double getKd()
- Specified by:
getKd
in interfaceDiffuseLightingRable
- Returns:
- diffuse constant, or kd.
-
setKd
public void setKd(double kd)
Sets the diffuse constant, or kd- Specified by:
setKd
in interfaceDiffuseLightingRable
-
getKernelUnitLength
public double[] getKernelUnitLength()
Returns the min [dx,dy] distance in user space for evalutation of the sobel gradient.- Specified by:
getKernelUnitLength
in interfaceDiffuseLightingRable
-
setKernelUnitLength
public void setKernelUnitLength(double[] kernelUnitLength)
Sets the min [dx,dy] distance in user space for evaluation of the sobel gradient. If set to zero or null then device space will be used.- Specified by:
setKernelUnitLength
in interfaceDiffuseLightingRable
-
createRendering
public java.awt.image.RenderedImage createRendering(java.awt.image.renderable.RenderContext rc)
- Specified by:
createRendering
in interfacejava.awt.image.renderable.RenderableImage
-
-