Table of Contents

Namespace EncDotNet.S100.Portrayals

Classes

AlertCatalogue

A portrayal catalogue's alert catalogue (S-100 Part 9 §9-17): the alerts drawing instructions refer to with AlertReference, with their messages and highlights. S-101 defines SafetyContour, ProhAre and NavHazard.

AlertCatalogueReader

Reads an S-100 alert catalogue XML file (S-100 Part 9 §9-17, the S100AlertCatalog schema) into an AlertCatalogue.

AlertDefinition

An alert in an AlertCatalogue.

AlertHighlight

A highlight an alert draws, and the viewing groups that turn it on or off.

AlertMessage

A message an alert or highlight shows.

AlertUse

How an alert is raised in route planning or route monitoring.

AreaFillReader

Reads an S-100 area fill XML file and produces an AreaFill.

CatalogItem

A file-backed asset declared by a PortrayalCatalogue, such as a symbol, line style, area fill, colour profile, pixmap, style sheet or the alert catalogue. The asset itself is loaded separately (see PortrayalCatalogueProvider) from the catalogue folder that matches its collection (e.g. Symbols/).

ColorProfileReader

Reads an S-100 color profile XML file and produces a ColorPalette.

ContextParameter

An S-100 Part 9 context parameter: a named, typed input to the portrayal rules (e.g. safety contour, shallow-contour depth, symbol style) whose value the mariner or host application may override. Declared in the catalogue's context section as parameter elements.

ContextParameterValidation

Optional value constraints for a ContextParameter, from its validate element. The reader captures these as declared; they are not enforced by this library.

Description

The human-readable description block attached to a portrayal catalogue item (viewing group, display mode, context parameter, rule file, asset, …).

DisplayMode

An S-100 Part 9 §11.7 display mode (e.g. DisplayBase, StandardDisplay, OtherInformation): a named selection of ViewingGroupLayers whose viewing groups are visible when the mode is active. DisplayModeMembership resolves a mode to its viewing-group ids.

DisplayModeMembership

Resolves S-100 Part 9 §11.7 display-mode membership: walks displayMode → viewingGroupLayer → viewingGroup and returns the integer viewing-group ids that belong to a given mode.

DisplayPlane

An S-100 Part 9 display plane declared by the catalogue (e.g. UnderRadar, OverRadar): a drawing layer relative to a radar overlay. Drawing instructions carry their plane as DisplayPlane; this type is the catalogue's declaration of it.

GmlPortrayalCatalogueBase

Base class for XSLT-based GML portrayal catalogues. Provides all the shared infrastructure — palette loading, rule discovery, XSLT compilation with caching, symbol/line-style/area-fill asset loading, and the XML resolver for xsl:include resolution.

GmlPortrayalCatalogueBase.AssetSourceXmlResolver

Default XmlResolver that resolves xsl:include/ xsl:import URIs against the pre-fetched rule-file bytes.

GmlPortrayalCatalogueBase.FetchRuleFallbackXmlResolver

Resolver that falls back to FetchRuleAsync(string, CancellationToken) for unregistered sub-templates. Used by specs (S-125, S-421) whose upstream PCs reference sub-templates not listed as rule file entries.

LineStyleReader

Reads an S-100 line style XML file and produces a LineStyle: its pen, dashes, interval and the symbols placed along the line, or the line styles of a composite line style.

PaletteLoadCoordinator

Centralizes the concurrency-safe, one-shot colour-palette load protocol shared by every portrayal catalogue.

PortrayalAssetCache

Default IPortrayalAssetCache implementation backed by ConcurrentDictionary<TKey, TValue> instances.

PortrayalCatalogue

Parsed model of an S-100 Part 9 Portrayal Catalogue (portrayal_catalogue.xml): the asset inventories, rule files, viewing groups and layers, display modes and planes, and context parameters used to portray one product specification. Produced by PortrayalCatalogueReader; the referenced files are loaded through PortrayalCatalogueProvider.

PortrayalCatalogueManager

Manages portrayal catalogue locations per product specification reference. Caches open PortrayalCatalogueProvider instances so that multiple datasets of the same spec share one catalogue.

PortrayalCatalogueProvider

A portrayal catalogue provider backed by an IAssetSource.

PortrayalCatalogueReader

Parses S-100 Part 9 Portrayal Catalogue XML (portrayal_catalogue.xml) into a PortrayalCatalogue. Elements are matched both unqualified and in the http://www.iho.int/S100PortrayalCatalog/5.2 namespace. Only the catalogue document is read; referenced asset and rule files are not opened.

RuleFile

A portrayal rule file declared in the catalogue's rules section — an XSLT template or Lua script that maps features to drawing instructions. Files are loaded from the catalogue's Rules/ folder.

SvgPivotMetrics

Pivot and bounding-box metrics extracted from an S-100 Part 9 SVG symbol, used by renderers that center symbol bitmaps on an anchor (instead of on the SVG's pivot point) to recover the spec-mandated placement.

SvgProcessor

Processes S-100 SVG symbols by resolving CSS class-based styling to inline attributes, removing layout/metadata elements, and stripping processing instructions that reference external CSS stylesheets.

ViewingGroup

An S-100 Part 9 viewing group: a named set of drawing instructions that the mariner can show or hide as a unit. Rules tag each drawing instruction with a viewing-group id; ViewingGroupLayers bundle groups and DisplayModes bundle layers.

ViewingGroupLayer

An S-100 Part 9 viewing-group layer: a named collection of ViewingGroups that DisplayModes reference to build up the content shown in each mode.

Interfaces

IPortrayalAssetCache

Process-scoped, spec-segmented storage for decoded portrayal assets (compiled XSLT transforms, parsed SVG symbols, line styles, area fills, colour palettes, compiled Lua scripts, and raw Lua source strings).

Enums

AlertPriority

The priority of an alert (S-100 Part 9 §9-17, MSC.530(106) Appendix 5).