Table of Contents

Namespace EncDotNet.S100.Pipelines.Vector

Classes

AreaFill

An S-100 Part 9 area fill: a solid colour and/or a symbol pattern tiled along two lattice vectors. Referenced by name from area drawing instructions.

AreaInstruction

An area fill instruction. Geometry is the feature's surface (one or more rings), resolved by FeatureReference.

CurveParts

Groups the curves of a curve feature into its connected parts.

DisplayModeController

Tracks the active S-100 Part 9 display-mode id for a vector portrayal catalogue.

DisplayPlaneController

Controls visibility of drawing instructions by display plane (S-100 Part 9 §11.6). The three canonical planes are UnderRadar and OverRadar; all planes are visible by default.

DrawingInstruction

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.

DrawingInstructionParser

Parses the semicolon-separated key:value drawing instruction strings emitted by the S-101 Lua portrayal pipeline into the unified DrawingInstruction hierarchy.

Feature

A single geographic feature read from a vector dataset.

FeatureGeometry

Lightweight, encoding-agnostic representation of a feature's geometry.

FeatureGeometryProvider<TFeature>

Generic geometry provider for S-100 vector datasets.

GmlFeatureXmlSource<TFeature>

Generic base class that projects GML-encoded S-100 features into the S-100 Part 9 FeatureXML intermediate format consumed by XSLT portrayal rules.

LineInstruction

A line rendering instruction. Geometry is the feature's curve, resolved by FeatureReference.

LineStyle

An S-100 Part 9 line style (pen and optional dash pattern), as loaded from the portrayal catalogue's line-style files and referenced by name from line drawing instructions.

LineStyleSymbol

A symbol a line style places along the line.

Part9DisplayListReader

Reads an S-100 Part 9 drawing-instruction display list from XML produced by an XSLT portrayal rule (used by S-124, S-129, S-421, etc.) and returns the unified DrawingInstruction model.

PointInstruction

A point-symbol placement instruction. Geometry is the feature's point position, resolved by FeatureReference.

PortrayalAlertReference

A reference from a drawing instruction to an alert in the portrayal catalogue's alert catalogue (S-100 Part 9 §9-11.2.5), set by the AlertReference:alertReference[,plan[,monitor]] command of Part 9a §9a-11.2.2.9: the S-101 NavHazard, ProhAre or SafetyContour alert a feature raises when a route crosses it.

PortrayalAssetNotFoundException

Thrown when a portrayal catalogue is asked for a named asset — an SVG symbol, line style, area fill, or portrayal rule — that the loaded catalogue does not contain.

PortrayalRule

Metadata about a portrayal rule from the portrayal catalogue. Used by the pipeline to determine which rules to execute for a given dataset.

PortrayalTime

The time a map shows, for drawing instructions that are only valid at some times: one instant, or a range when the mariner views a period (S-98 §12.8.1). Dates and times without an offset are read in Zone.

PortrayalTimeFilter

Leaves out the drawing instructions that aren't valid at the time the map shows (S-100 Part 9 timeValid; see TimeValid).

PortrayalTimeInterval

A time interval a drawing instruction is valid in: one entry of its TimeValid list, from a Date/Time/DateTime command and the TimeValid command that follows it (S-100 Part 9a §9a-11.2.6).

Script

A named portrayal script (source text) from a vector portrayal catalogue.

SvgSymbol

An S-100 Part 9 point symbol, as loaded from the portrayal catalogue's Symbols folder.

TextInstruction

A text label rendering instruction. Anchor position is the feature's representative point, resolved by FeatureReference.

VectorMetadata

Dataset-level metadata for a vector source.

VectorPipeline

Vector portrayal pipeline (S-100 Part 9). The pipeline composes one or more IVectorRuleExecutor engines, concatenates their typed drawing instructions, and applies the shared post-processing stage:

  1. XSLT rule execution — a built-in XsltRuleExecutor (Part 9 §9.4) handles FeatureXML acquisition, rule selection, transformation, and display-list assembly.
  2. Lua rule execution — an optional injected IVectorRuleExecutor (Part 9A).
  3. Viewing-group filtering, display-plane filtering, and priority sorting of the merged instruction list.
VectorSourceExtensions

Extension methods on IVectorSource that let callers benefit from a persistent spatial index without depending on IVectorSourceWithIndex at their call sites.

ViewingGroupController

Controls visibility of features by viewing group assignment.

ViewingGroupFilter

A per-dataset narrowing of viewing-group visibility, applied on top of the map-wide display mode and the per-product hidden viewing groups.

