Package org.apache.batik.ext.awt.image
Class DistantLight
- java.lang.Object
-
- org.apache.batik.ext.awt.image.AbstractLight
-
- org.apache.batik.ext.awt.image.DistantLight
-
- All Implemented Interfaces:
Light
public class DistantLight extends AbstractLight
A light source placed at the infinity, such that the light angle is constant over the whole surface.
-
-
Constructor Summary
Constructors Constructor Description DistantLight(double azimuth, double elevation, java.awt.Color color)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getAzimuth()
double
getElevation()
void
getLight(double x, double y, double z, double[] L)
Computes the light vector in (x, y)double[][]
getLightRow(double x, double y, double dx, int width, double[][] z, double[][] lightRow)
Returns a row of the light map, starting at (x, y) with dx increments, a given width, and z elevations stored in the fourth component on the N array.boolean
isConstant()
-
Methods inherited from class org.apache.batik.ext.awt.image.AbstractLight
getColor, getLightMap, setColor, sRGBToLsRGB
-
-
-
-
Method Detail
-
getAzimuth
public double getAzimuth()
- Returns:
- the DistantLight's azimuth
-
getElevation
public double getElevation()
- Returns:
- the DistantLight's elevation
-
isConstant
public boolean isConstant()
- Specified by:
isConstant
in interfaceLight
- Overrides:
isConstant
in classAbstractLight
- Returns:
- true if the light is constant over the whole surface
-
getLight
public void getLight(double x, double y, double z, double[] L)
Computes the light vector in (x, y)- Parameters:
x
- x-axis coordinate where the light should be computedy
- y-axis coordinate where the light should be computedL
- array of length 3 where the result is storedz
- z-axis coordinate where the light should be computed
-
getLightRow
public double[][] getLightRow(double x, double y, double dx, int width, double[][] z, double[][] lightRow)
Returns a row of the light map, starting at (x, y) with dx increments, a given width, and z elevations stored in the fourth component on the N array.- Specified by:
getLightRow
in interfaceLight
- Overrides:
getLightRow
in classAbstractLight
- Parameters:
x
- x-axis coordinate where the light should be computedy
- y-axis coordinate where the light should be computeddx
- delta x for computing light vectors in user spacewidth
- number of samples to compute on the x axisz
- array containing the z elevation for all the pointslightRow
- array to store the light info to, if null it will be allocated for you and returned.- Returns:
- an array width columns where each element is an array of three components representing the x, y and z components of the light vector.
-
-