Author: desruisseaux
Date: Thu Mar 26 11:10:40 2015
New Revision: 1669318

URL: http://svn.apache.org/r1669318
Log:
Referencing: renamed "UnitaryProjection" as "NormalizedProjection".

Added:
    
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java
      - copied, changed from r1669312, 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/UnitaryProjection.java
    
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NormalizedProjectionTest.java
      - copied, changed from r1669312, 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/UnitaryProjectionTest.java
Removed:
    
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/UnitaryProjection.java
    
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/UnitaryProjectionTest.java
Modified:
    
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MapProjection.java
    
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Mercator.java
    
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ProjectionException.java
    
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/package-info.java
    
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java
    
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java
    
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NoOp.java
    
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/ComparisonMode.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java

Modified: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MapProjection.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MapProjection.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MapProjection.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MapProjection.java
 [UTF-8] Thu Mar 26 11:10:40 2015
@@ -59,24 +59,18 @@ public abstract class MapProjection exte
     private static final long serialVersionUID = 6280666068007678702L;
 
     /**
-     * All names known to Apache SIS for the
-     * {@linkplain 
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#semiMajor
 semi-major}
-     * parameter. This parameter is mandatory and has no default value. The 
range of valid values is (0 … ∞).
+     * All names known to Apache SIS for the <cite>semi-major</cite> parameter.
+     * This parameter is mandatory and has no default value. The range of 
valid values is (0 … ∞).
      *
      * <p>Some names for this parameter are {@code "semi_major"}, {@code 
"SemiMajor"} and {@code "a"}.</p>
-     *
-     * @see 
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#semiMajor
      */
     public static final DefaultParameterDescriptor<Double> SEMI_MAJOR;
 
     /**
-     * All names known to Apache SIS for the
-     * {@linkplain 
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#semiMinor
 semi-minor}
-     * parameter. This parameter is mandatory and has no default value. The 
range of valid values is (0 … ∞).
+     * All names known to Apache SIS for the <cite>semi-minor</cite> parameter.
+     * This parameter is mandatory and has no default value. The range of 
valid values is (0 … ∞).
      *
      * <p>Some names for this parameter are {@code "semi_minor"}, {@code 
"SemiMinor"} and {@code "b"}.</p>
-     *
-     * @see 
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#semiMinor
      */
     public static final DefaultParameterDescriptor<Double> SEMI_MINOR;
     static {

Modified: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Mercator.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Mercator.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Mercator.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/Mercator.java
 [UTF-8] Thu Mar 26 11:10:40 2015
@@ -68,7 +68,7 @@ import static java.lang.Double.*;
  * @see TransverseMercator
  * @see ObliqueMercator
  */
-public class Mercator extends UnitaryProjection {
+public class Mercator extends NormalizedProjection {
     /**
      * For cross-version compatibility.
      */
@@ -122,10 +122,10 @@ public class Mercator extends UnitaryPro
     }
 
     /**
-     * Returns the parameter descriptors for this unitary projection. Note 
that the returned descriptor is about
-     * the unitary projection, not the full one. Consequently the default 
implementation returns the descriptor
-     * of <cite>Mercator (variant A)</cite> in all cases except for the 
pseudo-Mercator projection, because the
-     * <cite>Mercator (variant B)</cite> case is implemented as the variant A 
with a different scale factor.
+     * Returns the parameter descriptors for this normalized projection. Note 
that the returned descriptor is about
+     * the normalized projection only, not the full projection. Consequently 
the default implementation returns the
+     * descriptor of <cite>Mercator (variant A)</cite> in all cases except for 
the pseudo-Mercator projection,
+     * because the <cite>Mercator (variant B)</cite> case is implemented as 
the variant A with a different scale factor.
      *
      * @return The <cite>Mercator (variant A)</cite> or <cite>Popular 
Visualisation Pseudo Mercator</cite>
      *         parameter descriptor.
@@ -136,7 +136,7 @@ public class Mercator extends UnitaryPro
     }
 
     // No need to override getParameterValues() because no additional
-    // parameter are significant to a unitary Mercator projection.
+    // parameter are significant to a normalized Mercator projection.
 
 
     /**
@@ -185,7 +185,7 @@ public class Mercator extends UnitaryPro
      * <div class="note"><b>Note:</b>
      * We override the super-class method only as an optimization in the 
special case where the target coordinates
      * are written at the same locations than the source coordinates. In such 
case, we can take advantage of the
-     * fact that the λ values are not modified by the unitary Mercator 
projection.</div>
+     * fact that the λ values are not modified by the normalized Mercator 
projection.</div>
      *
      * @throws TransformException if a point can not be transformed.
      */
@@ -330,7 +330,7 @@ public class Mercator extends UnitaryPro
          * {@inheritDoc}
          *
          * <div class="note"><b>Note:</b>
-         * This method must be overridden because the {@link Mercator} class 
overrides the {@link UnitaryProjection}
+         * This method must be overridden because the {@link Mercator} class 
overrides the {@link NormalizedProjection}
          * default implementation.</div>
          */
         @Override

Copied: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java
 (from r1669312, 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/UnitaryProjection.java)
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java?p2=sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java&p1=sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/UnitaryProjection.java&r1=1669312&r2=1669318&rev=1669318&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/UnitaryProjection.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/NormalizedProjection.java
 [UTF-8] Thu Mar 26 11:10:40 2015
@@ -59,9 +59,9 @@ import java.util.Objects;
  *   {@linkplain ContextualParameters#normalization(boolean) denormalize} 
affine transform.</li>
  * </ul>
  *
- * {@code UnitaryProjection} does not store the above cited parameters 
(central meridian, scale factor, <i>etc.</i>)
+ * {@code NormalizedProjection} does not store the above cited parameters 
(central meridian, scale factor, <i>etc.</i>)
  * on intend, in order to make clear that those parameters are not used by 
subclasses.
- * The ability to recognize two {@code UnitaryProjection}s as {@linkplain 
#equals(Object, ComparisonMode) equivalent}
+ * The ability to recognize two {@code NormalizedProjection}s as {@linkplain 
#equals(Object, ComparisonMode) equivalent}
  * without consideration for the scale factor (among other) allow more 
efficient concatenation in some cases
  * (typically some combinations of inverse projection followed by a direct 
projection).
  *
@@ -83,7 +83,7 @@ import java.util.Objects;
  *
  * @see <a href="http://mathworld.wolfram.com/MapProjection.html";>Map 
projections on MathWorld</a>
  */
-public abstract class UnitaryProjection extends AbstractMathTransform2D 
implements Serializable {
+public abstract class NormalizedProjection extends AbstractMathTransform2D 
implements Serializable {
     /**
      * For cross-version compatibility.
      */
@@ -148,7 +148,7 @@ public abstract class UnitaryProjection
      * @param method Description of the map projection parameters.
      * @param parameters The parameters of the projection to be created.
      */
-    protected UnitaryProjection(final OperationMethod method, final Parameters 
parameters) {
+    protected NormalizedProjection(final OperationMethod method, final 
Parameters parameters) {
         this.parameters = new ContextualParameters(method);
         ensureNonNull("parameters", parameters);
         final double a = parameters.doubleValue(MapProjection.SEMI_MAJOR);
@@ -184,7 +184,7 @@ public abstract class UnitaryProjection
      *
      * Subclasses must complete.
      *
-     * @return A copy of the parameter values for this unitary projection.
+     * @return A copy of the parameter values for this normalized projection.
      */
     @Override
     public ParameterValueGroup getParameterValues() {
@@ -312,7 +312,7 @@ public abstract class UnitaryProjection
          * Default constructor.
          */
         public Inverse() {
-            UnitaryProjection.this.super();
+            NormalizedProjection.this.super();
         }
 
         /**
@@ -334,13 +334,13 @@ public abstract class UnitaryProjection
                     dstOff = 0;
                 }
                 inverseTransform(srcPts, srcOff, dstPts, dstOff);
-                return 
Matrices.inverse(UnitaryProjection.this.transform(dstPts, dstOff, null, 0, 
true));
+                return 
Matrices.inverse(NormalizedProjection.this.transform(dstPts, dstOff, null, 0, 
true));
             }
         }
     }
 
     /**
-     * Computes a hash code value for this unitary projection.
+     * Computes a hash code value for this map projection.
      * The default implementation computes a value from the parameters given 
at construction time.
      *
      * @return The hash code value.
@@ -354,22 +354,22 @@ public abstract class UnitaryProjection
      * Compares the given object with this transform for equivalence. The 
default implementation checks if
      * {@code object} is an instance of the same class than {@code this}, then 
compares the excentricity.
      *
-     * <p>If this method returns {@code true}, then for any given identical 
source position, the two compared
-     * unitary projections shall compute the same target position. Many of the 
{@linkplain Parameters projection
-     * parameters} used for creating the unitary projections are irrelevant 
and don not need to be known.
+     * <p>If this method returns {@code true}, then for any given identical 
source position, the two compared map
+     * projections shall compute the same target position. Many of the 
{@linkplain #parameters parameters}
+     * used for creating the map projections are irrelevant and do not need to 
be known.
      * Those projection parameters will be compared only if the comparison 
mode is {@link ComparisonMode#STRICT}
      * or {@link ComparisonMode#BY_CONTRACT BY_CONTRACT}.</p>
      *
      * <div class="note"><b>Example:</b>
      * a {@linkplain Mercator Mercator} projection can be created in the 2SP 
case with a <cite>standard parallel</cite>
      * value of 60°. The same projection can also be created in the 1SP case 
with a <cite>scale factor</cite> of 0.5.
-     * Nevertheless those two unitary projections applied on a sphere gives 
identical results. Considering them as
+     * Nevertheless those two map projections applied on a sphere gives 
identical results. Considering them as
      * equivalent allows the referencing module to transform coordinates 
between those two projections more efficiently.
      * </div>
      *
-     * @param object The object to compare with this unitary projection for 
equivalence.
+     * @param object The object to compare with this map projection for 
equivalence.
      * @param mode The strictness level of the comparison. Default to {@link 
ComparisonMode#STRICT}.
-     * @return {@code true} if the given object is equivalent to this unitary 
projection.
+     * @return {@code true} if the given object is equivalent to this map 
projection.
      */
     @Override
     public boolean equals(final Object object, final ComparisonMode mode) {
@@ -378,7 +378,7 @@ public abstract class UnitaryProjection
         }
         if (super.equals(object, mode)) {
             final double e1, e2;
-            final UnitaryProjection that = (UnitaryProjection) object;
+            final NormalizedProjection that = (NormalizedProjection) object;
             if (mode.ordinal() < ComparisonMode.IGNORE_METADATA.ordinal()) {
                 if (!Objects.equals(parameters, that.parameters)) {
                     return false;

Modified: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ProjectionException.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ProjectionException.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ProjectionException.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ProjectionException.java
 [UTF-8] Thu Mar 26 11:10:40 2015
@@ -21,7 +21,7 @@ import org.apache.sis.util.resources.Err
 
 
 /**
- * Thrown by {@link UnitaryProjection} when a map projection failed.
+ * Thrown by {@link NormalizedProjection} when a map projection failed.
  *
  * @author  André Gosselin (MPO)
  * @author  Martin Desruisseaux (MPO, IRD, Geomatys)

Modified: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/package-info.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/package-info.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/package-info.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/package-info.java
 [UTF-8] Thu Mar 26 11:10:40 2015
@@ -49,12 +49,12 @@
  *   <li><b>Map projection</b> (a.k.a. cartographic projection)<br>
  *       The conversion of geographic coordinates from (<var>longitude</var>, 
<var>latitude</var>)
  *       in decimal degrees to projected coordinates (<var>x</var>, 
<var>y</var>) in metres.</li>
- *   <li><b>Unitary projection</b><br>
+ *   <li><b>Normalized projection</b><br>
  *       The conversion of geographic coordinates from (<var>longitude</var>, 
<var>latitude</var>)
  *       in radians to projected coordinates (<var>x</var>, <var>y</var>) on a 
sphere or ellipse
  *       having a semi-major axis length of 1. This definition may be slightly 
relaxed if some
  *       projection-specifics coefficients are concatenated with the 
conversions that take place
- *       between the above map projection and this unitary projection.</li>
+ *       between the above map projection and this normalized projection.</li>
  * </ul>
  *
  *
@@ -118,25 +118,21 @@
  * A map projection in this package is actually the concatenation of the 
following transforms, in that order:
  *
  * <ul>
- *   <li>{@link 
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#normalize(boolean)
 normalize} affine transform</li>
- *   <li>{@link 
org.apache.sis.referencing.operation.projection.UnitaryProjection} subclass</li>
- *   <li>{@link 
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#normalize(boolean)
 denormalize} affine transform</li>
+ *   <li>{@link 
org.apache.sis.referencing.operation.transform.ContextualParameters#normalizeGeographicInputs
 normalize} affine transform</li>
+ *   <li>{@link 
org.apache.sis.referencing.operation.projection.NormalizedProjection} 
subclass</li>
+ *   <li>{@link 
org.apache.sis.referencing.operation.transform.ContextualParameters#denormalizeCartesianOutputs
 denormalize} affine transform</li>
  * </ul>
  *
- * The first step (<cite>"normalize"</cite>) converts longitude and latitude 
values from degrees to radians and removes the
- * {@linkplain 
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#centralMeridian
 central meridian}
- * from the longitude. The last step (<cite>"denormalize"</cite>) multiplies 
the result of the middle
- * step by the global scale factor (which is typically, but not always, the 
product of the
- * {@linkplain 
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#scaleFactor
 scale factor} with the
- * {@linkplain 
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#semiMajor
 semi-major} axis length),
- * then adds the
- * {@linkplain 
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#falseEasting
 false easting} and
- * {@linkplain 
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#falseNorthing
 false northing}.
- * This means that the middle step (<cite>"unitary projection"</cite>) is 
performed on an ellipse
- * (or sphere) having a semi-major axis of 1.
+ * The first step (<cite>"normalize"</cite>) converts longitude and latitude 
values from degrees to radians
+ * and removes the <cite>central meridian</cite> from the longitude.
+ * The last step (<cite>"denormalize"</cite>) multiplies the result of the 
middle step by the global scale factor
+ * (typically the product of the <cite>scale factor</cite> with the 
<cite>semi-major</cite> axis length),
+ * then adds the <cite>false easting</cite> and <cite>false northing</cite>.
+ * This means that the middle step (<cite>"normalized projection"</cite>) is 
performed on an ellipse (or sphere)
+ * having a semi-major axis of 1.
  *
  * <p>In other words, the
- * {@linkplain 
org.apache.sis.referencing.operation.projection.UnitaryProjection#transform(double[],int,double[],int,boolean)
+ * {@linkplain 
org.apache.sis.referencing.operation.projection.NormalizedProjection#transform(double[],int,double[],int,boolean)
  * transform} method of the middle step works typically on longitude and 
latitude values in <strong>radians</strong>
  * relative to the central meridian (not necessarily Greenwich). Its results 
are typically (<var>x</var>, <var>y</var>)
  * coordinates having ({@linkplain 
org.opengis.referencing.cs.AxisDirection#EAST East},
@@ -146,13 +142,9 @@
  * above-cited normalize and denormalize affine transforms.</p>
  *
  * <div class="note"><b>Note:</b>
- * In <a href="http://www.remotesensing.org/proj/";>PROJ.4</a>, the same 
standardization is handled by {@code pj_fwd.c}
+ * In <a href="http://www.remotesensing.org/proj/";>Proj.4</a>, the same 
standardization is handled by {@code pj_fwd.c}
  * and {@code pj_inv.c}. This normalization makes the equations closer to the 
ones published in Snyder's book, where the
- * {@linkplain 
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#falseEasting
 false easting},
- * {@linkplain 
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#falseNorthing
 false northing} and
- * {@linkplain 
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#scaleFactor
 scale factor}
- * are usually not given.
- * </div>
+ * <cite>false easting</cite>, <cite>false northing</cite> and <cite>scale 
factor</cite> are usually not given.</div>
  *
  * <div class="section">References</div>
  * <ul>

Modified: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ConcatenatedTransform.java
 [UTF-8] Thu Mar 26 11:10:40 2015
@@ -68,8 +68,8 @@ class ConcatenatedTransform extends Abst
      * than 1 ULP (about 2.22E-16), it applies only the the zero terms in the 
matrix. The terms on the
      * diagonal are still expected to be exactly 1.
      *
-     * @todo Try to remove completely this tolerance threshold after we 
applied double-double arithmetic
-     *       to all matrices.
+     * @deprecated Try to remove completely this tolerance threshold after we 
applied double-double arithmetic
+     *             to all matrices.
      */
     private static final double IDENTITY_TOLERANCE = 1E-16;
 
@@ -420,7 +420,7 @@ class ConcatenatedTransform extends Abst
     /**
      * Returns all concatenated transforms, modified with the pre- and 
post-processing required for WKT formating.
      * More specifically, if there is any Apache SIS implementation of Map 
Projection in the chain, then the
-     * (<var>normalize</var>, <var>unitary projection</var>, 
<var>denormalize</var>) tuples are replaced by single
+     * (<var>normalize</var>, <var>normalized projection</var>, 
<var>denormalize</var>) tuples are replaced by single
      * (<var>projection</var>) elements, which does not need to be instances 
of {@link MathTransform}.
      */
     private List<Object> getPseudoSteps() {

Modified: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/ContextualParameters.java
 [UTF-8] Thu Mar 26 11:10:40 2015
@@ -61,7 +61,7 @@ import static org.apache.sis.util.Argume
  *
  * <div class="section">Usage in map projections</div>
  * This object is used mostly for Apache SIS implementation of map 
projections, where the kernel is a
- * {@linkplain 
org.apache.sis.referencing.operation.projection.UnitaryProjection unitary 
projection}.
+ * {@linkplain 
org.apache.sis.referencing.operation.projection.NormalizedProjection normalized 
projection}.
  * This object is typically created and used as below:
  *
  * <ol class="verbose">
@@ -152,8 +152,9 @@ public class ContextualParameters extend
      * {@linkplain #normalization(boolean) normalize/denormalize} transforms 
or in the kernel.
      *
      * <div class="note"><b>Note:</b>
-     * The definition of "kernel" is left to implementors. In the particular 
case of Apache SIS implementation of map
-     * projections, kernels are subclasses of {@link 
org.apache.sis.referencing.operation.projection.UnitaryProjection}.
+     * The definition of "kernel" is left to implementors.
+     * In the particular case of Apache SIS implementation of map projections,
+     * kernels are subclasses of {@link 
org.apache.sis.referencing.operation.projection.NormalizedProjection}.
      * </div>
      *
      * @return The description of the parameters.
@@ -427,7 +428,7 @@ public class ContextualParameters extend
      */
     final int beforeFormat(final List<Object> transforms, int index, final 
boolean inverse) {
         /*
-         * We expect affine transforms before and after the unitary 
projection. Extracts those
+         * We expect affine transforms before and after the normalized 
projection. Extracts those
          * affine transforms now. If one or both are missing, we will treat 
null as an identity
          * transform. We will not replace the elements in the list before new 
values for those
          * affine transforms have been fully calculated.
@@ -495,7 +496,7 @@ public class ContextualParameters extend
         /*
          * At this point we have computed all the affine transforms to show to 
the user.
          * We can replace the elements in the list. The transform referenced 
by transforms.get(index)
-         * is usually a UnitaryProjection, to be replaced by a 
ContextualParameters instance in order
+         * is usually a NormalizedProjection, to be replaced by a 
ContextualParameters instance in order
          * to format real parameter values (semi-major axis, scale factor, 
etc.)
          * instead than a semi-major axis length of 1.
          */

Modified: 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NoOp.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NoOp.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NoOp.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NoOp.java
 [UTF-8] Thu Mar 26 11:10:40 2015
@@ -27,7 +27,7 @@ import org.apache.sis.util.Workaround;
 
 
 /**
- * A simple implementation of {@link UnitaryProjection} as a "no-operation".
+ * A simple implementation of {@link NormalizedProjection} as a "no-operation".
  * This is used for testing methods other than {@code transform(…)} and {@code 
inverseTransform(…)}.
  *
  * @author  Martin Desruisseaux (Geomatys)
@@ -36,7 +36,7 @@ import org.apache.sis.util.Workaround;
  * @module
  */
 @SuppressWarnings("serial")
-final strictfp class NoOp extends UnitaryProjection {
+final strictfp class NoOp extends NormalizedProjection {
     /**
      * Creates a new "no-operation".
      *

Copied: 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NormalizedProjectionTest.java
 (from r1669312, 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/UnitaryProjectionTest.java)
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NormalizedProjectionTest.java?p2=sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NormalizedProjectionTest.java&p1=sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/UnitaryProjectionTest.java&r1=1669312&r2=1669318&rev=1669318&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/UnitaryProjectionTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NormalizedProjectionTest.java
 [UTF-8] Thu Mar 26 11:10:40 2015
@@ -29,14 +29,14 @@ import static org.junit.Assert.*;
 
 
 /**
- * Tests the {@link UnitaryProjection} class.
+ * Tests the {@link NormalizedProjection} class.
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.6
  * @version 0.6
  * @module
  */
-public final strictfp class UnitaryProjectionTest extends TransformTestCase {
+public final strictfp class NormalizedProjectionTest extends TransformTestCase 
{
     /**
      * Tolerance level for comparing floating point numbers.
      */
@@ -50,35 +50,35 @@ public final strictfp class UnitaryProje
     private static final int LN_INFINITY = 37;
 
     /**
-     * Computes {@link UnitaryProjection#expOfNorthing(double, double)} for 
the given latitude.
+     * Computes {@link NormalizedProjection#expOfNorthing(double, double)} for 
the given latitude.
      *
      * @param  projection The projection on which to invoke {@code 
expOfNorthing(…)}.
      * @param  φ The latitude in radians.
      * @return {@code Math.exp} of the Mercator projection of the given 
latitude.
      */
-    static double expOfNorthing(final UnitaryProjection projection, final 
double φ) {
+    static double expOfNorthing(final NormalizedProjection projection, final 
double φ) {
         return projection.expOfNorthing(φ, projection.excentricity * sin(φ));
     }
 
     /**
-     * Computes {@link UnitaryProjection#expOfNorthing(double, double)} for 
the given latitude.
+     * Computes {@link NormalizedProjection#expOfNorthing(double, double)} for 
the given latitude.
      *
      * @param  φ The latitude in radians.
      * @return {@code Math.exp} of the Mercator projection of the given 
latitude.
      */
     private double expOfNorthing(final double φ) {
-        return expOfNorthing((UnitaryProjection) transform, φ);
+        return expOfNorthing((NormalizedProjection) transform, φ);
     }
 
     /**
-     * Computes {@link UnitaryProjection#φ(double)}.
+     * Computes {@link NormalizedProjection#φ(double)}.
      *
      * @param  expOfSouthing The reciprocal of the value returned by {@link 
#expOfNorthing(double)}.
      * @return The latitude in radians.
      * @throws ProjectionException if the iteration does not converge.
      */
     private double φ(final double expOfSouthing) throws ProjectionException {
-        return ((UnitaryProjection) transform).φ(expOfSouthing);
+        return ((NormalizedProjection) transform).φ(expOfSouthing);
     }
 
     /**
@@ -87,11 +87,11 @@ public final strictfp class UnitaryProje
      */
     @Test
     public void testDocumentation() {
-        double minutes = toDegrees(UnitaryProjection.ANGLE_TOLERANCE) * 60;
+        double minutes = toDegrees(NormalizedProjection.ANGLE_TOLERANCE) * 60;
         assertEquals("Documentation said 0.2″ precision.", 0.2, minutes*60, 
0.1);
         assertEquals("Documentation said 6 km precision.", 6, minutes*1852, 
0.5);
 
-        minutes = toDegrees(UnitaryProjection.ITERATION_TOLERANCE) * 60;
+        minutes = toDegrees(NormalizedProjection.ITERATION_TOLERANCE) * 60;
         assertEquals("Documentation said 1 mm precision.", 0.001, 
minutes*1852, 0.0005);
     }
 
@@ -126,7 +126,7 @@ public final strictfp class UnitaryProje
     }
 
     /**
-     * Tests the {@link UnitaryProjection#expOfNorthing(double, double)} 
function.
+     * Tests the {@link NormalizedProjection#expOfNorthing(double, double)} 
function.
      *
      * {@preformat text
      *   Forward:  y = -log(t(φ))
@@ -169,10 +169,10 @@ public final strictfp class UnitaryProje
     }
 
     /**
-     * Tests the {@link UnitaryProjection#φ(double)} function. We expect it to 
be the converse of the
-     * {@link UnitaryProjection#t(double, double)} function. In theory only 
the range [-90° … +90°]
-     * needs to be tested. However the function still consistent in the range 
[-90° … +270°]
-     * so we test that range for tracking this fact.
+     * Tests the {@link NormalizedProjection#φ(double)} function. We expect it 
to be the converse of the
+     * {@link NormalizedProjection#t(double, double)} function. In theory only 
the [-90° … +90°] range needs
+     * to be tested. However the function still consistent in the [-90° … 
+270°] range so we test that range
+     * for tracking this fact.
      *
      * @throws ProjectionException Should never happen.
      */
@@ -183,7 +183,7 @@ public final strictfp class UnitaryProje
         tolerance = TOLERANCE;
         doTest_φ();
         transform = new NoOp(true);    // Ellipsoidal case
-        tolerance = UnitaryProjection.ITERATION_TOLERANCE;
+        tolerance = NormalizedProjection.ITERATION_TOLERANCE;
         doTest_φ();
     }
 
@@ -219,7 +219,7 @@ public final strictfp class UnitaryProje
     }
 
     /**
-     * Tests the {@link UnitaryProjection#dy_dφ(double, double)} method.
+     * Tests the {@link NormalizedProjection#dy_dφ(double, double)} method.
      *
      * @throws TransformException Should never happen.
      */

Modified: 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java
 [UTF-8] Thu Mar 26 11:10:40 2015
@@ -88,7 +88,7 @@ import org.junit.BeforeClass;
     // Test map projections.
     org.apache.sis.referencing.operation.DefaultFormulaTest.class,
     org.apache.sis.referencing.operation.DefaultOperationMethodTest.class,
-    
org.apache.sis.referencing.operation.projection.UnitaryProjectionTest.class,
+    
org.apache.sis.referencing.operation.projection.NormalizedProjectionTest.class,
 
     // Registration of map projections and other math transforms.
     org.apache.sis.internal.referencing.provider.AffineTest.class,

Modified: 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/ComparisonMode.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/ComparisonMode.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/ComparisonMode.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/ComparisonMode.java
 [UTF-8] Thu Mar 26 11:10:40 2015
@@ -113,11 +113,9 @@ public enum ComparisonMode {
      * those objects as equivalent despite difference in the set of 
parameters, as long as coordinate
      * transformations still produce the same results.</p>
      *
-     * <div class="note"><b>Example:</b> A {@code "Mercator (2SP)"} projection 
with a
-     * {@linkplain 
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#standardParallels
-     * standard parallel} value of 60° produces the same results than a {@code 
"Mercator (1SP)"} projection with a
-     * {@linkplain 
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#scaleFactor
 scale
-     * factor} value of 0.5.</div>
+     * <div class="note"><b>Example:</b> A <cite>"Mercator (2SP)"</cite> 
projection with a <cite>standard parallel</cite>
+     * value of 60° produces the same results than a <cite>"Mercator 
(1SP)"</cite> projection with a <cite>scale factor</cite>
+     * value of 0.5.</div>
      *
      * @see org.apache.sis.util.Utilities#equalsIgnoreMetadata(Object, Object)
      */

Modified: 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java?rev=1669318&r1=1669317&r2=1669318&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java
 [UTF-8] Thu Mar 26 11:10:40 2015
@@ -70,13 +70,11 @@ package org.apache.sis.util;
  *           {@linkplain 
org.apache.sis.referencing.operation.transform.AbstractMathTransform#getParameterValues()
 parameter values}.</li>
  *       <li>{@link ComparisonMode#BY_CONTRACT BY_CONTRACT} – Synonymous to 
the {@code STRICT} mode,
  *            because there is no GeoAPI interfaces for the various kind of 
math transforms.</li>
- *       <li>{@link ComparisonMode#IGNORE_METADATA IGNORE_METADATA} – Objects 
must be of the same
- *           class, but the parameter values can be different if they are 
different way to formulate
- *           the same transform. For example a {@code "Mercator (2SP)"} 
projection with a
- *           {@linkplain 
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#standardParallels
- *           standard parallel} value of 60° produces the same results than a 
{@code "Mercator (1SP)"} projection with a
- *           {@linkplain 
org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#scaleFactor
- *           scale factor} value of 0.5</li>
+ *       <li>{@link ComparisonMode#IGNORE_METADATA IGNORE_METADATA} – Objects 
must be of the same class,
+ *           but the parameter values can be different if they are different 
way to formulate the same transform.
+ *           For example a <cite>"Mercator (2SP)"</cite> projection on a 
sphere with a <cite>standard parallel</cite>
+ *           value of 60° produces the same results than a <cite>"Mercator 
(1SP)"</cite> projection on the same sphere
+ *           with a <cite>scale factor</cite> value of 0.5.</li>
  *       <li>{@link ComparisonMode#APPROXIMATIVE APPROXIMATIVE} – The same 
attributes than the above
  *           {@code IGNORE_METADATA} mode are compared, but a slight 
(implementation dependant)
  *           difference is tolerated in floating point numbers.</li>


Reply via email to