This change has been removed. Since the translations and scale factors in a matrix have very different magnitudes, a single tolerance factor is not sufficient. The Apache SIS approach is rather to use double-double arithmetic in matrix operations in the hope to avoid the need for a tolerance threshold.
Command line:
svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r24484:24485 https://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/transform/ProjectiveTransform.java
Revision 24484 | Revision 24485 |
---|---|
} /** * Creates the inverse transform of this object. */ public MathTransform inverse() throws NoninvertibleTransformException { |
} /** * Tests whether this transform does not move any points by employing the provided tolerance. * @since 2.4 */ public boolean isIdentity(double tolerance) { tolerance=Math.abs(tolerance); if (numRow != numCol) { return false; } int index=0; for (int j=0; j<numRow; j++) { for (int i=0; i<numCol; i++) { if (Math.abs(elt[index++] -(i==j ? 1 : 0))>tolerance) { return false; } } } return true; } /** * Creates the inverse transform of this object. */ public MathTransform inverse() throws NoninvertibleTransformException { |