Class S100MapsuiOptions
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
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
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
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
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
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
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
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
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
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
SceneMode
Gets the vector-scene rendering mode used by the tiled base-plane renderer (tiled vs single-surface).
public VectorSceneMode SceneMode { get; init; }