/** {@inheritDoc} */ @Override public MeasurementRange union(final Range range) { return (MeasurementRange) super.union(range); // Should never throw ClassCastException because super.union(Range) invokes create(...), // which is overriden in this class with MeasurementRange return type. }
/** * Returns the range of values in this category list. This is the union of the range of values * of every categories, excluding {@code NaN} values. A {@link NumberRange} object give more * informations than {@link org.opengis.CV_SampleDimension#getMinimum} and {@link * org.opengis.CV_SampleDimension#getMaximum} since it contains also the type (integer, float, * etc.) and inclusion/exclusion informations. * * @return The range of values. May be {@code null} if this category list has no quantitative * category. * @see Category#getRange */ public final NumberRange<?> getRange() { if (range == null) { NumberRange<?> range = null; for (int i = 0; i < categories.length; i++) { final NumberRange extent = categories[i].getRange(); if (!Double.isNaN(extent.getMinimum()) && !Double.isNaN(extent.getMaximum())) { if (range != null) { range = range.union(extent); } else { range = extent; } } } this.range = range; } return range; }
/** * {@inheritDoc} */ @Override public MeasurementRange union(final Range range) { return (MeasurementRange) super.union(range); // Should never throw ClassCastException because super.union(Range) invokes create(...), // which is overriden in this class with MeasurementRange return type. }
public NumberRange<? extends Number> getApproximateDomainRange() { synchronized (elements) { // @todo TODO should I include the NaN value? if (range == null) { NumberRange<?> range = null; for (E element:elements) { final NumberRange<? extends Number> extent = element.getRange(); if (!Double.isNaN(extent.getMinimum())&& !Double.isNaN(extent.getMaximum())) { if (range != null) { range = new NumberRange(range.union(extent)); } else { range = extent; } } } this.range = range; } return range; } }
/** * Given a set of sample dimensions, this will return a valid range only if all sample * dimensions have one, otherwise null * * @param dimensions */ protected NumberRange getCoverageRange(List<CoverageDimensionInfo> dimensions) { NumberRange range = null; for (CoverageDimensionInfo dimension : dimensions) { if (dimension.getRange() == null) return null; else if (range == null) range = dimension.getRange(); else range.union(dimension.getRange()); } return range; }
if (!Double.isNaN(extent.getMinimum()) && !Double.isNaN(extent.getMaximum())) { if (range != null) { range = range.union(extent); } else { range = extent;
/** * Given a set of sample dimensions, this will return a valid range only * if all sample dimensions have one, otherwise null * * @param dimensions * @return */ private NumberRange getCoverageRange(CoverageDimension[] dimensions) { NumberRange range = null; for (int i = 0; i < dimensions.length; i++) { if (dimensions[i].getRange() == null) return null; else if (range == null) range = dimensions[i].getRange(); else range.union(dimensions[i].getRange()); } return range; }
/** * Returns the range of values in this category list. This is the union of the range * of values of every categories, excluding {@code NaN} values. A {@link NumberRange} * object give more informations than {@link org.opengis.CV_SampleDimension#getMinimum} * and {@link org.opengis.CV_SampleDimension#getMaximum} since it contains also the * type (integer, float, etc.) and inclusion/exclusion informations. * * @return The range of values. May be {@code null} if this category list has no * quantitative category. * * @see Category#getRange */ public final NumberRange getRange() { if (range == null) { NumberRange range = null; for (int i=0; i<categories.length; i++) { final NumberRange extent = categories[i].getRange(); if (!Double.isNaN(extent.getMinimum()) && !Double.isNaN(extent.getMaximum())) { if (range != null) { range = NumberRange.wrap(range.union(extent)); } else { range = extent; } } } this.range = range; } return range; }
allRanges = (allRanges != null) ? (NumberRange) allRanges.union(range) : range; } else {