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 Details

    • DistantLight

      public DistantLight(double azimuth, double elevation, Color color)
  • 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:
      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
      z - z-axis coordinate where the light should be computed
      L - 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:
      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
      lightRow - 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.