Table of Contents

Class DrawingInstruction

Namespace
EncDotNet.S100.Pipelines.Vector
Assembly
EncDotNet.S100.Core.dll

A unified, resource-unresolved S-100 Part 9 drawing instruction. Instances reference catalogue resources (symbols, line styles, area fills, fonts) by name, and reference dataset features by id (FeatureReference); the renderer is responsible for resolving geometry and visual resources.

public abstract class DrawingInstruction
Inheritance
DrawingInstruction
Derived
Inherited Members

Remarks

This shape matches the S-100 Part 9 display list produced by both the XSLT-style portrayal pipelines (S-124, S-129, S-421) and the Lua-style portrayal pipeline (S-101 — see EncDotNet.S100.Datasets.S101.DrawingInstructionParser).

Properties

AdditionalViewingGroups

Viewing groups assigned to this instruction after ViewingGroup, in emission order (e.g. the 90020 of an S-101 ViewingGroup:27070,90020 command). Empty when the instruction has a single viewing group.

public IReadOnlyList<int> AdditionalViewingGroups { get; init; }

Property Value

IReadOnlyList<int>

Remarks

S-100 Ed 5.2 Part 9 §9-11.1.3 (and Part 9a §9a-11.2.2.1, the ViewingGroup:vg1[,vg2[,…]] command): "A drawing instruction which has multiple Viewing Groups is disabled when any assigned Viewing Group is disabled". IsVisible(DrawingInstruction) applies that rule over ViewingGroup and every id here.

AlertReference

The alert the instruction's geometry raises when a route crosses it, or null when it raises none (S-100 Part 9 alertReference; set by the AlertReference command of Part 9a §9a-11.2.2.9). Route checks read it; drawing ignores it.

public PortrayalAlertReference? AlertReference { get; init; }

Property Value

PortrayalAlertReference

DrawingPriority

Drawing priority within the display plane (ascending, back-to-front). Within the same priority, the S-100 Part 9 type order applies: areas → lines → points → text.

public int DrawingPriority { get; init; }

Property Value

int

FeatureReference

Identifier of the dataset feature this instruction portrays. The renderer uses this to look up geometry from the dataset.

public required string FeatureReference { get; init; }

Property Value

string

Plane

Whether the instruction renders under or over the radar overlay.

public DisplayPlane Plane { get; init; }

Property Value

DisplayPlane

ScaleMaximum

Maximum display scale denominator at which this instruction is visible (i.e. zoomed-in limit). Null means no upper bound.

public double? ScaleMaximum { get; init; }

Property Value

double?

ScaleMinimum

Minimum display scale denominator at which this instruction is visible (i.e. zoomed-out limit). Null means no lower bound.

public double? ScaleMinimum { get; init; }

Property Value

double?

TimeValid

The time intervals the instruction is drawn in, or empty when it is always drawn (S-100 Part 9 timeValid; set by the Date/Time/DateTime and TimeValid commands of Part 9a §9a-11.2.6). The instruction is drawn when the time the map shows falls in any of them; see PortrayalTimeFilter.

public IReadOnlyList<PortrayalTimeInterval> TimeValid { get; init; }

Property Value

IReadOnlyList<PortrayalTimeInterval>

ViewingGroup

Primary viewing group controlling visibility of this instruction — the first id the portrayal assigned. See AdditionalViewingGroups for any further ids.

public int ViewingGroup { get; init; }

Property Value

int