org.geotools.referencing.operation.matrix
Class AffineTransform2D

Object
  extended by AffineTransform
      extended by AffineTransform2D
All Implemented Interfaces:
Serializable, Cloneable, Matrix

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 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:
Serialized Form
Module:

Field Summary
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
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
 AffineTransform2D clone()
          Returns a clone of this affine transform.
 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, equals, getDeterminant, getMatrix, getRotateInstance, getRotateInstance, getScaleInstance, getScaleX, getScaleY, getShearInstance, getShearX, getShearY, getTranslateInstance, getTranslateX, getTranslateY, getType, hashCode, inverseTransform, inverseTransform, isIdentity, preConcatenate, rotate, rotate, scale, setToIdentity, setToRotation, setToRotation, setToScale, setToShear, setToTranslation, setTransform, setTransform, shear, transform, transform, transform, transform, transform, transform, translate
 
Methods inherited from class Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
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)
Creates a new matrix initialized to the same value than the specified one. The specified matrix size must be 3×3.

Method Detail

getNumRow

public final int getNumRow()
Returns the number of rows in this matrix, which is always 3 in this implementation.

Specified by:
getNumRow in interface Matrix

getNumCol

public final int getNumCol()
Returns the number of colmuns in this matrix, which is always 3 in this implementation.

Specified by:
getNumCol in interface Matrix

getElement

public double getElement(int row,
                         int column)
Retrieves the value at the specified row and column of this matrix.

Specified by:
getElement in interface Matrix
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 interface Matrix
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 class AffineTransform

clone

public AffineTransform2D clone()
Returns a clone of this affine transform.

Specified by:
clone in interface Matrix
Overrides:
clone in class AffineTransform


Copyright © 1996-2009 Geotools. All Rights Reserved.