Author: desruisseaux
Date: Thu Sep 19 19:43:43 2013
New Revision: 1524814

URL: http://svn.apache.org/r1524814
Log:
Javadoc (in particular, emphase that those methods does not check the Envelope 
CRS).

Modified:
    
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/Matrices.java

Modified: 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/Matrices.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/Matrices.java?rev=1524814&r1=1524813&r2=1524814&view=diff
==============================================================================
--- 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/Matrices.java
 [UTF-8] (original)
+++ 
sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/Matrices.java
 [UTF-8] Thu Sep 19 19:43:43 2013
@@ -130,7 +130,7 @@ public final class Matrices extends Stat
 
     /**
      * Creates a matrix of size {@code numRow} × {@code numCol} filled with 
zero values.
-     * This constructor is convenient when the caller want to initialize the 
matrix elements himself.
+     * This constructor is convenient when the caller wants to initialize the 
matrix elements himself.
      *
      * <blockquote><font size=-1><b>Implementation note:</b>
      * For {@code numRow} == {@code numCol} with a value between
@@ -263,9 +263,20 @@ public final class Matrices extends Stat
      *       then the transform will append trailing ordinates with the 0 
value.</li>
      * </ul>
      *
-     * <b>Example:</b> Given a source envelope of size 100 × 200 (the units do 
not matter for this method)
-     * and a destination envelope of size 300 × 500, and given the {@linkplain 
Envelope#getLowerCorner()
-     * lower corner} translated from (-20, -40) to (-10, -25), then the 
following method call:
+     * This method ignores the {@linkplain 
Envelope#getCoordinateReferenceSystem() envelope CRS}, which may be null.
+     * Actually this method is used more often for {@linkplain 
org.opengis.coverage.grid.GridEnvelope grid envelopes}
+     * (which have no CRS) than geodetic envelopes.
+     *
+     * {@section Spanning the anti-meridian of a Geographic CRS}
+     * If the given envelopes cross the date line, then this method requires 
their {@code getSpan(int)} method
+     * to behave as documented in the {@link 
org.apache.sis.geometry.AbstractEnvelope#getSpan(int)} javadoc.
+     * Furthermore the matrix created by this method will produce expected 
results only for source or destination
+     * points before the date line, since the wrap around operation can not be 
represented by an affine transform.
+     *
+     * {@section Example}
+     * Given a source envelope of size 100 × 200 (the units do not matter for 
this method) and a destination
+     * envelope of size 300 × 500, and given {@linkplain 
Envelope#getLowerCorner() lower corner} translation
+     * from (-20, -40) to (-10, -25), then the following method call:
      *
      * {@preformat java
      *   matrix = Matrices.createTransform(
@@ -283,12 +294,6 @@ public final class Matrices extends Stat
      *   └     ┘   └              ┘   └     ┘
      * }
      *
-     * {@section Spanning the anti-meridian of a Geographic CRS}
-     * If the given envelope is crossing the date line, then this method 
requires the envelope {@code getSpan(int)}
-     * method to behave as documented in the {@link 
org.apache.sis.geometry.AbstractEnvelope#getSpan(int)} javadoc.
-     * Furthermore the matrix created by this method will produce expected 
results only for source or destination
-     * points before the date line, since the wrap around operation can not be 
represented by an affine transform.
-     *
      * @param  srcEnvelope The source envelope.
      * @param  dstEnvelope The destination envelope.
      * @return The transform from the given source envelope to target envelope.
@@ -345,7 +350,8 @@ public final class Matrices extends Stat
      *           (<i>easting</i>, <i>northing</i>) - this is the first above 
case, but illegal
      *           to transform (<i>easting</i>, <i>northing</i>) to 
(<i>easting</i>, <i>up</i>).}
      *
-     * <b>Example:</b> the following method call:
+     * {@section Example}
+     * The following method call:
      *
      * {@preformat java
      *   matrix = Matrices.createTransform(
@@ -388,8 +394,19 @@ public final class Matrices extends Stat
      *   <li><code>{@linkplain #createTransform(AxisDirection[], 
AxisDirection[]) createTransform}(srcAxes, dstAxes)</code></li>
      * </ul>
      *
-     * <b>Example:</b> combining the examples documented in the above {@code 
createTransform(…)} methods,
-     * the following method call:
+     * This method ignores the {@linkplain 
Envelope#getCoordinateReferenceSystem() envelope CRS}, which may be null.
+     * Actually this method is used more often for {@linkplain 
org.opengis.coverage.grid.GridEnvelope grid envelopes}
+     * (which have no CRS) than geodetic envelopes.
+     *
+     * {@section Spanning the anti-meridian of a Geographic CRS}
+     * If the given envelopes cross the date line, then this method requires 
their {@code getSpan(int)} method
+     * to behave as documented in the {@link 
org.apache.sis.geometry.AbstractEnvelope#getSpan(int)} javadoc.
+     * Furthermore the matrix created by this method will produce expected 
results only for source or destination
+     * points on one side of the date line (depending on whether axis 
direction is reversed), since the wrap around
+     * operation can not be represented by an affine transform.
+     *
+     * {@section Example}
+     * Combining the examples documented in the above {@code 
createTransform(…)} methods, the following method call:
      *
      * {@preformat java
      *   matrix = Matrices.createTransform(
@@ -410,13 +427,6 @@ public final class Matrices extends Stat
      *   └     ┘   └               ┘   └     ┘
      * }
      *
-     * {@section Spanning the anti-meridian of a Geographic CRS}
-     * If the given envelope is crossing the date line, then this method 
requires the envelope {@code getSpan(int)}
-     * method to behave as documented in the {@link 
org.apache.sis.geometry.AbstractEnvelope#getSpan(int)} javadoc.
-     * Furthermore the matrix created by this method will produce expected 
results only for source or destination
-     * points on one side of the date line (depending on whether axis 
direction is reversed), since the wrap around
-     * operation can not be represented by an affine transform.
-     *
      * @param  srcEnvelope The source envelope.
      * @param  srcAxes     The ordered sequence of axis directions for source 
coordinate system.
      * @param  dstEnvelope The destination envelope.
@@ -471,8 +481,9 @@ public final class Matrices extends Stat
      *   <li>For any row <var>j</var> other than the last row, the column 
{@code selectedDimensions[j]}.</li>
      * </ul>
      *
-     * <b>Example:</b> Given 
(<var>x</var>,<var>y</var>,<var>z</var>,<var>t</var>) ordinate values, if one 
wants to
-     * keep (<var>y</var>,<var>x</var>,<var>t</var>) ordinates (note the 
<var>x</var> ↔ <var>y</var> swapping)
+     * {@section Example}
+     * Given (<var>x</var>,<var>y</var>,<var>z</var>,<var>t</var>) ordinate 
values, if one wants to keep
+     * (<var>y</var>,<var>x</var>,<var>t</var>) ordinates (note the 
<var>x</var> ↔ <var>y</var> swapping)
      * and discard the <var>z</var> values, then the indices of source 
ordinates to select are 1 for <var>y</var>,
      * 0 for <var>x</var> and 3 for <var>t</var>. One can use the following 
method call:
      *
@@ -543,8 +554,8 @@ public final class Matrices extends Stat
      *       is copied in the last column of the sub-matrix.</li>
      * </ul>
      *
-     * <b>Example:</b> Given the following sub-matrix which converts height 
values from feet to metres,
-     * then subtract 25 metres:
+     * {@section Example}
+     * Given the following sub-matrix which converts height values from feet 
to metres before to subtracts 25 metres:
      *
      * {@preformat math
      *   ┌    ┐   ┌             ┐   ┌   ┐
@@ -555,7 +566,7 @@ public final class Matrices extends Stat
      *
      * Then a call to {@code Matrices.createPassThrough(2, subMatrix, 1)} will 
return the following matrix,
      * which can be used for converting the height (<var>z</var>) without 
affecting the other ordinate values
-     * in (<var>x</var>,<var>y</var>,<var>t</var>) coordinates:
+     * (<var>x</var>,<var>y</var>,<var>t</var>):
      *
      * {@preformat math
      *   ┌    ┐   ┌                      ┐   ┌   ┐
@@ -801,10 +812,12 @@ public final class Matrices extends Stat
      *   <li>{@link ComparisonMode#BY_CONTRACT BY_CONTRACT}:
      *       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).</li>
-     *   <li>{@link ComparisonMode#IGNORE_METADATA IGNORE_METADATA}: same as 
{@code BY_CONTRACT}.
+     *   <li>{@link ComparisonMode#IGNORE_METADATA IGNORE_METADATA}: same as 
{@code BY_CONTRACT},
+     *       since matrices have no metadata.</li>
      *   <li>{@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 
any future SIS versions.</li>
+     *       The threshold value is determined empirically and may change in 
any future SIS versions.
+     *       For more control, use {@link #equals(Matrix, Matrix, double, 
boolean)} instead.</li>
      * </ul>
      *
      * @param  m1  The first matrix to compare, or {@code null}.


Reply via email to