Interfaces

IDrawingInstructionTransform

Post-parse transform applied to the typed drawing instructions produced by a rule executor, before they are returned to the pipeline. Operates on DrawingInstruction values (not raw emit strings), so it can merge, reorder, or rewrite already-parsed instructions.

IFeatureAnchorProvider

Supplies the primary point anchor for a feature during drawing-instruction parsing. Used by DrawingInstructionParser to tessellate augmented line geometry (AugmentedRay, ArcByRadius, AugmentedPath) whose geodesic origin is the feature's point position (e.g. sector lights, all-around lights).

IFeatureGeometryProvider

Resolves the spatial geometry for a feature given its S-100 feature reference.

IFeatureXmlSource

Provides S-100 Part 9 FeatureXML for vector portrayal pipeline consumption. Implementations project dataset features (e.g. from ISO 8211 records) into the XML intermediate form that XSLT portrayal rules operate on.

ILuaRuleSource

Capability interface for catalogues that supply Lua portrayal rules (S-100 Part 9A). A catalogue implements this interface as part of IVectorPortrayalCatalogue; products that ship no Lua rules (e.g. the GML/XSLT products) return an empty list from GetLuaSourceNamesAsync(CancellationToken) and an empty ContextParameters.

IPortrayalAssetSource

Capability interface for catalogues that supply portrayal assets — SVG symbols, line styles, and area fills (S-100 Part 9 §11). The MapsuiDisplayListRenderer and equivalent renderers consume these via per-feature provider callbacks.

ISpatialReferenceResolver

Resolves the spatial objects a portrayal rule names with a SpatialReference drawing command, so a line instruction can be drawn along those curves only rather than the feature's whole geometry.

IVectorLayer

A styled vector layer carrying ordered drawing instructions produced by portrayal rule evaluation, ready for rendering.

IVectorPortrayalCatalogue

Portrayal catalogue for vector (S-101-style) products. Composes the rule-list and viewing-group surface required by VectorPipeline with the three capability interfaces that supply rules and assets: IXsltRuleSource, ILuaRuleSource, and IPortrayalAssetSource.

IVectorRuleExecutor

Executes one portrayal-rule engine for a bound dataset and returns typed drawing instructions. This is the unified pipeline's pluggable rule stage: VectorPipeline invokes each registered executor once per render and concatenates the results before viewing-group filtering and priority sorting.

IVectorSource

Abstracts read access to a vector (feature) dataset for pipeline consumption. Product-specific adapters (e.g. S101VectorSource) implement this interface.

IXsltRuleSource

Capability interface for catalogues that supply XSLT portrayal rules (S-100 Part 9 §9.4). A catalogue implements this interface when at least one of its loaded rules has Xslt.

Enums

AreaPlacementMode

Where a point symbol or text goes on a surface (S-100 Part 9 AreaPlacementMode).

DisplayPlane

The display plane a feature is drawn on (S-52/S-100 portrayal model).

DrawingInstructionCategory

Categories of DrawingInstruction that can be selectively suppressed from a rendered scene. Mirrors the four S-100 Part 9 instruction types (areas → lines → points → text) and is used by callers — typically the headless render path — that want to hide certain primitive classes (e.g. text labels at preview scales) without re-running the portrayal pipeline.

GeometryType

The geometric primitive of a vector Feature (S-100 Part 7 spatial types), which determines how its Coordinates are interpreted.

LinePlacementMode

S-100 Part 9 line placement mode.

PortrayalAssetKind

The kind of named portrayal asset a lookup was for. Used by PortrayalAssetNotFoundException so a handler can react to the category of the missing asset without parsing the message.

PortrayalRuleType

Distinguishes between XSLT-based and Lua-based portrayal rules.

PortrayalTimeKind

What the bounds of a PortrayalTimeInterval are: the Date, Time or DateTime command that set them (S-100 Part 9a §9a-11.2.6).

SymbolRotationCrs

The frame a symbol rotation is measured in (S-100 Part 9 rotationCRS).

TextFontProportion

S-100 Part 9 font proportion.

TextFontWeight

S-100 Part 9 font weight.

TextHorizontalAlignment

S-100 Part 9 horizontal text alignment.

TextVerticalAlignment

S-100 Part 9 vertical text alignment.

TimeIntervalClosure

Which bounds of a PortrayalTimeInterval apply and whether each is included: the S-100 S100_IntervalType named by a TimeValid command (S-100 Part 9a §9a-11.2.6).