Table of Contents

Class LineInstruction

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

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

string

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

IReadOnlyList<GeoPosition>

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

double

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

string

LineStyleReference

Reference (by name) to a line style in the portrayal catalogue.

public string? LineStyleReference { get; init; }

Property Value

string

LineWidth

Pen width (mm). Zero means use the catalogue default.

public double LineWidth { get; init; }

Property Value

double

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; }

Property Value

bool