/** Implementation of heuristic constructors. */ private GridGeometry2D( final GridEnvelope gridRange, final Envelope userRange, final boolean[] reverse, final boolean swapXY, final boolean automatic) throws IllegalArgumentException, MismatchedDimensionException { super(gridRange, userRange, reverse, swapXY, automatic); final int[] dimensions; dimensions = new int[4]; gridToCRS2D = getMathTransform2D(gridToCRS, gridRange, dimensions, null); gridFromCRS2D = inverse(gridToCRS2D); gridDimensionX = dimensions[0]; gridDimensionY = dimensions[1]; axisDimensionX = dimensions[2]; axisDimensionY = dimensions[3]; crs2D = createCRS2D(); assert isValid() : this; }
final int[] dimensions; dimensions = new int[4]; gridToCRS2D = getMathTransform2D(this.gridToCRS, gridRange, dimensions, hints); gridFromCRS2D = inverse(gridToCRS2D); gridDimensionX = dimensions[0]; crs2D = createCRS2D(); if (PixelInCell.CELL_CORNER.equals(anchor)) { cornerToCRS2D = getMathTransform2D(gridToCRS, gridRange, dimensions, hints);
final int[] dimensions; dimensions = new int[4]; gridToCRS2D = getMathTransform2D(super.gridToCRS, gridRange, dimensions, hints); gridFromCRS2D = inverse(gridToCRS2D); gridDimensionX = dimensions[0]; crs2D = createCRS2D(); if (PixelInCell.CELL_CORNER.equals(anchor)) { cornerToCRS2D = getMathTransform2D(gridToCRS, gridRange, dimensions, hints);
/** * Workaround for RFE #4093999 ("Relax constraint on placement of this()/super() call in * constructors"). We could write this code in a less convolved way if only this requested was * honored... */ private GridGeometry2D( final GridEnvelope gridRange, final PixelOrientation anchor, final MathTransform gridToCRS, final int[] dimensions, // Allocated by caller. final CoordinateReferenceSystem crs, final Hints hints) { this( gridRange, anchor, (gridToCRS != null) && (gridToCRS.getSourceDimensions() == 2) && (gridToCRS.getTargetDimensions() == 2) && PixelOrientation.UPPER_LEFT.equals(anchor) ? PixelInCell.CELL_CORNER : PixelInCell.CELL_CENTER, gridToCRS, getMathTransform2D(gridToCRS, gridRange, dimensions, hints), dimensions, crs); }
final int[] dimensions; dimensions = new int[4]; gridToCRS2D = getMathTransform2D(gridToCRS, gridRange, dimensions, null); gridFromCRS2D = inverse(gridToCRS2D); gridDimensionX = dimensions[0];
/** * Implementation of heuristic constructors. */ private GridGeometry2D(final GridRange gridRange, final Envelope userRange, final boolean[] reverse, final boolean swapXY, final boolean automatic) throws IllegalArgumentException, MismatchedDimensionException { super(gridRange, userRange, reverse, swapXY, automatic); final int[] dimensions; dimensions = new int[4]; gridToCRS2D = getMathTransform2D(gridToCRS, gridRange, dimensions); gridFromCRS2D = inverse(gridToCRS2D); gridDimensionX = dimensions[0]; gridDimensionY = dimensions[1]; axisDimensionX = dimensions[2]; axisDimensionY = dimensions[3]; crs2D = createCRS2D(); }
final int[] dimensions; dimensions = new int[4]; gridToCRS2D = getMathTransform2D(this.gridToCRS, gridRange, dimensions, hints); gridFromCRS2D = inverse(gridToCRS2D); gridDimensionX = dimensions[0]; crs2D = createCRS2D(); if (PixelInCell.CELL_CORNER.equals(anchor)) { cornerToCRS2D = getMathTransform2D(gridToCRS, gridRange, dimensions, hints);
final int[] dimensions; dimensions = new int[4]; gridToCRS2D = getMathTransform2D(gridToCRS, gridRange, dimensions); gridFromCRS2D = inverse(gridToCRS2D); gridDimensionX = dimensions[0];
final int[] dimensions; dimensions = new int[4]; gridToCRS2D = getMathTransform2D(super.gridToCRS, gridRange, dimensions, hints); gridFromCRS2D = inverse(gridToCRS2D); gridDimensionX = dimensions[0]; crs2D = createCRS2D(); if (PixelInCell.CELL_CORNER.equals(anchor)) { cornerToCRS2D = getMathTransform2D(gridToCRS, gridRange, dimensions, hints);
/** * Workaround for RFE #4093999 ("Relax constraint on placement of this()/super() * call in constructors"). We could write this code in a less convolved way if only * this requested was honored... */ private GridGeometry2D(final GridEnvelope gridRange, final PixelOrientation anchor, final MathTransform gridToCRS, final int[] dimensions, // Allocated by caller. final CoordinateReferenceSystem crs, final Hints hints) { this(gridRange, anchor, (gridToCRS != null) && (gridToCRS.getSourceDimensions() == 2) && (gridToCRS.getTargetDimensions() == 2) && PixelOrientation.UPPER_LEFT.equals(anchor) ? PixelInCell.CELL_CORNER : PixelInCell.CELL_CENTER, gridToCRS, getMathTransform2D(gridToCRS, gridRange, dimensions, hints), dimensions, crs); }
/** * Implementation of heuristic constructors. */ private GridGeometry2D(final GridEnvelope gridRange, final Envelope userRange, final boolean[] reverse, final boolean swapXY, final boolean automatic) throws IllegalArgumentException, MismatchedDimensionException { super(gridRange, userRange, reverse, swapXY, automatic); final int[] dimensions; dimensions = new int[4]; gridToCRS2D = getMathTransform2D(gridToCRS, gridRange, dimensions, null); gridFromCRS2D = inverse(gridToCRS2D); gridDimensionX = dimensions[0]; gridDimensionY = dimensions[1]; axisDimensionX = dimensions[2]; axisDimensionY = dimensions[3]; crs2D = createCRS2D(); assert isValid() : this; }
final int[] dimensions; dimensions = new int[4]; gridToCRS2D = getMathTransform2D(gridToCRS, gridRange, dimensions, null); gridFromCRS2D = inverse(gridToCRS2D); gridDimensionX = dimensions[0];