Class LineInstruction
A line rendering instruction. Geometry is the feature's curve, resolved by FeatureReference.
public sealed class LineInstruction : DrawingInstruction
- Inheritance
-
LineInstruction
- Inherited Members
Fields
SimpleLineStyleReference
Sentinel LineStyleReference (and
OutlineStyleReference) value emitted by
the S-100 Part 9A Lua portrayal model (PortrayalModel.lua's
SimpleLineStyle) to denote an inline "simple" line style whose
colour, width, and dash pattern are carried directly on the
instruction (LineColor / LineWidth /
Dashes) rather than by a named complex line style in the
portrayal catalogue. Renderers and the catalogue pre-warm must treat
this value as "no catalogue lookup" — attempting to resolve it would
always miss (and historically threw a KeyNotFoundException
on every dataset load).
public const string SimpleLineStyleReference = "_simple_"
Field Value
Properties
CoordinatesOverride
Optional explicit coordinate sequence that overrides the feature's
geometry-derived polyline. Set by the S-100 Part 9A §11.5
AugmentedRay / ArcByRadius / AugmentedPath
primitives to supply synthetic geometry for sector-light limit lines
and all-around-light circles.
public IReadOnlyList<GeoPosition>? CoordinatesOverride { get; init; }
Property Value
DashIntervalLength
Length in millimetres of the interval the Dashes repeat
over: the second parameter of LineStyle:simple,interval,width,colour
(S-100 Part 9). Zero when none was given, in which case each dash is
followed by a gap as long as itself.
public double DashIntervalLength { get; init; }
Property Value
Dashes
Optional dashes as (start, length) pairs in millimetres within each
DashIntervalLength (S-100 Part 9 Dash:start,length).
public IReadOnlyList<(double Offset, double Length)>? Dashes { get; init; }
Property Value
- IReadOnlyList<(double X, double Y)>
LineColor
S-100 colour token (e.g. CHBLK) for the line stroke.
public string? LineColor { get; init; }
Property Value
LineStyleReference
Reference (by name) to a line style in the portrayal catalogue.
public string? LineStyleReference { get; init; }
Property Value
LineWidth
Pen width (mm). Zero means use the catalogue default.
public double LineWidth { get; init; }
Property Value
Suppression
Whether line suppression applies (S-100 Part 9): where a line from
another feature with a higher drawing priority covers the same edge,
this line isn't drawn there, and this line suppresses lower ones in
turn. false for LineInstructionUnsuppressed,
which always draws in full and suppresses nothing.
public bool Suppression { get; init; }