deegree 2.3 (2010/04/09 10:10 build-4-official)

org.deegree.crs.utilities
Class Matrix

java.lang.Object
  extended by javax.vecmath.GMatrix
      extended by org.deegree.crs.utilities.Matrix
All Implemented Interfaces:
Serializable, Cloneable

public class Matrix
extends javax.vecmath.GMatrix

The Matrix class TODO add documentation here

Version:
$Revision: 18195 $, $Date: 2009-06-18 17:55:39 +0200 (Do, 18. Jun 2009) $
Author:
Rutger Bezema, last edited by: $Author: mschneider $
See Also:
Serialized Form

Constructor Summary
Matrix(AffineTransform transform)
          Construct a 3×3 matrix from the specified affine transform.
Matrix(Axis[] srcAxis, Axis[] dstAxis)
          Construct an affine transform changing axis order.
Matrix(double[][] matrix)
          Constructs a new matrix from a two-dimensional array of doubles.
Matrix(javax.vecmath.GMatrix matrix)
          Constructs a new matrix and copies the initial values from the parameter matrix.
Matrix(int size)
          Construct a square identity matrix of size size × size.
Matrix(int numRow, int numCol)
          Construct a matrix of size numRow × numCol.
Matrix(int numRow, int numCol, double[] matrix)
          Constructs a numRow × numCol matrix initialized to the values in the matrix array.
 
Method Summary
 boolean isAffine()
          Returns true if this matrix is an affine transform.
 boolean isIdentity()
          Returns true if this matrix is an identity matrix.
 javax.vecmath.Matrix3d toAffineTransform()
          Copies the first 2x3 values into an affine transform object.
 
Methods inherited from class javax.vecmath.GMatrix
add, add, clone, copySubMatrix, epsilonEquals, epsilonEquals, equals, equals, get, get, get, get, get, getColumn, getColumn, getElement, getNumCol, getNumRow, getRow, getRow, hashCode, identityMinus, invert, invert, LUD, mul, mul, mul, mulTransposeBoth, mulTransposeLeft, mulTransposeRight, negate, negate, set, set, set, set, set, set, setColumn, setColumn, setElement, setIdentity, setRow, setRow, setScale, setSize, setZero, sub, sub, SVD, toString, trace, transpose, transpose
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Matrix

public Matrix(int size)
Construct a square identity matrix of size size × size.

Parameters:
size -

Matrix

public Matrix(int numRow,
              int numCol)
Construct a matrix of size numRow × numCol. Elements on the diagonal j==i are set to 1.

Parameters:
numRow -
numCol -

Matrix

public Matrix(int numRow,
              int numCol,
              double[] matrix)
Constructs a numRow × numCol matrix initialized to the values in the matrix array. The array values are copied in one row at a time in row major fashion. The array should be exactly numRow*numCol in length. Note that because row and column numbering begins with zero, row and numCol will be one larger than the maximum possible matrix index values.

Parameters:
numRow -
numCol -
matrix -

Matrix

public Matrix(double[][] matrix)
       throws IllegalArgumentException
Constructs a new matrix from a two-dimensional array of doubles.

Parameters:
matrix - Array of rows. Each row must have the same length.
Throws:
IllegalArgumentException - if the specified matrix is not regular (i.e. if all rows doesn't have the same length).

Matrix

public Matrix(javax.vecmath.GMatrix matrix)
Constructs a new matrix and copies the initial values from the parameter matrix.

Parameters:
matrix -

Matrix

public Matrix(AffineTransform transform)
Construct a 3×3 matrix from the specified affine transform.

Parameters:
transform -

Matrix

public Matrix(Axis[] srcAxis,
              Axis[] dstAxis)
Construct an affine transform changing axis order. The resulting affine transform will convert incoming coordinates into the given destination Axis. For example if source axis are given with (NORTH,WEST) and destination axis as (EAST,NORTH) assuming the axis use the same units, the resulted matrix will look like:
 0, 1, 0
-1, 0, 0
 0, 0, 1
Axis orientation can be inverted only. Rotating axis (e.g. from NORTH,WEST, to NORTH,DOWN, ) is not supported.

Parameters:
srcAxis - The set of axis orientation for source coordinate system.
dstAxis - The set of axis orientation for destination coordinate system.
Throws:
IllegalArgumentException - if the affine transform can't be created for some other reason.
Method Detail

isAffine

public final boolean isAffine()
Returns true if this matrix is an affine transform. A transform is affine if the matrix is square and last row contains only zeros, except in the last column which contains 1.

Returns:
true if this matrix is an affine transform.

toAffineTransform

public final javax.vecmath.Matrix3d toAffineTransform()
Copies the first 2x3 values into an affine transform object. If not enough values are available, an identity transform is returned.

Returns:
an affine transform for this matrix. or an identity if this matrix has not sufficient values.

isIdentity

public final boolean isIdentity()
Returns true if this matrix is an identity matrix.

Returns:
true if this matrix is an identity matrix.

deegree 2.3 (2010/04/09 10:10 build-4-official)

an open source project founded by lat/lon, Bonn, Germany.
For more information visit: http://www.deegree.org