Class AffineTransform2D
Object
AffineTransform
XAffineTransform
AffineTransform2D
- All Implemented Interfaces:
Serializable
,Cloneable
,MathTransform
,MathTransform2D
,Cloneable
,LinearTransform
,Formattable
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:
-
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
ConstructorsConstructorDescriptionAffineTransform2D
(double m00, double m10, double m01, double m11, double m02, double m12) Constructs a newAffineTransform2D
from 6 values representing the 6 specifiable entries of the 3×3 transformation matrix.AffineTransform2D
(AffineTransform transform) Constructs a new affine transform with the same coefficient than the specified transform. -
Method Summary
Modifier and TypeMethodDescriptionprotected final void
Throws anUnsupportedOperationException
when a mutable method is invoked, sinceAffineTransform2D
must be immutable.clone()
Returns a new affine transform which is a modifiable copy of this transform.createTransformedShape
(Shape shape) Transforms the specified shape.derivative
(Point2D point) Gets the derivative of this transform at a point.derivative
(Position point) Gets the derivative of this transform at a point.boolean
Format the inner part of a Well Known Text (WKT) element.Returns this transform as an affine transform matrix.Returns the matrix elements as a group of parameters values.final int
Gets the dimension of input points, which is fixed to 2.final int
Gets the dimension of output points, which is fixed to 2.inverse()
Creates the inverse transform of this object.toString()
Returns the WKT representation of this transform.toWKT()
Returns the WKT for this transform.Transforms the specifiedptSrc
and stores the result inptDst
.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, getQuadrantRotateInstance, getQuadrantRotateInstance, getRotateInstance, getRotateInstance, getRotateInstance, getRotateInstance, getScaleInstance, getScaleX, getScaleY, getShearInstance, getShearX, getShearY, getTranslateInstance, getTranslateX, getTranslateY, getType, hashCode, inverseTransform, inverseTransform, invert, isIdentity, quadrantRotate, quadrantRotate, rotate, rotate, setToQuadrantRotation, setToQuadrantRotation, setToRotation, setToRotation, transform, transform, transform, transform, transform, transform
Methods inherited from interface LinearTransform
isIdentity
Methods inherited from interface MathTransform
isIdentity, transform, transform, transform, transform
Methods inherited from interface MathTransform2D
transform
-
Constructor Details
-
AffineTransform2D
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 newAffineTransform2D
from 6 values representing the 6 specifiable entries of the 3×3 transformation matrix. Those values are given unchanged to thesuper class constructor
.- Since:
- 2.5
-
-
Method Details
-
checkPermission
Throws anUnsupportedOperationException
when a mutable method is invoked, sinceAffineTransform2D
must be immutable.- Overrides:
checkPermission
in classXAffineTransform
- Throws:
UnsupportedOperationException
- if this affine transform is immutable.
-
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 interfaceMathTransform
- Returns:
- The dimension of input points.
-
getTargetDimensions
public final int getTargetDimensions()Gets the dimension of output points, which is fixed to 2.- Specified by:
getTargetDimensions
in interfaceMathTransform
- Returns:
- The dimension of output points.
-
transform
Transforms the specifiedptSrc
and stores the result inptDst
.- Specified by:
transform
in interfaceMathTransform
- Parameters:
ptSrc
- the specified coordinate point to be transformed.ptDst
- the specified coordinate point that stores the result of transformingptSrc
, ornull
.- Returns:
- the coordinate point after transforming
ptSrc
and storing the result inptDst
, or a newly created point ifptDst
was null.
-
createTransformedShape
Transforms the specified shape.- Specified by:
createTransformedShape
in interfaceMathTransform2D
- Overrides:
createTransformedShape
in classAffineTransform
- Parameters:
shape
- Shape to transform.- Returns:
- Transformed shape, or
shape
if this transform is the identity transform.
-
getMatrix
Returns this transform as an affine transform matrix.- Specified by:
getMatrix
in interfaceLinearTransform
- Returns:
- A copy of the underlying matrix.
-
derivative
Gets the derivative of this transform at a point. For an affine transform, the derivative is the same everywhere.- Specified by:
derivative
in interfaceMathTransform2D
- Parameters:
point
- The coordinate point where to evaluate the derivative. Null value is accepted only if the derivative is the same everywhere. For example affine transform accept null value since they produces identical derivative no matter the coordinate value. But most map projection will requires a non-null value.- Returns:
- The derivative at the specified point as a 2×2 matrix. This method never returns an internal object: changing the matrix will not change the state of this math transform.
-
derivative
Gets the derivative of this transform at a point. For an affine transform, the derivative is the same everywhere.- Specified by:
derivative
in interfaceMathTransform
- Parameters:
point
- The coordinate point where to evaluate the derivative. Null value is accepted only if the derivative is the same everywhere. For example affine transform accept null value since they produces identical derivative no matter the coordinate value. But most map projection will requires a non-null value.- Returns:
- The derivative at the specified point (never
null
). This method never returns an internal object: changing the matrix will not change the state of this math transform.
-
inverse
Creates the inverse transform of this object.- Specified by:
inverse
in interfaceMathTransform
- Specified by:
inverse
in interfaceMathTransform2D
- Returns:
- The inverse transform.
- Throws:
NoninvertibleTransformException
- if this transform can't be inverted.
-
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 newAffineTransform2D
instance because the later is unmodifiable, which make exact cloning useless.- Specified by:
clone
in interfaceCloneable
- Overrides:
clone
in classAffineTransform
- Returns:
- A copy of this object.
- See Also:
-
formatWKT
Format the inner part of a Well Known Text (WKT) element.- Specified by:
formatWKT
in interfaceFormattable
- Parameters:
formatter
- The formatter to use.- Returns:
- The WKT element name.
- See Also:
-
toWKT
Returns the WKT for this transform.- Specified by:
toWKT
in interfaceMathTransform
- Returns:
- The Well Known Text (WKT) for this object.
-
toString
Returns the WKT representation of this transform.- Overrides:
toString
in classAffineTransform
-
equals
- Overrides:
equals
in classAffineTransform
-