Table of Contents

Class ScaleVisibility

Namespace
EncDotNet.S100.Rendering.Scene
Assembly
EncDotNet.S100.Rendering.Scene.dll

Shared S-100 Part 9 §11.1 scale-visibility semantics. Centralised so the headless Skia backend (which evaluates a single fixed scale per render) and the Mapsui backend (which evaluates per-frame via Min/MaxVisible) agree on the inclusion rule, including at the boundaries.

public static class ScaleVisibility
Inheritance
ScaleVisibility
Inherited Members

Fields

DenomToResolutionMetres

S-100 Part 9 scale denominator → Mapsui resolution (m/px in EPSG:3857) at 96 DPI: 1 px = 0.28 mm = 0.00028 m on the nominal display surface, so resolution ≈ scaleDenominator × 0.00028. Exposed so the Mapsui adapter and this helper derive their bounds from the same constant.

public const double DenomToResolutionMetres = 0.00028

Field Value

double

Methods

IsVisibleAtScale(PaintOp, double)

Returns whether an op is visible at the given display scale denominator.

public static bool IsVisibleAtScale(PaintOp op, double scaleDenominator)

Parameters

op PaintOp
scaleDenominator double

Returns

bool

Remarks

Per the S-100 Part 9 §11.1 convention (and the field docs on DrawingInstruction), ScaleMinimum is the most zoomed-out limit — the largest allowed denominator — and ScaleMaximum is the most zoomed-in limit — the smallest allowed denominator. An op is therefore visible when ScaleMaximum ≤ denominator ≤ ScaleMinimum (bounds inclusive, matching Mapsui's inclusive Min/MaxVisible comparison).