Class ALcdCrossCountryRasterDistanceFunction

java.lang.Object
com.luciad.network.function.ALcdCrossCountryRasterDistanceFunction
All Implemented Interfaces:
ILcdCrossCountryDistanceFunction

public abstract class ALcdCrossCountryRasterDistanceFunction extends Object implements ILcdCrossCountryDistanceFunction
ALcdCrossCountryRasterDistanceFunction is an abstract class which can be used to implement distance functions that are based on an ILcdRaster and compute values using only the raster values along the line between start and end point.

To use this class only the computeDistance(com.luciad.shape.ILcdPoint, double, com.luciad.shape.ILcdPoint, double) must still be implemented. This method will be called from the ILcdCrossCountryDistanceFunction.computeDistance(com.luciad.shape.ILcdPoint, com.luciad.shape.ILcdPoint) implementation of this class.

Since:
9.1
  • Constructor Details

    • ALcdCrossCountryRasterDistanceFunction

      public ALcdCrossCountryRasterDistanceFunction(ILcdRaster aRaster)
      Constructs a new ALcdCrossCountryRasterDistanceFunction based on aRaster. The distances will be computed in the ALcdCrossCountryRasterDistanceFunction.ComputationMode.PRECISE mode.
      Parameters:
      aRaster - the ILcdRaster the distance function is based on
  • Method Details

    • getComputationMode

      Returns the mode in which the distance computations are performed.
      Returns:
      the mode in which the distance computations are performed
    • setComputationMode

      public void setComputationMode(ALcdCrossCountryRasterDistanceFunction.ComputationMode aComputationMode)
      Sets the mode in which the distance computations are be performed.
      Parameters:
      aComputationMode - the mode in which the distance computations should be performed
      Throws:
      NullPointerException - if the specified computation mode is null
    • getRaster

      public ILcdRaster getRaster()
      Returns the ILcdRaster on which this distance function is based.
      Returns:
      the ILcdRaster on which this distance function is based
    • computeDistance

      protected abstract double computeDistance(ILcdPoint aStartPoint, double aStartValue, ILcdPoint aEndPoint, double aEndValue)
      Computes the distance between 2 points.
      Parameters:
      aStartPoint - the start point
      aStartValue - the raster value at the start point
      aEndPoint - the end point
      aEndValue - the raster value at the end point
      Returns:
      the distance between aStartPoint and aEndPoint.
    • computeDistance

      public double computeDistance(ILcdPoint aStartPoint, ILcdPoint aEndPoint)
      This method will call the computeDistance(com.luciad.shape.ILcdPoint, double, com.luciad.shape.ILcdPoint, double) method a number of times, depending on the computation mode, to compute the distance between the specified points.
      Specified by:
      computeDistance in interface ILcdCrossCountryDistanceFunction
      Parameters:
      aStartPoint - the start point.
      aEndPoint - the end point.
      Returns:
      the distance from aStartPoint to aEndPoint.
    • getBounds

      public ILcdBounds getBounds()
      Returns the bounds of the ILcdRaster on which this distance function is based.
      Specified by:
      getBounds in interface ILcdCrossCountryDistanceFunction
      Returns:
      the bounds in which this function can compute distances.