This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git
commit 4f4d58d53bcf48013cf0937be0f30deb6b1736cb Author: Martin Desruisseaux <martin.desruisse...@geomatys.com> AuthorDate: Mon Aug 8 13:12:57 2022 +0200 Relax access to constructors. There is sometime good reasons for a caller to create an e.g. "Ellipsoid to geocentric" transform without the normalization/denormalization matrices (i.e. witn inputs in radians). --- .../sis/internal/referencing/provider/AbstractProvider.java | 10 +++++----- .../operation/transform/EllipsoidToCentricTransform.java | 7 +++---- .../operation/transform/MolodenskyTransform.java | 13 ++++++------- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractProvider.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractProvider.java index 04e7add83c..125ba59d80 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractProvider.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractProvider.java @@ -48,7 +48,7 @@ import static java.util.logging.Logger.getLogger; * Base class for all providers defined in this package. * * @author Martin Desruisseaux (Geomatys) - * @version 1.1 + * @version 1.3 * @since 0.6 * @module */ @@ -67,10 +67,10 @@ public abstract class AbstractProvider extends DefaultOperationMethod implements * @param targetDimension number of dimensions in the target CRS of this operation method. * @param parameters the set of parameters (never {@code null}). */ - AbstractProvider(final Map<String,?> properties, - final int sourceDimension, - final int targetDimension, - final ParameterDescriptorGroup parameters) + protected AbstractProvider(final Map<String,?> properties, + final int sourceDimension, + final int targetDimension, + final ParameterDescriptorGroup parameters) { super(properties, sourceDimension, targetDimension, parameters); } diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java index 81b3bbe8ba..ce4215e9d7 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java @@ -90,14 +90,13 @@ import static org.apache.sis.internal.referencing.provider.GeocentricAffineBetwe * The units of measurements depend on how the {@code MathTransform} has been created: * <ul> * <li>{@code EllipsoidToCentricTransform} instances created directly by the constructor expect (λ,φ) values - * in radians and compute (X,Y,Z) values in units of an ellipsoid having a semi-major axis length of 1. - * That constructor is reserved for subclasses only.</li> + * in radians and compute (X,Y,Z) values in units of an ellipsoid having a semi-major axis length of 1.</li> * <li>Transforms created by the {@link #createGeodeticConversion createGeodeticConversion(…)} static method expect * (λ,φ) values in degrees and compute (X,Y,Z) values in units of the ellipsoid axes (usually metres).</li> * </ul> * * @author Martin Desruisseaux (IRD, Geomatys) - * @version 0.7 + * @version 1.3 * @since 0.7 * @module */ @@ -265,7 +264,7 @@ public class EllipsoidToCentricTransform extends AbstractMathTransform implement * * @see #createGeodeticConversion(MathTransformFactory, double, double, Unit, boolean, TargetType) */ - protected EllipsoidToCentricTransform(final double semiMajor, final double semiMinor, + public EllipsoidToCentricTransform(final double semiMajor, final double semiMinor, final Unit<Length> unit, final boolean withHeight, final TargetType target) { ArgumentChecks.ensureStrictlyPositive("semiMajor", semiMajor); diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MolodenskyTransform.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MolodenskyTransform.java index e8992a2e0b..5a8cd86d95 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MolodenskyTransform.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MolodenskyTransform.java @@ -62,8 +62,7 @@ import static java.lang.Math.*; * * The units of measurements depend on how the {@code MathTransform} has been created: * <ul> - * <li>{@code MolodenskyTransform} instances created directly by the constructor work with angular values in radians. - * That constructor is reserved for subclasses only.</li> + * <li>{@code MolodenskyTransform} instances created directly by the constructor work with angular values in radians.</li> * <li>Transforms created by the {@link #createGeodeticTransformation createGeodeticTransformation(…)} static method * work with angular values in degrees and heights in the same units than the <strong>source</strong> ellipsoid * axes (usually metres).</li> @@ -82,7 +81,7 @@ import static java.lang.Math.*; * @author Rueben Schulz (UBC) * @author Martin Desruisseaux (IRD, Geomatys) * @author Rémi Maréchal (Geomatys) - * @version 0.8 + * @version 1.3 * @since 0.7 * @module */ @@ -145,10 +144,10 @@ public class MolodenskyTransform extends MolodenskyFormula { * * @see #createGeodeticTransformation(MathTransformFactory, Ellipsoid, boolean, Ellipsoid, boolean, double, double, double, boolean) */ - protected MolodenskyTransform(final Ellipsoid source, final boolean isSource3D, - final Ellipsoid target, final boolean isTarget3D, - final double tX, final double tY, final double tZ, - final boolean isAbridged) + public MolodenskyTransform(final Ellipsoid source, final boolean isSource3D, + final Ellipsoid target, final boolean isTarget3D, + final double tX, final double tY, final double tZ, + final boolean isAbridged) { super(source, isSource3D, target, isTarget3D, tX, tY, tZ, null, isAbridged, isAbridged ? AbridgedMolodensky.PARAMETERS : Molodensky.PARAMETERS);