It is not a {@code MatrixSIS} goal to provide all possible Matrix operations, as there is too many of them. + * This interface focuses only on basic operations needed for referencing by coordinates + * ({@link #negate()}, {@link #transpose()}, {@link #inverse()}, {@link #multiply(Matrix)}), + * completed by some operations more specific to referencing by coordinates + * ({@link #isAffine()}, {@link #normalizeColumns()}).

+ * + * @author Martin Desruisseaux (IRD, Geomatys) + * @since 0.4 (derived from geotk-2.2) + * @version 0.4 + * @module + * + * @see Matrices#toSIS(Matrix) + */ +public interface MatrixSIS extends Matrix, LenientComparable { + /** + * Returns {@code true} if this matrix represents an affine transform. + * A transform is affine if the matrix is square and its last row contains + * only zeros, except in the last column which contains 1. + * + *

In the two dimensional case, the matrix for an affine transform is:

+ * + *

+ * + * @return {@code true} if this matrix is affine. + */ + boolean isAffine(); + + /** + * Returns {@code true} if this matrix is close to an identity matrix, given a tolerance threshold. + * This method is equivalent to computing the difference between this matrix and an identity + * matrix of identical size, and returning {@code true} if and only if all differences are + * smaller than or equal to {@code tolerance}. + * + * @param tolerance The tolerance value, or 0 for a strict comparison. + * @return {@code true} if this matrix is close to the identity matrix given the tolerance threshold. + */ + boolean isIdentity(double tolerance); + + /** + * Sets this matrix to zero everywhere except for the elements on the diagonal, which are set to 1. + * If this matrix contains more rows than columns, then the extra rows will contain only zero values. + * If this matrix contains more columns than rows, then the extra columns will contain only zero values. + */ + void setToIdentity(); + + /** + * Sets all the values in this matrix to zero. + */ + void setToZero(); + + /** + * Negates the values of this matrix: {@code this} = {@code -this}. + */ + void negate(); + + /** + * Sets the value of this matrix to its transpose. + */ + void transpose(); + + /** + * Normalizes all columns in-place. Each columns in this matrix is considered as a vector. + * For each column (vector), this method computes the magnitude (vector length) as the square + * root of the sum of all square values. Then, all values in the column are divided by that + * magnitude. + * + *

This method is useful when the matrix is a + * {@linkplain org.opengis.referencing.operation.MathTransform#derivative transform derivative}. + * In such matrix, each column is a vector representing the displacement in target space when an + * ordinate in the source space is increased by one. Invoking this method turns those vectors + * into unitary vectors, which is useful for forming the basis of a new coordinate system.

+ */ + void normalizeColumns(); + + /** + * Returns a new matrix which is the result of multiplying this matrix with the specified one. + * In other words, returns {@code this} Ã {@code matrix}. + * + *

In the context of coordinate transformations, this is equivalent to + * {@link java.awt.geom.AffineTransform#concatenate AffineTransform.concatenate(â¦)}: + * first transforms by the supplied transform and then transform the result by the original transform.

+ * + * @param matrix The matrix to multiply to this matrix. + * @return The result of {@code this} Ã {@code matrix}. + * @throws MismatchedMatrixSizeException if the number of rows in the given matrix is not equals to the + * number of columns in this matrix. + */ + MatrixSIS multiply(Matrix matrix) throws MismatchedMatrixSizeException; + + /** + * Returns the inverse of this matrix. + * + * @return The inverse of this matrix. + * @throws SingularMatrixException if this matrix is not invertible. + */ + MatrixSIS inverse() throws SingularMatrixException; + + /** + * Compares the given matrices for equality, using the given absolute tolerance threshold. + * The given matrix does not need to be the same implementation class than this matrix. + * + *

The matrix elements are compared as below:

+ *
+ *
• {@link Double#NaN} values are considered equals to all other NaN values.
• + *
• Infinite values are considered equal to other infinite values of the same sign.
• + *
• All other values are considered equal if the absolute value of their difference is + * smaller than or equals to the given threshold.
• + *
+ * + * @param matrix The matrix to compare. + * @param tolerance The tolerance value. + * @return {@code true} if this matrix is close enough to the given matrix given the tolerance value. + * + * @see Matrices#equals(Matrix, Matrix, double, boolean) + */ + boolean equals(Matrix matrix, double tolerance); + + /** + * Compares this matrix with the given object for equality. To be considered equal, the two + * objects must meet the following conditions, which depend on the {@code mode} argument: + * + *
+ *
• {@link ComparisonMode#STRICT STRICT}: the two matrices must be of the same class, + * have the same size and the same element values.
• + *
• {@link ComparisonMode#BY_CONTRACT BY_CONTRACT} or {@link ComparisonMode#IGNORE_METADATA + * IGNORE_METADATA}: the two matrices must have the same size and the same element values, + * but are not required to be the same implementation class (any {@link Matrix} is okay).
• + *
• {@link ComparisonMode#APPROXIMATIVE APPROXIMATIVE}: the two matrices must have + * the same size, but the element values can differ up to some threshold. The threshold + * value is determined empirically and may change in future SIS versions.
• + *

+ * + * @author Martin Desruisseaux (IRD, Geomatys) + * @since 0.4 (derived from geotk-2.2) + * @version 0.4 + * @module + */ +package org.apache.sis.math.matrix; Propchange: sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/math/matrix/package-info.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/math/matrix/package-info.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: sis/ip-review/AffineMatrix3.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/AffineMatrix3.xhtml?rev=1521150&view=auto ============================================================================== --- sis/ip-review/AffineMatrix3.xhtml (added) +++ sis/ip-review/AffineMatrix3.xhtml Mon Sep 9 15:02:45 2013 @@ -0,0 +1,41 @@ + + + + + AffineMatrix3 history + + + +
+

# AffineMatrix3 history

+

Click on the commit message for inspecting the `diff` and how the code has been rewritten.

+

Command line:

+
`svn log -r31996:1 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/matrix/AffineTransform2D.java`
+ + + + + + + + + + + + + + + + + + + + + + +
Rev.DateAuthorMessage
306412008-06-12acusterCopyright headers: lib/referencing, this time with feeling (and the el in Toolkit)
302582008-05-08acusterReshuffle the top level repo: drop uDig, move up trunk, tags, and branches.
302572008-05-08acusterMove trunk/gt/ directory contents up to trunk/ and drop gt
289222008-01-24acusterBump the (at)since version to 2.5 since WKTParser was cut from 2.4
285402007-12-29acusterHide buttons which are not yet used
282672007-12-06desruisseauxGeoTools trunk now build against GeoAPI 2.2-SNAPSHOT.
280812007-11-27desruisseauxJava 5 constructs: replaced some StringBuffer by StringBuilder in order to avoid unecessary synchronisation; rely on auto-boxing in order to give a chance to the JVM to reuse its cached values.
275752007-10-22desruisseauxConverted Java source files from ISO-LATIN-1 encoding to UTF-8 (GEOT-1516).
244932007-02-17desruisseauxCleaning in 'isIdentity(double)' methods. Note that AbstractMathTransform.isIdentity(double) may move in the LinearTransform interface, so we are marking them as deprecated for now and will create a new LinearTransform.isIdentity(double) method in a next commit.
244852007-02-16simboss-first bunch of changes for the alignment of trunk with 2.3.x
223272006-10-23desruisseauxGEOT-982: regroup 'module', 'plugin', 'ext' and 'unsupported' in a common directory.
223152006-10-22desruisseauxReorganisation of directory tree structure (GEOT-982) phase 1: moved 'src' to 'src/main/java'.
208742006-08-07jgarnettip review
179642006-02-10desruisseauxSlight simplification in the management of affine transform in ReferencedCanvas2D.
+
+ + Propchange: sis/ip-review/AffineMatrix3.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/AffineMatrix3.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/Matrix1.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/Matrix1.xhtml?rev=1521150&view=auto ============================================================================== --- sis/ip-review/Matrix1.xhtml (added) +++ sis/ip-review/Matrix1.xhtml Mon Sep 9 15:02:45 2013 @@ -0,0 +1,46 @@ + + + + + Matrix1 history + + + +
+

# Matrix1 history

+

Click on the commit message for inspecting the `diff` and how the code has been rewritten.

+

Command line:

+
`svn log -r31996:1 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/matrix/Matrix1.java`
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rev.DateAuthorMessage
306412008-06-12acusterCopyright headers: lib/referencing, this time with feeling (and the el in Toolkit)
302582008-05-08acusterReshuffle the top level repo: drop uDig, move up trunk, tags, and branches.
302572008-05-08acusterMove trunk/gt/ directory contents up to trunk/ and drop gt
297692008-04-02desruisseauxRenamed TestScript as ScriptRunner. Renamed XMatrix.epsilonEquals(...) as XMatrix.equals(...) in order to avoid ambiguity with GMatrix.epsilonEquals(...) at compile time.
297682008-04-02desruisseauxUpgrated the metadata and referencing tests to JUnit 4.
289222008-01-24acusterBump the (at)since version to 2.5 since WKTParser was cut from 2.4
285402007-12-29acusterHide buttons which are not yet used
282672007-12-06desruisseauxGeoTools trunk now build against GeoAPI 2.2-SNAPSHOT.
280692007-11-27desruisseauxJava 5 generics in org.geotools.image.io, and partially in org.geotools.parameters.
275752007-10-22desruisseauxConverted Java source files from ISO-LATIN-1 encoding to UTF-8 (GEOT-1516).
244932007-02-17desruisseauxCleaning in 'isIdentity(double)' methods. Note that AbstractMathTransform.isIdentity(double) may move in the LinearTransform interface, so we are marking them as deprecated for now and will create a new LinearTransform.isIdentity(double) method in a next commit.
223272006-10-23desruisseauxGEOT-982: regroup 'module', 'plugin', 'ext' and 'unsupported' in a common directory.
223152006-10-22desruisseauxReorganisation of directory tree structure (GEOT-982) phase 1: moved 'src' to 'src/main/java'.
208742006-08-07jgarnettip review
179642006-02-10desruisseauxSlight simplification in the management of affine transform in ReferencedCanvas2D.
176602006-01-18desruisseauxFixed SVN attributes, including the addition of URL attribute.
153502005-08-16desruisseauxMerged the 'split-main' branch to trunk (GEOT-662)
153252005-08-13desruisseauxCreated a matrix package on top of vecmath / Fixed 'getPositionalAccuracy' issues
+
+ + Propchange: sis/ip-review/Matrix1.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/Matrix1.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/Matrix2.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/Matrix2.xhtml?rev=1521150&view=auto ============================================================================== --- sis/ip-review/Matrix2.xhtml (added) +++ sis/ip-review/Matrix2.xhtml Mon Sep 9 15:02:45 2013 @@ -0,0 +1,47 @@ + + + + + Matrix2 history + + + +
+

# Matrix2 history

+

Click on the commit message for inspecting the `diff` and how the code has been rewritten.

+

Command line:

+
`svn log -r31996:1 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/matrix/Matrix2.java`
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rev.DateAuthorMessage
315312008-09-16desruisseauxJavadoc and bug fixes.
306412008-06-12acusterCopyright headers: lib/referencing, this time with feeling (and the el in Toolkit)
302582008-05-08acusterReshuffle the top level repo: drop uDig, move up trunk, tags, and branches.
302572008-05-08acusterMove trunk/gt/ directory contents up to trunk/ and drop gt
297692008-04-02desruisseauxRenamed TestScript as ScriptRunner. Renamed XMatrix.epsilonEquals(...) as XMatrix.equals(...) in order to avoid ambiguity with GMatrix.epsilonEquals(...) at compile time.
297682008-04-02desruisseauxUpgrated the metadata and referencing tests to JUnit 4.
289222008-01-24acusterBump the (at)since version to 2.5 since WKTParser was cut from 2.4
285402007-12-29acusterHide buttons which are not yet used
282672007-12-06desruisseauxGeoTools trunk now build against GeoAPI 2.2-SNAPSHOT.
280692007-11-27desruisseauxJava 5 generics in org.geotools.image.io, and partially in org.geotools.parameters.
275752007-10-22desruisseauxConverted Java source files from ISO-LATIN-1 encoding to UTF-8 (GEOT-1516).
244932007-02-17desruisseauxCleaning in 'isIdentity(double)' methods. Note that AbstractMathTransform.isIdentity(double) may move in the LinearTransform interface, so we are marking them as deprecated for now and will create a new LinearTransform.isIdentity(double) method in a next commit.
223272006-10-23desruisseauxGEOT-982: regroup 'module', 'plugin', 'ext' and 'unsupported' in a common directory.
223152006-10-22desruisseauxReorganisation of directory tree structure (GEOT-982) phase 1: moved 'src' to 'src/main/java'.
208742006-08-07jgarnettip review
179642006-02-10desruisseauxSlight simplification in the management of affine transform in ReferencedCanvas2D.
176602006-01-18desruisseauxFixed SVN attributes, including the addition of URL attribute.
153502005-08-16desruisseauxMerged the 'split-main' branch to trunk (GEOT-662)
153252005-08-13desruisseauxCreated a matrix package on top of vecmath / Fixed 'getPositionalAccuracy' issues
+
+ + Propchange: sis/ip-review/Matrix2.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/Matrix2.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/Matrix3.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/Matrix3.xhtml?rev=1521150&view=auto ============================================================================== --- sis/ip-review/Matrix3.xhtml (added) +++ sis/ip-review/Matrix3.xhtml Mon Sep 9 15:02:45 2013 @@ -0,0 +1,46 @@ + + + + + Matrix3 history + + + +
+

# Matrix3 history

+

Click on the commit message for inspecting the `diff` and how the code has been rewritten.

+

Command line:

+
`svn log -r31996:1 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/matrix/Matrix3.java`
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rev.DateAuthorMessage
306412008-06-12acusterCopyright headers: lib/referencing, this time with feeling (and the el in Toolkit)
302582008-05-08acusterReshuffle the top level repo: drop uDig, move up trunk, tags, and branches.
302572008-05-08acusterMove trunk/gt/ directory contents up to trunk/ and drop gt
297692008-04-02desruisseauxRenamed TestScript as ScriptRunner. Renamed XMatrix.epsilonEquals(...) as XMatrix.equals(...) in order to avoid ambiguity with GMatrix.epsilonEquals(...) at compile time.
297682008-04-02desruisseauxUpgrated the metadata and referencing tests to JUnit 4.
289222008-01-24acusterBump the (at)since version to 2.5 since WKTParser was cut from 2.4
285402007-12-29acusterHide buttons which are not yet used
282672007-12-06desruisseauxGeoTools trunk now build against GeoAPI 2.2-SNAPSHOT.
275752007-10-22desruisseauxConverted Java source files from ISO-LATIN-1 encoding to UTF-8 (GEOT-1516).
244932007-02-17desruisseauxCleaning in 'isIdentity(double)' methods. Note that AbstractMathTransform.isIdentity(double) may move in the LinearTransform interface, so we are marking them as deprecated for now and will create a new LinearTransform.isIdentity(double) method in a next commit.
223272006-10-23desruisseauxGEOT-982: regroup 'module', 'plugin', 'ext' and 'unsupported' in a common directory.
223152006-10-22desruisseauxReorganisation of directory tree structure (GEOT-982) phase 1: moved 'src' to 'src/main/java'.
208742006-08-07jgarnettip review
179642006-02-10desruisseauxSlight simplification in the management of affine transform in ReferencedCanvas2D.
178902006-02-06desruisseauxFirst draft of a partial port of J2D-renderer to a GO-1 implementation.
176602006-01-18desruisseauxFixed SVN attributes, including the addition of URL attribute.
153502005-08-16desruisseauxMerged the 'split-main' branch to trunk (GEOT-662)
153252005-08-13desruisseauxCreated a matrix package on top of vecmath / Fixed 'getPositionalAccuracy' issues
+
+ + Propchange: sis/ip-review/Matrix3.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/Matrix3.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/Matrix4.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/Matrix4.xhtml?rev=1521150&view=auto ============================================================================== --- sis/ip-review/Matrix4.xhtml (added) +++ sis/ip-review/Matrix4.xhtml Mon Sep 9 15:02:45 2013 @@ -0,0 +1,45 @@ + + + + + Matrix4 history + + + +
+

# Matrix4 history

+

Click on the commit message for inspecting the `diff` and how the code has been rewritten.

+

Command line:

+
`svn log -r31996:1 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/matrix/Matrix4.java`
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Rev.DateAuthorMessage
306412008-06-12acusterCopyright headers: lib/referencing, this time with feeling (and the el in Toolkit)
302582008-05-08acusterReshuffle the top level repo: drop uDig, move up trunk, tags, and branches.
302572008-05-08acusterMove trunk/gt/ directory contents up to trunk/ and drop gt
297692008-04-02desruisseauxRenamed TestScript as ScriptRunner. Renamed XMatrix.epsilonEquals(...) as XMatrix.equals(...) in order to avoid ambiguity with GMatrix.epsilonEquals(...) at compile time.
297682008-04-02desruisseauxUpgrated the metadata and referencing tests to JUnit 4.
289222008-01-24acusterBump the (at)since version to 2.5 since WKTParser was cut from 2.4
285402007-12-29acusterHide buttons which are not yet used
282672007-12-06desruisseauxGeoTools trunk now build against GeoAPI 2.2-SNAPSHOT.
275752007-10-22desruisseauxConverted Java source files from ISO-LATIN-1 encoding to UTF-8 (GEOT-1516).
244932007-02-17desruisseauxCleaning in 'isIdentity(double)' methods. Note that AbstractMathTransform.isIdentity(double) may move in the LinearTransform interface, so we are marking them as deprecated for now and will create a new LinearTransform.isIdentity(double) method in a next commit.
223272006-10-23desruisseauxGEOT-982: regroup 'module', 'plugin', 'ext' and 'unsupported' in a common directory.
223152006-10-22desruisseauxReorganisation of directory tree structure (GEOT-982) phase 1: moved 'src' to 'src/main/java'.
208742006-08-07jgarnettip review
179642006-02-10desruisseauxSlight simplification in the management of affine transform in ReferencedCanvas2D.
176602006-01-18desruisseauxFixed SVN attributes, including the addition of URL attribute.
153502005-08-16desruisseauxMerged the 'split-main' branch to trunk (GEOT-662)
153252005-08-13desruisseauxCreated a matrix package on top of vecmath / Fixed 'getPositionalAccuracy' issues
+
+ + Propchange: sis/ip-review/Matrix4.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/Matrix4.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/MatrixSIS.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/MatrixSIS.xhtml?rev=1521150&view=auto ============================================================================== --- sis/ip-review/MatrixSIS.xhtml (added) +++ sis/ip-review/MatrixSIS.xhtml Mon Sep 9 15:02:45 2013 @@ -0,0 +1,46 @@ + + + + + MatrixSIS history + + + +
+

# MatrixSIS history

+

Click on the commit message for inspecting the `diff` and how the code has been rewritten.

+

Command line:

+
`svn log -r31996:1 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/matrix/XMatrix.java`
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Rev.DateAuthorMessage
306412008-06-12acusterCopyright headers: lib/referencing, this time with feeling (and the el in Toolkit)
303132008-05-16desruisseauxChanged my mind about Utilities.shallowEquals(Object,Object) and renamed it as equals, since a few tests show that the compiler always select the best overloaded flavor working on primitive types (except if an argument is a boolean and the other a different primitive type). Updated a few references. Fixed a few javadoc warnings by explicit declaration of parameter and return values.
302582008-05-08acusterReshuffle the top level repo: drop uDig, move up trunk, tags, and branches.
302572008-05-08acusterMove trunk/gt/ directory contents up to trunk/ and drop gt
297692008-04-02desruisseauxRenamed TestScript as ScriptRunner. Renamed XMatrix.epsilonEquals(...) as XMatrix.equals(...) in order to avoid ambiguity with GMatrix.epsilonEquals(...) at compile time.
297682008-04-02desruisseauxUpgrated the metadata and referencing tests to JUnit 4.
289222008-01-24acusterBump the (at)since version to 2.5 since WKTParser was cut from 2.4
285402007-12-29acusterHide buttons which are not yet used
275752007-10-22desruisseauxConverted Java source files from ISO-LATIN-1 encoding to UTF-8 (GEOT-1516).
244932007-02-17desruisseauxCleaning in 'isIdentity(double)' methods. Note that AbstractMathTransform.isIdentity(double) may move in the LinearTransform interface, so we are marking them as deprecated for now and will create a new LinearTransform.isIdentity(double) method in a next commit.
244852007-02-16simboss-first bunch of changes for the alignment of trunk with 2.3.x
223272006-10-23desruisseauxGEOT-982: regroup 'module', 'plugin', 'ext' and 'unsupported' in a common directory.
223152006-10-22desruisseauxReorganisation of directory tree structure (GEOT-982) phase 1: moved 'src' to 'src/main/java'.
208742006-08-07jgarnettip review
179642006-02-10desruisseauxSlight simplification in the management of affine transform in ReferencedCanvas2D.
176602006-01-18desruisseauxFixed SVN attributes, including the addition of URL attribute.
153502005-08-16desruisseauxMerged the 'split-main' branch to trunk (GEOT-662)
153252005-08-13desruisseauxCreated a matrix package on top of vecmath / Fixed 'getPositionalAccuracy' issues
+
+ + Propchange: sis/ip-review/MatrixSIS.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/MatrixSIS.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/rev/20874/AffineMatrix3.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/rev/20874/AffineMatrix3.xhtml?rev=1521150&view=auto ============================================================================== --- sis/ip-review/rev/20874/AffineMatrix3.xhtml (added) +++ sis/ip-review/rev/20874/AffineMatrix3.xhtml Mon Sep 9 15:02:45 2013 @@ -0,0 +1,60 @@ + + + + + AffineMatrix3 changes for revisions 20873:20874 + + + +
+

# AffineMatrix3 changes for revisions 20873:20874

+

Changes in GeoTools header only. The removal of the "or (at your option) any later version" clause +must be keep in Geotk for every classes having contribution from a developer other than those who accepted re-licensing. +This header does not apply to Apache SIS, since the above-cited contributions are omitted.

+

Command line:

+
`svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r20873:20874 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/matrix/AffineTransform2D.java`
+ + + + +
Revision 20873Revision 20874
```/*
+ * Geotools 2 - OpenSource mapping toolkit
+ * (C) 2005, Geotools Project Managment Committee (PMC)
+ * (C) 2005, Institut de Recherche pour le DÃ©veloppement
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License as published by the Free Software Foundation; either
+ *    version 2.1 of the License, or (at your option) any later version.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+package org.geotools.referencing.operation.matrix;```
```/*
+ *    GeoTools - OpenSource mapping toolkit
+ *    http://geotools.org
+ *    (C) 2005-2006, GeoTools Project Managment Committee (PMC)
+ * (C) 2005, Institut de Recherche pour le DÃ©veloppement
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License as published by the Free Software Foundation;
+ *    version 2.1 of the License.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ */
+package org.geotools.referencing.operation.matrix;```
+
+ + Propchange: sis/ip-review/rev/20874/AffineMatrix3.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/rev/20874/AffineMatrix3.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/rev/20874/Matrix1.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/rev/20874/Matrix1.xhtml?rev=1521150&view=auto ============================================================================== --- sis/ip-review/rev/20874/Matrix1.xhtml (added) +++ sis/ip-review/rev/20874/Matrix1.xhtml Mon Sep 9 15:02:45 2013 @@ -0,0 +1,60 @@ + + + + + Matrix1 changes for revisions 20873:20874 + + + +
+

# Matrix1 changes for revisions 20873:20874

+

Changes in GeoTools header only. The removal of the "or (at your option) any later version" clause +must be keep in Geotk for every classes having contribution from a developer other than those who accepted re-licensing. +This header does not apply to Apache SIS, since the above-cited contributions are omitted.

+

Command line:

+
`svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r20873:20874 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/matrix/Matrix1.java`
+ + + + +
Revision 20873Revision 20874
```/*
+ * Geotools 2 - OpenSource mapping toolkit
+ * (C) 2005, Geotools Project Managment Committee (PMC)
+ * (C) 2005, Institut de Recherche pour le DÃ©veloppement
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License as published by the Free Software Foundation; either
+ *    version 2.1 of the License, or (at your option) any later version.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+package org.geotools.referencing.operation.matrix;```
```/*
+ *    GeoTools - OpenSource mapping toolkit
+ *    http://geotools.org
+ *    (C) 2005-2006, GeoTools Project Managment Committee (PMC)
+ * (C) 2005, Institut de Recherche pour le DÃ©veloppement
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License as published by the Free Software Foundation;
+ *    version 2.1 of the License.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ */
+package org.geotools.referencing.operation.matrix;```
+
+ + Propchange: sis/ip-review/rev/20874/Matrix1.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/rev/20874/Matrix1.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/rev/20874/Matrix2.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/rev/20874/Matrix2.xhtml?rev=1521150&view=auto ============================================================================== --- sis/ip-review/rev/20874/Matrix2.xhtml (added) +++ sis/ip-review/rev/20874/Matrix2.xhtml Mon Sep 9 15:02:45 2013 @@ -0,0 +1,60 @@ + + + + + Matrix2 changes for revisions 20873:20874 + + + +
+

# Matrix2 changes for revisions 20873:20874

+

Changes in GeoTools header only. The removal of the "or (at your option) any later version" clause +must be keep in Geotk for every classes having contribution from a developer other than those who accepted re-licensing. +This header does not apply to Apache SIS, since the above-cited contributions are omitted.

+

Command line:

+
`svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r20873:20874 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/matrix/Matrix2.java`
+ + + + +
Revision 20873Revision 20874
```/*
+ * Geotools 2 - OpenSource mapping toolkit
+ * (C) 2005, Geotools Project Managment Committee (PMC)
+ * (C) 2005, Institut de Recherche pour le DÃ©veloppement
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License as published by the Free Software Foundation; either
+ *    version 2.1 of the License, or (at your option) any later version.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+package org.geotools.referencing.operation.matrix;```
```/*
+ *    GeoTools - OpenSource mapping toolkit
+ *    http://geotools.org
+ *    (C) 2005-2006, GeoTools Project Managment Committee (PMC)
+ * (C) 2005, Institut de Recherche pour le DÃ©veloppement
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License as published by the Free Software Foundation;
+ *    version 2.1 of the License.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ */
+package org.geotools.referencing.operation.matrix;```
+
+ + Propchange: sis/ip-review/rev/20874/Matrix2.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/rev/20874/Matrix2.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/rev/20874/Matrix3.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/rev/20874/Matrix3.xhtml?rev=1521150&view=auto ============================================================================== --- sis/ip-review/rev/20874/Matrix3.xhtml (added) +++ sis/ip-review/rev/20874/Matrix3.xhtml Mon Sep 9 15:02:45 2013 @@ -0,0 +1,60 @@ + + + + + Matrix3 changes for revisions 20873:20874 + + + +
+

# Matrix3 changes for revisions 20873:20874

+

Changes in GeoTools header only. The removal of the "or (at your option) any later version" clause +must be keep in Geotk for every classes having contribution from a developer other than those who accepted re-licensing. +This header does not apply to Apache SIS, since the above-cited contributions are omitted.

+

Command line:

+
`svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r20873:20874 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/matrix/Matrix3.java`
+ + + + +
Revision 20873Revision 20874
```/*
+ * Geotools 2 - OpenSource mapping toolkit
+ * (C) 2005, Geotools Project Managment Committee (PMC)
+ * (C) 2005, Institut de Recherche pour le DÃ©veloppement
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License as published by the Free Software Foundation; either
+ *    version 2.1 of the License, or (at your option) any later version.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+package org.geotools.referencing.operation.matrix;```
```/*
+ *    GeoTools - OpenSource mapping toolkit
+ *    http://geotools.org
+ *    (C) 2005-2006, GeoTools Project Managment Committee (PMC)
+ * (C) 2005, Institut de Recherche pour le DÃ©veloppement
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License as published by the Free Software Foundation;
+ *    version 2.1 of the License.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ */
+package org.geotools.referencing.operation.matrix;```
+
+ + Propchange: sis/ip-review/rev/20874/Matrix3.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/rev/20874/Matrix3.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/rev/20874/Matrix4.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/rev/20874/Matrix4.xhtml?rev=1521150&view=auto ============================================================================== --- sis/ip-review/rev/20874/Matrix4.xhtml (added) +++ sis/ip-review/rev/20874/Matrix4.xhtml Mon Sep 9 15:02:45 2013 @@ -0,0 +1,60 @@ + + + + + Matrix4 changes for revisions 20873:20874 + + + +
+

# Matrix4 changes for revisions 20873:20874

+

Changes in GeoTools header only. The removal of the "or (at your option) any later version" clause +must be keep in Geotk for every classes having contribution from a developer other than those who accepted re-licensing. +This header does not apply to Apache SIS, since the above-cited contributions are omitted.

+

Command line:

+
`svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r20873:20874 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/matrix/Matrix4.java`
+ + + + +
Revision 20873Revision 20874
```/*
+ * Geotools 2 - OpenSource mapping toolkit
+ * (C) 2005, Geotools Project Managment Committee (PMC)
+ * (C) 2005, Institut de Recherche pour le DÃ©veloppement
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License as published by the Free Software Foundation; either
+ *    version 2.1 of the License, or (at your option) any later version.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+package org.geotools.referencing.operation.matrix;```
```/*
+ *    GeoTools - OpenSource mapping toolkit
+ *    http://geotools.org
+ *    (C) 2005-2006, GeoTools Project Managment Committee (PMC)
+ * (C) 2005, Institut de Recherche pour le DÃ©veloppement
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License as published by the Free Software Foundation;
+ *    version 2.1 of the License.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ */
+package org.geotools.referencing.operation.matrix;```
+
+ + Propchange: sis/ip-review/rev/20874/Matrix4.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/rev/20874/Matrix4.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/rev/20874/MatrixSIS.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/rev/20874/MatrixSIS.xhtml?rev=1521150&view=auto ============================================================================== --- sis/ip-review/rev/20874/MatrixSIS.xhtml (added) +++ sis/ip-review/rev/20874/MatrixSIS.xhtml Mon Sep 9 15:02:45 2013 @@ -0,0 +1,60 @@ + + + + + MatrixSIS changes for revisions 20873:20874 + + + +
+

# MatrixSIS changes for revisions 20873:20874

+

Changes in GeoTools header only. The removal of the "or (at your option) any later version" clause +must be keep in Geotk for every classes having contribution from a developer other than those who accepted re-licensing. +This header does not apply to Apache SIS, since the above-cited contributions are omitted.

+

Command line:

+
`svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r20873:20874 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/matrix/XMatrix.java`
+ + + + +
Revision 20873Revision 20874
```/*
+ * Geotools 2 - OpenSource mapping toolkit
+ * (C) 2005, Geotools Project Managment Committee (PMC)
+ * (C) 2005, Institut de Recherche pour le DÃ©veloppement
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License as published by the Free Software Foundation; either
+ *    version 2.1 of the License, or (at your option) any later version.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+package org.geotools.referencing.operation.matrix;```
```/*
+ *    GeoTools - OpenSource mapping toolkit
+ *    http://geotools.org
+ *    (C) 2005-2006, GeoTools Project Managment Committee (PMC)
+ * (C) 2005, Institut de Recherche pour le DÃ©veloppement
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License as published by the Free Software Foundation;
+ *    version 2.1 of the License.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ */
+package org.geotools.referencing.operation.matrix;```
+
+ + Propchange: sis/ip-review/rev/20874/MatrixSIS.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/rev/20874/MatrixSIS.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/rev/24485/AffineMatrix3.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/rev/24485/AffineMatrix3.xhtml?rev=1521150&view=auto ============================================================================== --- sis/ip-review/rev/24485/AffineMatrix3.xhtml (added) +++ sis/ip-review/rev/24485/AffineMatrix3.xhtml Mon Sep 9 15:02:45 2013 @@ -0,0 +1,34 @@ + + + + + AffineMatrix3 changes for revisions 24484:24485 + + + +
+

# AffineMatrix3 changes for revisions 24484:24485

+

This commit has not been ported to Geotk/SIS. There is no other commit by this contributor in this class.

+

Command line:

+
`svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r24484:24485 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/matrix/AffineTransform2D.java`
+ + + + +
Revision 24484Revision 24485
``` * @source \$URL\$
+ * @version \$Id\$
+ * @author Martin Desruisseaux
+ */
+public class AffineTransform2D extends AffineTransform implements Matrix {
+    /**```
``` * @source \$URL\$
+ * @version \$Id\$
+ * @author Martin Desruisseaux
+ * @author Simone Giannecchini
+ */
+public class AffineTransform2D extends AffineTransform implements Matrix {
+    /**```
+
+ + Propchange: sis/ip-review/rev/24485/AffineMatrix3.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/rev/24485/AffineMatrix3.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html Added: sis/ip-review/rev/24485/MatrixSIS.xhtml URL: http://svn.apache.org/viewvc/sis/ip-review/rev/24485/MatrixSIS.xhtml?rev=1521150&view=auto ============================================================================== --- sis/ip-review/rev/24485/MatrixSIS.xhtml (added) +++ sis/ip-review/rev/24485/MatrixSIS.xhtml Mon Sep 9 15:02:45 2013 @@ -0,0 +1,69 @@ + + + + + MatrixSIS changes for revisions 24484:24485 + + + +
+

# MatrixSIS changes for revisions 24484:24485

+

All methods added in this commit are inherited from the GeoAPI `Matrix` interface, +so they do not need to appear here. Furthermore the Javadoc is a copy-and-paste from implementation classes, +so the "which is always {@value #SIZE} in this implementation" sentence is inappropriate +for an interface. Those method declarations have been removed in Geotk and Apache SIS.

+

Command line:

+
`svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r24484:24485 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/matrix/XMatrix.java`
+ + + + + + +
Revision 24484Revision 24485
``` * @source \$URL\$
+ * @version \$Id\$
+ * @author Martin Desruisseaux
+ */
+public interface XMatrix extends Matrix {
+    /**```
``` * @source \$URL\$
+ * @version \$Id\$
+ * @author Martin Desruisseaux
+ * @author Simone Giannecchini
+ */
+public interface XMatrix extends Matrix {
+    /**```
```     * transform.
+     */
+    void multiply(Matrix matrix);
+}```
```     * transform.
+     */
+    void multiply(Matrix matrix);
+    /**
+     * Returns the number of rows in this matrix, which is always {@value #SIZE}
+     * in this implementation.
+     * @since 2.4
+     */
+    public int getNumRow();
+
+    /**
+     * Returns the number of colmuns in this matrix, which is always {@value #SIZE}
+     * in this implementation.
+     * @since 2.4
+     */
+    public int getNumCol();
+
+    /**
+     * Returns the element at the specified index.
+     */
+    public double getElement(final int row, final int col) ;
+
+    /**
+     * Set the element at the specified index.
+     * @since 2.4
+     */
+    public void setElement(final int row, final int col, final double value);
+}```
+
+ + Propchange: sis/ip-review/rev/24485/MatrixSIS.xhtml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sis/ip-review/rev/24485/MatrixSIS.xhtml ------------------------------------------------------------------------------ svn:mime-type = text/html