## 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
`DistantLight(double azimuth, double elevation, java.awt.Color color)`

Method Summary
`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`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DistantLight

    public DistantLight(double azimuth,
                        double elevation,
                        java.awt.Color color)

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 interface `Light`
  Overrides:
    `isConstant` in class `AbstractLight`
  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 computed
    `y` - y-axis coordinate where the light should be computed
    `L` - array of length 3 where the result is stored
    `z` - 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 interface `Light`
  Overrides:
    `getLightRow` in class `AbstractLight`
  Parameters:
    `x` - x-axis coordinate where the light should be computed
    `y` - y-axis coordinate where the light should be computed
    `dx` - delta x for computing light vectors in user space
    `width` - number of samples to compute on the x axis
    `z` - array containing the z elevation for all the points
  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.

Copyright © 2004 Apache Software Foundation. All Rights Reserved.