Table of Contents

Class S100MapsuiOptions

Namespace
EncDotNet.S100.Renderers.Mapsui
Assembly
EncDotNet.S100.Renderers.Mapsui.dll

Captures Mapsui-specific S-100 rendering configuration for a renderer or map session.

public sealed record S100MapsuiOptions : IEquatable<S100MapsuiOptions>
Inheritance
S100MapsuiOptions
Implements
Inherited Members

Remarks

Defaults are copied from the environment-backed RenderingOptimizations store when an instance is created. Hosts can override individual values without mutating process-global state. Additional renderer settings will move onto this type incrementally as the reusable Mapsui session API evolves.

Properties

CrsTransformFactory

Gets the CRS transform factory used to build the default dataset renderer (the coverage and arrow renderers project a native grid CRS to EPSG:3857). Required unless a prebuilt DatasetRenderer is supplied, since that renderer already carries its own. The reusable assembly ships no CRS implementation, so a host that does not inject a renderer supplies one here (e.g. ProjNetCrsTransformFactory).

public ICrsTransformFactory? CrsTransformFactory { get; init; }

Property Value

ICrsTransformFactory

DatasetPipelineFactory

Gets the dataset processor factory used to build processors when loading datasets from a path (LoadAsync(string, MapDatasetId?, CancellationToken)). The host chooses which products and portrayal catalogues the factory supports — e.g. the built-in DatasetPipelineFactory from EncDotNet.S100.Datasets.Pipelines, or one registering only a subset of products. When null, path-based loading throws; the caller can still add pre-built processors via AddDatasetAsync(MapDataset, IDatasetProcessor, int?, int?, CancellationToken).

public IDatasetProcessorFactory? DatasetPipelineFactory { get; init; }

Property Value

IDatasetProcessorFactory

DatasetRenderer

Gets the prebuilt processor-to-Mapsui dataset renderer. When null, AddS100(Map, S100MapsuiOptions?) builds one from CrsTransformFactory and PatternClipCache. When supplied, CrsTransformFactory is unused (the renderer already carries its own). The renderer is not disposable, so ownership carries no disposal obligation; a DI host passes a shared renderer.

public MapsuiDatasetRenderer? DatasetRenderer { get; init; }

Property Value

MapsuiDatasetRenderer

DynamicFeatureRendererResolver

Gets the resolver the session's dynamic-source host uses to find an IDynamicFeatureRenderer for a source's RendererKey. Returns null for an unknown key to fall back to the default renderer. When the whole delegate is null, every source uses the default renderer. A DI host typically passes a resolver over its keyed services.

public Func<string?, IDynamicFeatureRenderer?>? DynamicFeatureRendererResolver { get; init; }

Property Value

Func<string, IDynamicFeatureRenderer>

DynamicSourceCoalesceWindow

Gets the minimum interval between full rebuilds of a single dynamic source's overlay layer (a coalescing throttle for high-frequency sources). When null, the host's default (250 ms) is used.

public TimeSpan? DynamicSourceCoalesceWindow { get; init; }

Property Value

TimeSpan?

DynamicSourceMarshal

Gets the marshal used by the session's dynamic-source host to run overlay mutations on the map thread. Dynamic sources publish changes from arbitrary threads, so a UI host supplies a dispatcher-backed marshal (e.g. one that posts to the UI thread). When null, the host runs mutations inline (synchronously) on the caller's thread, which suits headless or single-threaded hosts.

public Action<Action>? DynamicSourceMarshal { get; init; }

Property Value

Action<Action>

InteroperabilityAuthorityProvider

Gets the runtime S-98 cross-product ordering and suppression authority provider. When null, AddS100(Map, S100MapsuiOptions?) uses a default runtime authority.

public IInteroperabilityAuthorityProvider? InteroperabilityAuthorityProvider { get; init; }

Property Value

IInteroperabilityAuthorityProvider

PatternClipCache

Gets the process-wide pattern-fill priority-clip cache shared by the dataset renderer. When null an in-memory single-slot cache is used for the session's lifetime.

public IPatternClipCache? PatternClipCache { get; init; }

Property Value

IPatternClipCache

ProcessorOwner

Gets the processor owner from which the session acquires render leases. When null, AddS100(Map, S100MapsuiOptions?) creates one and disposes it with the session. When supplied, the session treats it as borrowed and never disposes it — the caller owns its lifetime. A DI host passes a shared owner so other services (e.g. a dataset-loading coordinator) acquire and register processors on the same owner as the map session.

public DatasetProcessorOwner? ProcessorOwner { get; init; }

Property Value

DatasetProcessorOwner

RedrawMarshal

Gets the marshal used to run the session's redraw on the host's UI thread. The S-100 vector renderers rasterise cached / scene / tile output on background threads; when a settled image publishes, the session invalidates the attached map (Map.RefreshGraphics()) to bring it on screen. A UI host whose control must be invalidated on its dispatcher thread supplies a marshal (e.g. one that posts to the UI thread); when null the redraw runs inline on the publishing thread, which suits headless or single-threaded hosts.

public Action<Action>? RedrawMarshal { get; init; }

Property Value

Action<Action>

SceneMode

Gets the vector-scene rendering mode used by the tiled base-plane renderer (tiled vs single-surface).

public VectorSceneMode SceneMode { get; init; }

Property Value

VectorSceneMode