Class TransformWrapper2D

  • All Implemented Interfaces:
    java.io.Serializable, org.opengis.metadata.Identifier, org.opengis.referencing.IdentifiedObject, org.opengis.referencing.operation.CoordinateOperation, org.opengis.referencing.operation.MathTransform, org.opengis.referencing.operation.MathTransform2D, org.opengis.referencing.ReferenceIdentifier
    Direct Known Subclasses:
    ProjectionWrapper2D

    class TransformWrapper2D
    extends TransformWrapper
    implements org.opengis.referencing.operation.MathTransform2D
    Wraps a PROJ4J transform behind the equivalent GeoAPI interface for the two-dimensional case. The exact type of the operation (conversion, transformation or concatenated) is unknown.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private TransformWrapper2D inverse
      The inverse of this wrapper, computed when first requested.
      • Fields inherited from interface org.opengis.referencing.operation.CoordinateOperation

        COORDINATE_OPERATION_ACCURACY_KEY, DOMAIN_OF_VALIDITY_KEY, OPERATION_VERSION_KEY, SCOPE_KEY
      • Fields inherited from interface org.opengis.referencing.IdentifiedObject

        ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY
      • Fields inherited from interface org.opengis.metadata.Identifier

        AUTHORITY_KEY, CODE_KEY
      • Fields inherited from interface org.opengis.referencing.ReferenceIdentifier

        CODESPACE_KEY, VERSION_KEY
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.awt.Shape createTransformedShape​(java.awt.Shape shape)
      Transforms the given shape.
      org.opengis.referencing.operation.Matrix derivative​(java.awt.geom.Point2D point)
      Unsupported operation.
      int getSourceDimensions()
      {@return the number of dimensions of input coordinates, which is 2}.
      int getTargetDimensions()
      {@return the number of dimensions of output coordinates, which is 2}.
      org.opengis.referencing.operation.MathTransform2D inverse()
      {@return the inverse of this coordinate operation}.
      void transform​(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
      Transforms coordinate tuples in the given arrays in double precision.
      void transform​(double[] srcPts, int srcOff, float[] dstPts, int dstOff, int numPts)
      Transforms coordinate tuples in the given arrays, with target coordinates converted to single precision.
      void transform​(float[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
      Transforms coordinate tuples in the given arrays, with source coordinates converted from single precision.
      void transform​(float[] srcPts, int srcOff, float[] dstPts, int dstOff, int numPts)
      Transforms coordinate tuples in the given arrays in single precision.
      java.awt.geom.Point2D transform​(java.awt.geom.Point2D ptSrc, java.awt.geom.Point2D ptDst)
      Transforms the specified ptSrc and stores the result in ptDst.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.opengis.referencing.operation.CoordinateOperation

        getDomainOfValidity, getScope
      • Methods inherited from interface org.opengis.referencing.IdentifiedObject

        getAlias, getIdentifiers, getName, getRemarks, toWKT
      • Methods inherited from interface org.opengis.referencing.operation.MathTransform

        derivative, isIdentity, toWKT, transform
    • Field Detail

      • inverse

        private transient TransformWrapper2D inverse
        The inverse of this wrapper, computed when first requested.
        See Also:
        inverse()
    • Constructor Detail

      • TransformWrapper2D

        TransformWrapper2D​(CoordinateTransform impl)
        Creates a new wrapper for the given PROJ4J implementation.
    • Method Detail

      • getSourceDimensions

        public final int getSourceDimensions()
        {@return the number of dimensions of input coordinates, which is 2}. This number of dimensions is implied by the MathTransform2D interface implemented by this class.
        Specified by:
        getSourceDimensions in interface org.opengis.referencing.operation.MathTransform
      • getTargetDimensions

        public final int getTargetDimensions()
        {@return the number of dimensions of output coordinates, which is 2}. This number of dimensions is implied by the MathTransform2D interface implemented by this class.
        Specified by:
        getTargetDimensions in interface org.opengis.referencing.operation.MathTransform
      • transform

        public java.awt.geom.Point2D transform​(java.awt.geom.Point2D ptSrc,
                                               java.awt.geom.Point2D ptDst)
                                        throws org.opengis.referencing.operation.TransformException
        Transforms the specified ptSrc and stores the result in ptDst.
        Specified by:
        transform in interface org.opengis.referencing.operation.MathTransform2D
        Throws:
        org.opengis.referencing.operation.TransformException
      • transform

        public void transform​(double[] srcPts,
                              int srcOff,
                              double[] dstPts,
                              int dstOff,
                              int numPts)
                       throws org.opengis.referencing.operation.TransformException
        Transforms coordinate tuples in the given arrays in double precision. This is the most frequently used method.
        Specified by:
        transform in interface org.opengis.referencing.operation.MathTransform
        Throws:
        org.opengis.referencing.operation.TransformException
      • transform

        public void transform​(float[] srcPts,
                              int srcOff,
                              float[] dstPts,
                              int dstOff,
                              int numPts)
                       throws org.opengis.referencing.operation.TransformException
        Transforms coordinate tuples in the given arrays in single precision. This is a copy of the double-precision variant of this method with only cast added.
        Specified by:
        transform in interface org.opengis.referencing.operation.MathTransform
        Throws:
        org.opengis.referencing.operation.TransformException
      • transform

        public void transform​(float[] srcPts,
                              int srcOff,
                              double[] dstPts,
                              int dstOff,
                              int numPts)
                       throws org.opengis.referencing.operation.TransformException
        Transforms coordinate tuples in the given arrays, with source coordinates converted from single precision.
        Specified by:
        transform in interface org.opengis.referencing.operation.MathTransform
        Throws:
        org.opengis.referencing.operation.TransformException
      • transform

        public void transform​(double[] srcPts,
                              int srcOff,
                              float[] dstPts,
                              int dstOff,
                              int numPts)
                       throws org.opengis.referencing.operation.TransformException
        Transforms coordinate tuples in the given arrays, with target coordinates converted to single precision.
        Specified by:
        transform in interface org.opengis.referencing.operation.MathTransform
        Throws:
        org.opengis.referencing.operation.TransformException
      • createTransformedShape

        public java.awt.Shape createTransformedShape​(java.awt.Shape shape)
                                              throws org.opengis.referencing.operation.TransformException
        Transforms the given shape. This simple implementation transforms the control points. It does not check if some straight lines should be converted to curves.
        Specified by:
        createTransformedShape in interface org.opengis.referencing.operation.MathTransform2D
        Throws:
        org.opengis.referencing.operation.TransformException
      • derivative

        public org.opengis.referencing.operation.Matrix derivative​(java.awt.geom.Point2D point)
                                                            throws org.opengis.referencing.operation.TransformException
        Unsupported operation.
        Specified by:
        derivative in interface org.opengis.referencing.operation.MathTransform2D
        Throws:
        org.opengis.referencing.operation.TransformException
      • inverse

        public org.opengis.referencing.operation.MathTransform2D inverse()
        {@return the inverse of this coordinate operation}.
        Specified by:
        inverse in interface org.opengis.referencing.operation.MathTransform
        Specified by:
        inverse in interface org.opengis.referencing.operation.MathTransform2D