Class DistantLight
java.lang.Object
org.apache.batik.ext.awt.image.AbstractLight
org.apache.batik.ext.awt.image.DistantLight
- All Implemented Interfaces:
Light
A light source placed at the infinity, such that the light angle is
constant over the whole surface.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoubledoublevoidgetLight(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.booleanMethods inherited from class AbstractLight
getColor, getLightMap, setColor, sRGBToLsRGB
-
Constructor Details
-
DistantLight
-
-
Method Details
-
getAzimuth
public double getAzimuth()- Returns:
- the DistantLight's azimuth
-
getElevation
public double getElevation()- Returns:
- the DistantLight's elevation
-
isConstant
public boolean isConstant()- Specified by:
isConstantin interfaceLight- Overrides:
isConstantin 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 computedz- z-axis coordinate where the light should be computedL- array of length 3 where the result is stored
-
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:
getLightRowin interfaceLight- Overrides:
getLightRowin 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.
-