Table of Contents

Class FinerCoverage

Namespace
EncDotNet.S100.Renderers.Skia.Scene
Assembly
EncDotNet.S100.Renderers.Skia.dll

The data coverage of a finer chart cell that hides an overlapping coarser cell where both draw: the coarser cell's layers are clipped to exclude it, so the two don't double-draw (cross-cell scale-band overlap suppression, as the viewer applies it).

public sealed class FinerCoverage
Inheritance
FinerCoverage
Inherited Members

Remarks

The coverage only hides while the finer cell is itself drawing, so a viewport zoomed out past MaximumScaleDenominator shows the coarser cell in full instead of a blank hole. Rings are filled with the even-odd rule, so a no-coverage hole in the finer cell lets the coarser cell show through.

Constructors

FinerCoverage(IReadOnlyList<IReadOnlyList<(double X, double Y)>>, double?)

Creates a finer coverage.

public FinerCoverage(IReadOnlyList<IReadOnlyList<(double X, double Y)>> worldRings, double? maximumScaleDenominator)

Parameters

worldRings IReadOnlyList<IReadOnlyList<(double X, double Y)>>

The coverage rings in EPSG:3857 metres, exterior rings and holes alike.

maximumScaleDenominator double?

The coarsest scale denominator at which the finer cell still draws, such as its minimum display scale, or null when it draws at every scale.

Properties

Bounds

The EPSG:3857 bounds of WorldRings.

public (double MinX, double MinY, double MaxX, double MaxY) Bounds { get; }

Property Value

(double South, double West, double North, double East)

IsEmpty

Whether the coverage has at least one ring of three or more points.

public bool IsEmpty { get; }

Property Value

bool

MaximumScaleDenominator

The coarsest scale denominator at which the finer cell draws, or null for every scale.

public double? MaximumScaleDenominator { get; }

Property Value

double?

WorldRings

The coverage rings in EPSG:3857 metres.

public IReadOnlyList<IReadOnlyList<(double X, double Y)>> WorldRings { get; }

Property Value

IReadOnlyList<IReadOnlyList<(double X, double Y)>>

Methods

IsActiveAt(double, bool)

Whether the finer cell draws at scaleDenominator, and so hides the coarser cell there.

public bool IsActiveAt(double scaleDenominator, bool honorScaleVisibility)

Parameters

scaleDenominator double

The viewport's scale denominator.

honorScaleVisibility bool

Whether scale visibility is applied at all; without it the finer cell draws at every scale.

Returns

bool