Table of Contents

Struct DisplayScaleRange

Namespace
EncDotNet.S100.Core
Assembly
EncDotNet.S100.Core.dll

A display-scale window expressed as denominator bounds. The Minimum denominator is the coarsest scale (largest number) at which content is intended to display; the Maximum denominator is the finest (smallest number). Either bound may be null when only one end is specified. Mirrors the S-101 DataCoverage minimumDisplayScale / maximumDisplayScale pair (S-101 FC §3.1.1; S-100 Part 17).

public readonly record struct DisplayScaleRange : IEquatable<DisplayScaleRange>
Implements
Inherited Members

Constructors

DisplayScaleRange(int?, int?)

A display-scale window expressed as denominator bounds. The Minimum denominator is the coarsest scale (largest number) at which content is intended to display; the Maximum denominator is the finest (smallest number). Either bound may be null when only one end is specified. Mirrors the S-101 DataCoverage minimumDisplayScale / maximumDisplayScale pair (S-101 FC §3.1.1; S-100 Part 17).

public DisplayScaleRange(int? Minimum, int? Maximum)

Parameters

Minimum int?

Coarsest display-scale denominator (largest value), or null.

Maximum int?

Finest display-scale denominator (smallest value), or null.

Properties

Maximum

Finest display-scale denominator (smallest value), or null.

public int? Maximum { get; init; }

Property Value

int?

Minimum

Coarsest display-scale denominator (largest value), or null.

public int? Minimum { get; init; }

Property Value

int?

Methods

FromDeclared(int?, int?)

Builds the window one coverage declares from its raw minimumDisplayScale / maximumDisplayScale denominators, tolerating an inverted pair.

public static DisplayScaleRange FromDeclared(int? minimum, int? maximum)

Parameters

minimum int?

The declared minimumDisplayScale denominator, or null.

maximum int?

The declared maximumDisplayScale denominator, or null.

Returns

DisplayScaleRange

The normalised window; both bounds are null when neither is usable.

Remarks

Non-positive denominators are treated as absent. When both bounds are present but the declared minimum is the finer scale (smaller denominator), the two are swapped so Minimum is always the coarsest bound. Producers do ship such data (several IHO S-101 test cells declare minimumDisplayScale = 22000 with maximumDisplayScale = 90000), and reading it literally would hide the whole cell outside a far narrower band than intended.