Class DynamicVesselGeometry
- Namespace
- EncDotNet.S100.DynamicSources
- Assembly
- EncDotNet.S100.Core.dll
Optional vessel-geometry sidecar for a moving point feature (own-ship, AIS target). Lets renderers draw a true-scale hull outline when the viewport is zoomed in far enough for the vessel to be visually distinguishable.
public sealed record DynamicVesselGeometry : IEquatable<DynamicVesselGeometry>
- Inheritance
-
DynamicVesselGeometry
- Implements
- Inherited Members
Remarks
All lengths are in metres. The four offsets together describe the position of the GPS / reference point ("CCRP" per IEC 62388) relative to the hull rectangle:
- LengthMetres — bow-to-stern length.
- BeamMetres — port-to-starboard width.
- BowOffsetMetres — distance aft of bow to the antenna.
- PortOffsetMetres — distance starboard of port side to the antenna.
The shape mirrors the AIS Type 5 reference-point payload
(dimA/dimB/dimC/dimD) so AIS adapters map cleanly:
LengthMetres = dimA + dimB,
BeamMetres = dimC + dimD,
BowOffsetMetres = dimA, PortOffsetMetres = dimC.
Validation (positive lengths, bow/port offsets within the hull) is documented but not enforced by the record — the type tolerates partial / out-of-range data the same way DynamicMotion does. Producers (e.g. settings UIs) are expected to guard input.
Properties
BeamMetres
Port-to-starboard beam in metres. Must be > 0.
public required double BeamMetres { get; init; }
Property Value
BowOffsetMetres
Distance aft of bow to the GPS antenna in metres (0 ≤ x ≤ LengthMetres).
public required double BowOffsetMetres { get; init; }
Property Value
LengthMetres
Bow-to-stern length in metres. Must be > 0.
public required double LengthMetres { get; init; }
Property Value
PortOffsetMetres
Distance starboard of port side to the GPS antenna in metres (0 ≤ x ≤ BeamMetres).
public required double PortOffsetMetres { get; init; }