Class AbstractMathTransform.Inverse

  • All Implemented Interfaces:
    Serializable, MathTransform
    Enclosing class:
    AbstractMathTransform

    protected abstract class AbstractMathTransform.Inverse
    extends AbstractMathTransform
    implements Serializable
    Default implementation for inverse math transform. This inner class is the inverse of the enclosing MathTransform. It is serializable only if the enclosing math transform is also serializable.
    Since:
    2.0
    Author:
    Martin Desruisseaux (IRD)
    See Also:
    Serialized Form
    • Constructor Detail

      • Inverse

        protected Inverse()
        Constructs an inverse math transform.
    • Method Detail

      • getName

        public String getName()
        Returns a name for this math transform (never null). The default implementation returns the direct transform name concatenated with localized flavor (when available) of "(Inverse transform)".
        Overrides:
        getName in class AbstractMathTransform
        Returns:
        A name for this math transform (never null).
        Since:
        2.5
      • getSourceDimensions

        public int getSourceDimensions()
        Gets the dimension of input points. The default implementation returns the dimension of output points of the enclosing math transform.
        Specified by:
        getSourceDimensions in interface MathTransform
        Specified by:
        getSourceDimensions in class AbstractMathTransform
        Returns:
        The dimension of input points.
      • getTargetDimensions

        public int getTargetDimensions()
        Gets the dimension of output points. The default implementation returns the dimension of input points of the enclosing math transform.
        Specified by:
        getTargetDimensions in interface MathTransform
        Specified by:
        getTargetDimensions in class AbstractMathTransform
        Returns:
        The dimension of output points.
      • derivative

        public Matrix derivative​(Point2D point)
                          throws TransformException
        Gets the derivative of this transform at a point. The default implementation compute the inverse of the matrix returned by the enclosing math transform.
        Overrides:
        derivative in class AbstractMathTransform
        Parameters:
        point - The coordinate point where to evaluate the derivative.
        Returns:
        The derivative at the specified point as a 2×2 matrix.
        Throws:
        TransformException - if the derivative can't be evaluated at the specified point.
        See Also:
        MathTransform2D.derivative(Point2D)
      • derivative

        public Matrix derivative​(Position point)
                          throws TransformException
        Gets the derivative of this transform at a point. The default implementation compute the inverse of the matrix returned by the enclosing math transform.
        Specified by:
        derivative in interface MathTransform
        Overrides:
        derivative in class AbstractMathTransform
        Parameters:
        point - The coordinate point where to evaluate the derivative.
        Returns:
        The derivative at the specified point (never null).
        Throws:
        TransformException - if the derivative can't be evaluated at the specified point.
      • inverse

        public MathTransform inverse()
        Returns the inverse of this math transform, which is the enclosing math transform. This behavior should not be changed since some implementation assume that the inverse of this is always AbstractMathTransform.this.
        Specified by:
        inverse in interface MathTransform
        Overrides:
        inverse in class AbstractMathTransform
        Returns:
        The inverse transform.
      • isIdentity

        public boolean isIdentity()
        Tests whether this transform does not move any points. The default implementation delegate this tests to the enclosing math transform.
        Specified by:
        isIdentity in interface MathTransform
        Overrides:
        isIdentity in class AbstractMathTransform
        Returns:
        true if this MathTransform is an identity transform; false otherwise.
      • equals

        public boolean equals​(Object object)
        Compares the specified object with this inverse math transform for equality. The default implementation tests if object in an instance of the same class than this, and then test their enclosing math transforms.
        Overrides:
        equals in class AbstractMathTransform
        Parameters:
        object - The object to compare with this transform.
        Returns:
        true if the given object is a transform of the same class and if, given identical source position, the transformed position would be the equals.