Class TLcdHypsometricNormalProvider

All Implemented Interfaces:

public class TLcdHypsometricNormalProvider extends Object implements ILcdHypsometricNormalProvider
This ILcdHypsometricNormalProvider estimates normals based on a rectangle of neighboring elevation values.
  • Constructor Details

    • TLcdHypsometricNormalProvider

      public TLcdHypsometricNormalProvider()
      Creates a new TLcdHypsometricNormalProvider with a 3x3 foot print.
    • TLcdHypsometricNormalProvider

      public TLcdHypsometricNormalProvider(Rectangle aFootPrint)
      Creates a new TLcdHypsometricNormalProvider with the given foot print.
      aFootPrint - the foot print for the computations.
  • Method Details

    • getFootPrint

      public Rectangle getFootPrint()
      Description copied from interface: ILcdHypsometricNormalProvider
      Returns the foot print of this provider. For instance, if the normal at each point is computed based on the surrounding 3x3 matrix values, the foot print is the rectangle (-1, -1, 3, 3).
      Specified by:
      getFootPrint in interface ILcdHypsometricNormalProvider
      the foot print of this provider.
    • computeNormal

      public void computeNormal(ILcdMatrixView aMatrixView, int aX, int aY, double aElevationScale, double[] aNormalSFCT)
      Description copied from interface: ILcdHypsometricNormalProvider
      Computes the normal at the given point. For reasons of efficiency, the normals are not necessarily normalized yet. It is up to the user to normalize them if necessary. The components of the normal may be NaN if they can't be computed, for instance if not all required elevations are known.
      Specified by:
      computeNormal in interface ILcdHypsometricNormalProvider
      aMatrixView - the matrix containing elevation values.
      aX - the x ordinate in the matrix.
      aY - the y ordinate in the matrix.
      aElevationScale - the scale of the elevation values in the tiles, expressed in matrix distance units per tile elevation unit.
      aNormalSFCT - an array of 3 doubles to store the computed normal.