Struct PolylineStore.Segment
One line segment in chain-unwrapped normalized mercator, consumed by the GPU line layer.
public struct PolylineStore.Segment
- Inherited Members
Fields
AltA
Endpoint altitudes in normalized mercator, same units as MaxAltitudeMercator.
public float AltA
Field Value
AltB
Endpoint altitudes in normalized mercator, same units as MaxAltitudeMercator.
public float AltB
Field Value
Ax
Endpoints in chain-unwrapped normalized mercator. A seam-crossing line may place X outside [0, 1).
public double Ax
Field Value
Ay
Endpoints in chain-unwrapped normalized mercator. A seam-crossing line may place X outside [0, 1).
public double Ay
Field Value
Bx
Endpoints in chain-unwrapped normalized mercator. A seam-crossing line may place X outside [0, 1).
public double Bx
Field Value
By
Endpoints in chain-unwrapped normalized mercator. A seam-crossing line may place X outside [0, 1).
public double By
Field Value
ColorRgba
Stroke color as packed RGBA.
public uint ColorRgba
Field Value
CornerRadiusRatio
Corner radius of joins and caps as a fraction of the half width; see SetLineCornerRadiusRatio(int, float).
public float CornerRadiusRatio
Field Value
DashPeriodMercator
Dash plus gap length in normalized mercator; 0 when solid or screen-dashed.
public float DashPeriodMercator
Field Value
DashPeriodPx
Dash plus gap length in screen px; 0 draws solid.
public float DashPeriodPx
Field Value
DashPitchInvariant
True when a screen-px dash pattern ignores pitch; no effect while ground-locked or solid.
public bool DashPitchInvariant
Field Value
DistMercA
Chain-unwrapped mercator path length from the line's first vertex to endpoint A, ground distance only (altitude excluded). Double per the mercator-is-double rule; the GPU layer narrows it to float on upload.
public double DistMercA
Field Value
Flat
True when the ribbon lies in the ground plane; see SetLineFlat(int, bool).
public bool Flat
Field Value
NextSlotOffset
Slot offset of the segment that starts at this segment's B, relative to this slot; 0 when B ends the line (a cap).
public int NextSlotOffset
Field Value
PrevSlotOffset
Slot offset of the segment that ends at this segment's A, relative to this slot; 0 when A starts the line (a cap).
public int PrevSlotOffset
Field Value
WidthPx
Stroke width in screen px; zero marks a removed slot.
public float WidthPx
Field Value
Properties
PackedDashPeriod
The dash period as the GPU reads it: positive is screen px, negative is normalized mercator, 0 draws solid.
public float PackedDashPeriod { get; }
Property Value
PackedDistMercA
The dash-phase distance as the GPU reads it: PhaseDistMercA with a negative sign bit marking a flat segment, negative zero included.
public double PackedDistMercA { get; }
Property Value
PackedWidthPx
The width as the GPU reads it: negative marks a screen-dashed, pitch-invariant live segment; 0 hides. Never negative on a flat segment - a flat line's width already foreshortens with the ground, so a dash that additionally ignored pitch would be inconsistent with that.
public float PackedWidthPx { get; }
Property Value
PhaseDistMercA
The distance the GPU reads for dash phase: DistMercA reduced modulo a ground-locked period, so a long trail keeps full float phase precision; unchanged when solid or screen-dashed.
public double PhaseDistMercA { get; }