The main change is the creation of a MathTransform2D
implementation for the two-dimensional case.
The same pattern is applied in other classes (Identity, Molodensky, basically every transform that may have arbitrary
dimension). So we can copy-paste-edit the same code from other classes. Anyway, the code is written differently in
Geotk / Apache SIS (using a if
statement instead than switch
, but this is very minor details).
Command line:
svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r24924:27154 https://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/transform/ProjectiveTransform.java
Revision 24924 | Revision 27154 |
---|---|
import org.opengis.referencing.operation.Matrix;
import org.opengis.referencing.operation.NoninvertibleTransformException;
import org.opengis.referencing.operation.OperationMethod;
import org.opengis.spatialschema.geometry.DirectPosition;
// Geotools dependencies
import org.geotools.metadata.iso.citation.Citations; |
import org.opengis.referencing.operation.Matrix;
import org.opengis.referencing.operation.NoninvertibleTransformException;
import org.opengis.referencing.operation.OperationMethod;
import org.opengis.geometry.DirectPosition;
// Geotools dependencies
import org.geotools.metadata.iso.citation.Citations; |
}
}
}
return new ProjectiveTransform(matrix);
}
/**
* Creates a transform for the specified matrix as a Java2D object. |
} } } switch (dimension) { case 2: return new ProjectiveTransform2D(matrix); default: return new ProjectiveTransform (matrix); } } /** * Creates a transform for the specified matrix as a Java2D object. |