Table of Contents

Struct CoverageClampPose

Namespace
LansMap.Core.View

The inputs TerrainCoverageClamp needs to answer "what pose can selection still cover": everything but the axis being solved for and the static cap/floor it bisects from.

public readonly struct CoverageClampPose
Inherited Members

Remarks

Constructors

CoverageClampPose(ScreenSize, int, double, double, double, double, double, int, double, double)

Builds a pose from its ten fields.

public CoverageClampPose(ScreenSize screen, int tileSizePx, double screenPixelScale, double latitudeDeg, double rotationDeg, double zoomOrPitch, double maxViewDistanceFactor, int layerBudget, double maxElevationMeters, double altitudeScale = 1)

Parameters

screen ScreenSize
tileSizePx int
screenPixelScale double
latitudeDeg double
rotationDeg double
zoomOrPitch double
maxViewDistanceFactor double
layerBudget int
maxElevationMeters double
altitudeScale double

Fields

AltitudeScale

Unitless multiplier on marker altitudes and terrain height alike, 1 for true scale. See AltitudeScale; pass the map's own live value so the probe transform's terrain displacement matches what the real view would draw.

public readonly double AltitudeScale

Field Value

double

LatitudeDeg

Center latitude in degrees WGS84.

public readonly double LatitudeDeg

Field Value

double

LayerBudget

Tile layer budget already available to the map. Not resized here: the clamp only keeps interaction inside what selection can already cover.

public readonly int LayerBudget

Field Value

int

MaxElevationMeters

Worst-case ground height above the flat plane, in meters. Zero or negative disables the clamp entirely.

public readonly double MaxElevationMeters

Field Value

double

MaxViewDistanceFactor

See MaxViewDistanceFactor; pass the map's own value.

public readonly double MaxViewDistanceFactor

Field Value

double

RotationDeg

Current bearing in degrees; the probe holds this fixed.

public readonly double RotationDeg

Field Value

double

Screen

Viewport size in screen px.

public readonly ScreenSize Screen

Field Value

ScreenSize

ScreenPixelScale

Positive device pixels per logical map pixel.

public readonly double ScreenPixelScale

Field Value

double

TileSizePx

Tile edge length in px; 256 or 512.

public readonly int TileSizePx

Field Value

int

ZoomOrPitch

The fixed axis: current zoom when solving for pitch, current pitch when solving for zoom. See the type remarks.

public readonly double ZoomOrPitch

Field Value

double