Class AffineTransform2D
Object
AffineTransform
AffineTransform2D
- All Implemented Interfaces:
Serializable
,Cloneable
,Matrix
,Cloneable
An affine matrix of fixed 3×3 size. Here, the term "affine" means a matrix with the
last row fixed to
[0,0,1]
values. Such matrices are used for affine transformations in a 2D space.
This class both extends the Java2D AffineTransform
class and implements the Matrix
interface. It allows interoperbility for code that need to pass the same matrix to both Java2D API and
more generic API working with coordinates of arbitrary dimension.
This class do not implements the XMatrix
interface because the inherited invert()
method (new in
J2SE 1.6) declares a checked exception, setZero()
would be an unsupported operation (because it is not
possible to change the value at (2,2)
), transpose()
would fails in most cases, and isAffine()
would be useless.
- Since:
- 2.3
- Author:
- Martin Desruisseaux (IRD)
- See Also:
-
Field Summary
FieldsFields 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
ConstructorsConstructorDescriptionCreates a new identity matrix.AffineTransform2D
(AffineTransform transform) Constructs a 3×3 matrix from the specified affine transform.AffineTransform2D
(Matrix matrix) Creates a new matrix initialized to the same value than the specified one. -
Method Summary
Modifier and TypeMethodDescriptionclone()
Returns a clone of this affine transform.boolean
double
getElement
(int row, int column) Retrieves the value at the specified row and column of this matrix.final int
Returns the number of colmuns in this matrix, which is always 3 in this implementation.final int
Returns the number of rows in this matrix, which is always 3 in this implementation.void
setElement
(int row, int column, double value) Modifies the value at the specified row and column of this matrix.toString()
Returns a string representation of this matrix.Methods inherited from class AffineTransform
concatenate, createInverse, createTransformedShape, 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, preConcatenate, quadrantRotate, quadrantRotate, rotate, rotate, rotate, rotate, scale, setToIdentity, setToQuadrantRotation, setToQuadrantRotation, setToRotation, setToRotation, setToRotation, setToRotation, setToScale, setToShear, setToTranslation, setTransform, setTransform, shear, transform, transform, transform, transform, transform, transform, translate
Methods inherited from interface Matrix
isIdentity
-
Field Details
-
SIZE
public static final int SIZEThe matrix size, which is 3.- See Also:
-
-
Constructor Details
-
AffineTransform2D
public AffineTransform2D()Creates a new identity matrix. -
AffineTransform2D
Constructs a 3×3 matrix from the specified affine transform. -
AffineTransform2D
-
-
Method Details
-
getNumRow
public final int getNumRow()Returns the number of rows in this matrix, which is always 3 in this implementation. -
getNumCol
public final int getNumCol()Returns the number of colmuns in this matrix, which is always 3 in this implementation. -
getElement
public double getElement(int row, int column) Retrieves the value at the specified row and column of this matrix.- Specified by:
getElement
in interfaceMatrix
- Parameters:
row
- The row number to be retrieved (zero indexed).column
- The column number to be retrieved (zero indexed).- Returns:
- The value at the indexed element.
-
setElement
public void setElement(int row, int column, double value) Modifies the value at the specified row and column of this matrix.- Specified by:
setElement
in interfaceMatrix
- Parameters:
row
- The row number to be retrieved (zero indexed).column
- The column number to be retrieved (zero indexed).value
- The new matrix element value.
-
toString
Returns a string representation of this matrix. The returned string is implementation dependent. It is usually provided for debugging purposes only.- Overrides:
toString
in classAffineTransform
-
clone
Returns a clone of this affine transform. -
equals
- Overrides:
equals
in classAffineTransform
-