Struct CoverageClampPose
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
ZoomOrPitch holds whichever axis is NOT being solved: the current zoom for MaxCoveredPitchDeg(in CoverageClampPose, double, List<TileCoord>), the current pitch for MinCoveredZoom(in CoverageClampPose, double, List<TileCoord>).
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
screenScreenSizetileSizePxintscreenPixelScaledoublelatitudeDegdoublerotationDegdoublezoomOrPitchdoublemaxViewDistanceFactordoublelayerBudgetintmaxElevationMetersdoublealtitudeScaledouble
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
LatitudeDeg
Center latitude in degrees WGS84.
public readonly double LatitudeDeg
Field Value
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
MaxElevationMeters
Worst-case ground height above the flat plane, in meters. Zero or negative disables the clamp entirely.
public readonly double MaxElevationMeters
Field Value
MaxViewDistanceFactor
See MaxViewDistanceFactor; pass the map's own value.
public readonly double MaxViewDistanceFactor
Field Value
RotationDeg
Current bearing in degrees; the probe holds this fixed.
public readonly double RotationDeg
Field Value
Screen
Viewport size in screen px.
public readonly ScreenSize Screen
Field Value
ScreenPixelScale
Positive device pixels per logical map pixel.
public readonly double ScreenPixelScale
Field Value
TileSizePx
Tile edge length in px; 256 or 512.
public readonly int TileSizePx
Field Value
ZoomOrPitch
The fixed axis: current zoom when solving for pitch, current pitch when solving for zoom. See the type remarks.
public readonly double ZoomOrPitch