Class HeadlessCompositor
Mapsui-free multi-layer S-100 compositor. Given a set of pre-built, renderer-neutral portrayal results (vector and/or coverage), the compositor drives the renderer-neutral S-98 ordering / suppression engine (LayerStackBuilder + IInteroperabilityAuthority), lowers each ordered sub-layer into a Skia CompositeLayer, and paints them against one shared Viewport via HeadlessCompositeRenderer — reproducing, without Mapsui, the cross-dataset draw order and depth suppression the viewer applies (e.g. the canonical S-101-under-S-102 interleave, S-98 Annex A §A-6.9.1).
public sealed class HeadlessCompositor
- Inheritance
-
HeadlessCompositor
- Inherited Members
Remarks
Coverage layers are reprojected from their grid's native CRS to WGS84 via the supplied ICrsTransformFactory (ProjNet in the facade) so they register with vector layers in the shared viewport's pixel space. Pre-projected point-glyph coverage sub-layers (S-104 / S-111 fixed-station variants) are not yet supported in the composite path and are skipped.
Constructors
HeadlessCompositor(ICrsTransformFactory, IInteroperabilityAuthority?)
Creates a compositor.
public HeadlessCompositor(ICrsTransformFactory crsTransformFactory, IInteroperabilityAuthority? authority = null)
Parameters
crsTransformFactoryICrsTransformFactoryFactory used to reproject coverage grids' native CRS extents to WGS84.
authorityIInteroperabilityAuthorityThe S-98 interoperability authority (ordering + rule policy). Defaults to an InteroperabilityAuthority over Default.
Methods
Prepare(IReadOnlyList<HeadlessCompositeInput>, HeadlessCompositeOptions?)
Orders, rules and lowers the supplied datasets once, returning a scene that can be painted against many viewports.
public HeadlessCompositeScene Prepare(IReadOnlyList<HeadlessCompositeInput> datasets, HeadlessCompositeOptions? options = null)
Parameters
datasetsIReadOnlyList<HeadlessCompositeInput>The datasets to composite, in draw order (bottom-most first). Each carries a vector or coverage portrayal result.
optionsHeadlessCompositeOptions
Returns
- HeadlessCompositeScene
The prepared scene.
Render(IReadOnlyList<HeadlessCompositeInput>, HeadlessCompositeOptions?)
Composites the supplied datasets into a single bitmap.
public SKBitmap Render(IReadOnlyList<HeadlessCompositeInput> datasets, HeadlessCompositeOptions? options = null)
Parameters
datasetsIReadOnlyList<HeadlessCompositeInput>The datasets to composite, in draw order (bottom-most first). Each carries a vector or coverage portrayal result.
optionsHeadlessCompositeOptionsRender options (size / explicit viewport / background / mariner).
Returns
- SKBitmap
A newly allocated bitmap owned by the caller.