org.geotools.referencing.operation.transform
Class AffineTransform2D

Object
  extended by AffineTransform
      extended by XAffineTransform
          extended by AffineTransform2D
All Implemented Interfaces:
Serializable, Cloneable, LinearTransform, Formattable, MathTransform, MathTransform2D

public class AffineTransform2D
extends XAffineTransform
implements MathTransform2D, LinearTransform, Formattable, Cloneable

Transforms two-dimensional coordinate points using an affine transform. This class both extends AffineTransform and implements MathTransform2D, so it can be used as a bridge between Java2D and the referencing module.

Since:
2.5
Author:
Martin Desruisseaux (IRD)
See Also:
Serialized Form
Module:
modules/library/referencing (gt-referencing.jar)

Field Summary
 
Fields inherited from class AffineTransform
TYPE_FLIP, TYPE_GENERAL_ROTATION, TYPE_GENERAL_SCALE, TYPE_GENERAL_TRANSFORM, TYPE_IDENTITY, TYPE_MASK_ROTATION, TYPE_MASK_SCALE, TYPE_QUADRANT_ROTATION, TYPE_TRANSLATION, TYPE_UNIFORM_SCALE
 
Constructor Summary
AffineTransform2D(AffineTransform transform)
          Constructs a new affine transform with the same coefficient than the specified transform.
AffineTransform2D(double m00, double m10, double m01, double m11, double m02, double m12)
          Constructs a new AffineTransform2D from 6 values representing the 6 specifiable entries of the 3×3 transformation matrix.
 
Method Summary
protected  void checkPermission()
          Throws an UnsupportedOperationException when a mutable method is invoked, since AffineTransform2D must be immutable.
 AffineTransform clone()
          Returns a new affine transform which is a modifiable copy of this transform.
 Shape createTransformedShape(Shape shape)
          Transforms the specified shape.
 Matrix derivative(DirectPosition point)
          Gets the derivative of this transform at a point.
 Matrix derivative(Point2D point)
          Gets the derivative of this transform at a point.
 boolean equals(Object obj)
           
 String formatWKT(Formatter formatter)
          Format the inner part of a Well Known Text (WKT) element.
 Matrix getMatrix()
          Returns this transform as an affine transform matrix.
 ParameterValueGroup getParameterValues()
          Returns the matrix elements as a group of parameters values.
 int getSourceDimensions()
          Gets the dimension of input points, which is fixed to 2.
 int getTargetDimensions()
          Gets the dimension of output points, which is fixed to 2.
 MathTransform2D inverse()
          Creates the inverse transform of this object.
 String toString()
          Returns the WKT representation of this transform.
 String toWKT()
          Returns the WKT for this transform.
 DirectPosition transform(DirectPosition ptSrc, DirectPosition ptDst)
          Transforms the specified ptSrc and stores the result in ptDst.
 
Methods inherited from class XAffineTransform
concatenate, getFlip, getRotation, getScale, getScaleInstance, getScaleX0, getScaleY0, getSwapXY, inverseDeltaTransform, inverseTransform, isIdentity, isIdentity, preConcatenate, rotate, rotate, round, scale, setToIdentity, setToRotation, setToRotation, setToScale, setToShear, setToTranslation, setTransform, setTransform, shear, transform, transform, translate
 
Methods inherited from class AffineTransform
createInverse, deltaTransform, deltaTransform, getDeterminant, getMatrix, getRotateInstance, getRotateInstance, getScaleInstance, getScaleX, getScaleY, getShearInstance, getShearX, getShearY, getTranslateInstance, getTranslateX, getTranslateY, getType, hashCode, inverseTransform, inverseTransform, isIdentity, transform, transform, transform, transform, transform, transform
 
Methods inherited from class Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface MathTransform2D
transform
 
Methods inherited from interface MathTransform
isIdentity, transform, transform, transform, transform
 
Methods inherited from interface LinearTransform
isIdentity
 
Methods inherited from interface MathTransform
isIdentity, transform, transform, transform, transform
 

Constructor Detail

AffineTransform2D

public AffineTransform2D(AffineTransform transform)
Constructs a new affine transform with the same coefficient than the specified transform.


AffineTransform2D

public AffineTransform2D(double m00,
                         double m10,
                         double m01,
                         double m11,
                         double m02,
                         double m12)
Constructs a new AffineTransform2D from 6 values representing the 6 specifiable entries of the 3×3 transformation matrix. Those values are given unchanged to the super class constructor.

Since:
2.5
Method Detail

checkPermission

protected final void checkPermission()
                              throws UnsupportedOperationException
Throws an UnsupportedOperationException when a mutable method is invoked, since AffineTransform2D must be immutable.

Overrides:
checkPermission in class XAffineTransform
Throws:
UnsupportedOperationException - if this affine transform is immutable.

getParameterValues

public ParameterValueGroup getParameterValues()
Returns the matrix elements as a group of parameters values. The number of parameters depends on the matrix size. Only matrix elements different from their default value will be included in this group.

Returns:
A copy of the parameter values for this math transform.

getSourceDimensions

public final int getSourceDimensions()
Gets the dimension of input points, which is fixed to 2.

Specified by:
getSourceDimensions in interface MathTransform

getTargetDimensions

public final int getTargetDimensions()
Gets the dimension of output points, which is fixed to 2.

Specified by:
getTargetDimensions in interface MathTransform

transform

public DirectPosition transform(DirectPosition ptSrc,
                                DirectPosition ptDst)
Transforms the specified ptSrc and stores the result in ptDst.

Specified by:
transform in interface MathTransform

createTransformedShape

public Shape createTransformedShape(Shape shape)
Transforms the specified shape.

Specified by:
createTransformedShape in interface MathTransform2D
Overrides:
createTransformedShape in class AffineTransform
Parameters:
shape - Shape to transform.
Returns:
Transformed shape, or shape if this transform is the identity transform.

getMatrix

public Matrix getMatrix()
Returns this transform as an affine transform matrix.

Specified by:
getMatrix in interface LinearTransform
Returns:
A copy of the underlying matrix.

derivative

public Matrix derivative(Point2D point)
Gets the derivative of this transform at a point. For an affine transform, the derivative is the same everywhere.

Specified by:
derivative in interface MathTransform2D

derivative

public Matrix derivative(DirectPosition point)
Gets the derivative of this transform at a point. For an affine transform, the derivative is the same everywhere.

Specified by:
derivative in interface MathTransform

inverse

public MathTransform2D inverse()
                        throws NoninvertibleTransformException
Creates the inverse transform of this object.

Specified by:
inverse in interface MathTransform
Specified by:
inverse in interface MathTransform2D
Throws:
NoninvertibleTransformException - if this transform can't be inverted.

clone

public AffineTransform clone()
Returns a new affine transform which is a modifiable copy of this transform. We override this method because it is defined in the super-class. However this implementation do not returns a new AffineTransform2D instance because the later is unmodifiable, which make exact cloning useless.

Overrides:
clone in class AffineTransform

formatWKT

public String formatWKT(Formatter formatter)
Format the inner part of a Well Known Text (WKT) element.

Specified by:
formatWKT in interface Formattable
Parameters:
formatter - The formatter to use.
Returns:
The WKT element name.

toWKT

public String toWKT()
Returns the WKT for this transform.

Specified by:
toWKT in interface MathTransform

toString

public String toString()
Returns the WKT representation of this transform.

Overrides:
toString in class AffineTransform

equals

public boolean equals(Object obj)
Overrides:
equals in class AffineTransform


Copyright © 1996-2009 Geotools. All Rights Reserved.