- All Implemented Interfaces:
Serializable
,Comparable<GridRoundingMode>
,Constable
Specifies rounding behavior during computations of
GridExtent
from floating-point values.
The rounding mode controls how real numbers are converted into GridExtent
's
low, high and
size integer values.- Since:
- 1.0
-
Nested Class Summary
Nested classes/interfaces inherited from class Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic GridRoundingMode
Returns the enum constant of this class with the specified name.static GridRoundingMode[]
values()
Returns an array containing the constants of this enum class, in the order they are declared.Methods inherited from class Enum
clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
-
Enum Constant Details
-
NEAREST
Converts grid low, high and size to nearest integer values. This mode applies the following steps:- Floating point values are converted to integers with
Math.round(double)
. - On the three integer values (low, high and size) obtained after rounding, add or subtract 1 to the value which is farthest from an integer value in order to keep unchanged the two values that are closer to integers.
Example
The [low … high] range may be slightly larger than desired in some rounding error situations. For example if low before rounding was 1.49999 and high before rounding was 2.50001, then the range after rounding will be [1…3] while the expected size is actually only 2 pixels. ThisNEAREST
rounding mode detects those rounding issues by comparing the size before and after rounding. In this example, the size is 2.00002 pixels, which is closer to an integer value than the low and high values. Consequently, thisNEAREST
mode will rather adjust low or high (depending which one is farthest from integer values) in order to keep size at its closest integer value, which is 2. - Floating point values are converted to integers with
-
ENCLOSING
Converts grid low and high to values that fully encloses the envelope. This mode applies the following steps:- Grid low are converted to integers with
Math.floor(double)
. - Grid high are converted to integers with
Math.ceil(double)
.
- Grid low are converted to integers with
-
CONTAINED
Converts grid low and high to values that are fully contained in the envelope. This mode applies the following steps:- Grid low are converted to integers with
Math.ceil(double)
. - Grid high are converted to integers with
Math.floor(double)
.
- Since:
- 1.1
- Grid low are converted to integers with
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum class has no constant with the specified nameNullPointerException
- if the argument is null
-