Class AffineTransform2D
- Object
-
- AffineTransform
-
- AffineTransform2D
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Matrix
,Cloneable
public class AffineTransform2D extends AffineTransform implements Matrix
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 theMatrix
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 inheritedinvert()
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, andisAffine()
would be useless.- Since:
- 2.3
- Author:
- Martin Desruisseaux (IRD)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int
SIZE
The matrix size, which is 3.-
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
Constructors Constructor Description AffineTransform2D()
Creates 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AffineTransform2D
clone()
Returns a clone of this affine transform.boolean
equals(Object obj)
double
getElement(int row, int column)
Retrieves the value at the specified row and column of this matrix.int
getNumCol()
Returns the number of colmuns in this matrix, which is always 3 in this implementation.int
getNumRow()
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.String
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 Detail
-
SIZE
public static final int SIZE
The matrix size, which is 3.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AffineTransform2D
public AffineTransform2D()
Creates a new identity matrix.
-
AffineTransform2D
public AffineTransform2D(AffineTransform transform)
Constructs a 3×3 matrix from the specified affine transform.
-
AffineTransform2D
public AffineTransform2D(Matrix matrix)
-
-
Method Detail
-
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
public String 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
public AffineTransform2D clone()
Returns a clone of this affine transform.- Specified by:
clone
in interfaceCloneable
- Specified by:
clone
in interfaceMatrix
- Overrides:
clone
in classAffineTransform
- Returns:
- A clone of this matrix.
- See Also:
Object.clone()
-
equals
public boolean equals(Object obj)
- Overrides:
equals
in classAffineTransform
-
-