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-101NavHazard,ProhAreorSafetyContouralert 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/DateTimecommand and theTimeValidcommand 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
Symbolsfolder.
- 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:
- XSLT rule execution — a built-in XsltRuleExecutor (Part 9 §9.4) handles FeatureXML acquisition, rule selection, transformation, and display-list assembly.
- Lua rule execution — an optional injected IVectorRuleExecutor (Part 9A).
- 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
MapsuiDisplayListRendererand equivalent renderers consume these via per-feature provider callbacks.
- ISpatialReferenceResolver
Resolves the spatial objects a portrayal rule names with a
SpatialReferencedrawing 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,TimeorDateTimecommand 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_IntervalTypenamed by aTimeValidcommand (S-100 Part 9a §9a-11.2.6).