Interface ILcdHypsometricNormalProvider

All Known Implementing Classes:
TLcdHypsometric2x2NormalProvider, TLcdHypsometric3x3NormalProvider, TLcdHypsometricNormalizedNormalProvider, TLcdHypsometricNormalProvider

public interface ILcdHypsometricNormalProvider
This interface specifies a method to compute normals based on matrices containing elevation data.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    computeNormal(ILcdMatrixView aMatrixView, int aX, int aY, double aElevationScale, double[] aNormalSFCT)
    Computes the normal at the given point.
    Returns the foot print of this provider.
  • Method Details

    • getFootPrint

      Rectangle getFootPrint()
      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).
      Returns:
      the foot print of this provider.
    • computeNormal

      void computeNormal(ILcdMatrixView aMatrixView, int aX, int aY, double aElevationScale, double[] aNormalSFCT)
      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.
      Parameters:
      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.