Class LinearInterpolator1D.Inverse

All Implemented Interfaces:
Serializable, Parameterized, LenientComparable, org.opengis.referencing.operation.MathTransform, org.opengis.referencing.operation.MathTransform1D
Enclosing class:
LinearInterpolator1D

private static final class LinearInterpolator1D.Inverse extends AbstractMathTransform1D.Inverse implements org.opengis.referencing.operation.MathTransform1D, Serializable
The inverse of the enclosing LinearInterpolator1D. Given a y value, this class performs a bilinear search for locating the lower and upper x values as integers, then interpolates the x real value.
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      For cross-version compatibility.
      See Also:
    • forward

      private final LinearInterpolator1D forward
      The enclosing transform.
  • Constructor Details

  • Method Details

    • inverse

      public org.opengis.referencing.operation.MathTransform1D inverse()
      Returns the inverse of this math transform.
      Specified by:
      inverse in interface org.opengis.referencing.operation.MathTransform
      Specified by:
      inverse in interface org.opengis.referencing.operation.MathTransform1D
      Specified by:
      inverse in class AbstractMathTransform1D.Inverse
      Returns:
      the inverse of this transform.
    • transform

      public org.opengis.referencing.operation.Matrix transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, boolean derivate) throws org.opengis.referencing.operation.TransformException
      Combines transform(double), derivative(double) in a single method call. The intent is to avoid to call Arrays.binarySearch(double[], double) twice for the same value.
      Overrides:
      transform in class AbstractMathTransform1D.Inverse
      Parameters:
      srcPts - the array containing the source coordinates (cannot be null).
      srcOff - the offset to the point to be transformed in the source array.
      dstPts - the array into which the transformed coordinates is returned. May be the same than srcPts. May be null if only the derivative matrix is desired.
      dstOff - the offset to the location of the transformed point that is stored in the destination array.
      derivate - true for computing the derivative, or false if not needed.
      Returns:
      the matrix of the transform derivative at the given source position, or null if the derivate argument is false.
      Throws:
      org.opengis.referencing.operation.TransformException - if the point cannot be transformed or if a problem occurred while calculating the derivative.
      See Also:
    • transform

      public double transform(double y)
      Locates by bilinear search and interpolates the x value for the given y.
      Specified by:
      transform in interface org.opengis.referencing.operation.MathTransform1D
    • derivative

      public double derivative(double y)
      Returns the derivative at the given y value.
      Specified by:
      derivative in interface org.opengis.referencing.operation.MathTransform1D