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 newAffineTransform2Dfrom 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 voidThrows anUnsupportedOperationExceptionwhen a mutable method is invoked, sinceAffineTransform2Dmust 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.booleanFormat 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 intGets the dimension of input points, which is fixed to 2.final intGets 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 specifiedptSrcand 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, translateMethods 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, transformMethods inherited from interface LinearTransform
isIdentityMethods inherited from interface MathTransform
isIdentity, transform, transform, transform, transformMethods 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 newAffineTransform2Dfrom 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 anUnsupportedOperationExceptionwhen a mutable method is invoked, sinceAffineTransform2Dmust be immutable.- Overrides:
checkPermissionin 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:
getSourceDimensionsin 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:
getTargetDimensionsin interfaceMathTransform- Returns:
- The dimension of output points.
-
transform
Transforms the specifiedptSrcand stores the result inptDst.- Specified by:
transformin 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
ptSrcand storing the result inptDst, or a newly created point ifptDstwas null.
-
createTransformedShape
Transforms the specified shape.- Specified by:
createTransformedShapein interfaceMathTransform2D- Overrides:
createTransformedShapein classAffineTransform- Parameters:
shape- Shape to transform.- Returns:
- Transformed shape, or
shapeif this transform is the identity transform.
-
getMatrix
Returns this transform as an affine transform matrix.- Specified by:
getMatrixin 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:
derivativein 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:
derivativein 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:
inversein interfaceMathTransform- Specified by:
inversein 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 newAffineTransform2Dinstance because the later is unmodifiable, which make exact cloning useless.- Specified by:
clonein interfaceCloneable- Overrides:
clonein classAffineTransform- Returns:
- A copy of this object.
- See Also:
-
formatWKT
Format the inner part of a Well Known Text (WKT) element.- Specified by:
formatWKTin interfaceFormattable- Parameters:
formatter- The formatter to use.- Returns:
- The WKT element name.
- See Also:
-
toWKT
Returns the WKT for this transform.- Specified by:
toWKTin interfaceMathTransform- Returns:
- The Well Known Text (WKT) for this object.
-
toString
Returns the WKT representation of this transform.- Overrides:
toStringin classAffineTransform
-
equals
- Overrides:
equalsin classAffineTransform
-