Table of Contents

Class PassageLeg

Namespace
EncDotNet.S100.Navigation
Assembly
EncDotNet.S100.Navigation.dll

One leg of a passage: its track, its cross-track limits, and the vessel values that apply on it. Every check reads its legs from here. Callers resolve inheritance (route values, per-leg overrides) before building a leg, so every value here is the effective one.

public sealed class PassageLeg
Inheritance
PassageLeg
Inherited Members

Properties

Draft

The vessel's draft on this leg, or null when it has none. The clearance check needs a draft on every leg; the chart check judges a leg's dangers against its keel (draft + squat + required UKC) when it has one.

public Depth? Draft { get; init; }

Property Value

Depth?

Geometry

Whether the leg is a rhumb line or a great circle.

public LegGeometry Geometry { get; init; }

Property Value

LegGeometry

Name

An optional display name for the leg, such as "Leg 6 → 7".

public string? Name { get; init; }

Property Value

string

Points

The leg's positions in order: at least two (its waypoints), or more when the caller has already densified the leg.

public required IReadOnlyList<GeoPosition> Points { get; init; }

Property Value

IReadOnlyList<GeoPosition>

PortLimit

How far the corridor reaches to port of the track (S-421 routeWaypointLegPortXTDL; RTZ portsideXTD), or null for the check's default half-width. This is one side only, not the corridor's full width.

public Length? PortLimit { get; init; }

Property Value

Length?

RequiredUkc

The required under-keel clearance, or null when unset; an unset value checks against 0 m, and the clearance result says no margin is set.

public Depth? RequiredUkc { get; init; }

Property Value

Depth?

Speed

Speed over ground on this leg, or null when unknown. S-111 currents aren't applied. Without a speed, the leg and every later leg have no ETAs.

public Speed? Speed { get; init; }

Property Value

Speed?

Squat

A fixed squat allowance. It isn't modelled from speed. Zero when no allowance is set.

public Depth Squat { get; init; }

Property Value

Depth

StarboardLimit

How far the corridor reaches to starboard of the track, or null for the check's default half-width.

public Length? StarboardLimit { get; init; }

Property Value

Length?