Class S125AtonLuaRuleExecutor
Portrays S-125 aids to navigation with the bundled S-101 Portrayal Catalogue's Lua rules (S-100 Part 9A) by composing the product-agnostic LuaRuleExecutor with an S125AtonLuaDataProvider host bridge, the S-101 context-parameter bindings, and a feature-anchor provider for light-sector and all-around-light arcs.
public sealed class S125AtonLuaRuleExecutor : ILuaVectorRuleExecutor, IVectorRuleExecutor
- Inheritance
-
S125AtonLuaRuleExecutor
- Implements
- Inherited Members
Remarks
The S-125 Portrayal Catalogue portrays only AtoN status indications and
data coverage; this executor supplies the AtoN symbology itself as an
implementation choice (see S125AtonPortrayalProjection).
Emitted instructions reference S-125 gml:ids and S-101 symbols,
line styles and colour tokens.
Constructors
S125AtonLuaRuleExecutor(ILuaEngine, S125Dataset, S101PortrayalCatalogue, FeatureCatalogue)
Initialises the executor.
public S125AtonLuaRuleExecutor(ILuaEngine luaEngine, S125Dataset dataset, S101PortrayalCatalogue s101Catalogue, FeatureCatalogue s101FeatureCatalogue)
Parameters
luaEngineILuaEngineThe sandboxed Lua engine (S-100 Part 9A).
datasetS125DatasetThe S-125 dataset whose aids are portrayed.
s101CatalogueS101PortrayalCatalogueThe S-101 portrayal catalogue (Lua rule source).
s101FeatureCatalogueFeatureCatalogueThe S-101 feature catalogue the rules are written against.
Properties
FeatureCount
The number of S-125 features handed to the S-101 rules.
public int FeatureCount { get; }
Property Value
Methods
ExecuteAsync(MarinerSettings, CancellationToken)
Runs the rule stage and returns typed drawing instructions ready for the renderer.
public Task<IReadOnlyList<DrawingInstruction>> ExecuteAsync(MarinerSettings mariner, CancellationToken cancellationToken = default)
Parameters
marinerMarinerSettingsMariner-configurable display preferences (S-100 Part 9 §4.2).
cancellationTokenCancellationTokenSignals that the render has been cancelled. Script interpreters are generally not interruptible mid-evaluation, so implementations honour the token at coarse boundaries; the asynchronous shape exists to allow implementations to await catalogue asset loads (compiled XSLT, Lua source) before driving the synchronous engine.
Returns
ExecuteRawAsync(MarinerSettings, CancellationToken)
Runs the Lua portrayal pass and returns the raw emitted drawing-instruction strings keyed by feature reference, without parsing or post-processing.
public Task<IReadOnlyList<EmittedInstruction>> ExecuteRawAsync(MarinerSettings mariner, CancellationToken cancellationToken = default)
Parameters
marinerMarinerSettingsMariner-configurable display preferences (S-100 Part 9 §4.2).
cancellationTokenCancellationTokenHonoured at coarse boundaries before Lua invocation.