Click or drag to resize

DelayedTerrainAzimuthElevationMask Class

An azimuth-elevation mask which defines a region of visibility defined by a given TerrainProvider. Instead of computing the terrain horizon all at once, the values bounding a given azimuth will be computed upon the first request for their values. In many cases, this can decrease the amount of calculation required if only a small swath of the field of view is required.
Inheritance Hierarchy

Namespace:  AGI.Foundation.Terrain
Assembly:  AGI.Foundation.TerrainAnalysis (in AGI.Foundation.TerrainAnalysis.dll) Version: 23.2.417.0 (23.2.417.0)
public sealed class DelayedTerrainAzimuthElevationMask : IAzimuthElevationMask, 
	IEnumerable<ElevationMask>, IEnumerable, IThreadAware, ICloneWithContext

The DelayedTerrainAzimuthElevationMask type exposes the following members.

Public methodDelayedTerrainAzimuthElevationMask(TerrainProvider, Cartographic, Double, Double, Int32)
Create a new instance of the mask based on the given terrain.
Public methodDelayedTerrainAzimuthElevationMask(TerrainProvider, Double, Double, Cartographic, Double, Double, Int32)
Create a new instance of the mask based on the given terrain.
Public propertyCentralBody
Gets the central body to which this mask is relative.
Public propertyCount
Gets the number of ElevationMask objects in this azimuth elevation mask.
Public propertyIsThreadSafe
Gets a value indicating whether the methods on this instance are safe to call from multiple threads simultaneously.
Public propertyItem
Gets the element at the specified index. If the value requested is not already computed, it will be computed.
Public propertyPosition
Gets the planetodetic position of the observer for the mask.
Public methodClone
Clones this object using the specified context.
Public methodContains
Determine whether the requested item is in this azimuth elevation mask.
Public methodCopyTo
Copies the ElevationMask values to the given array. If any of the values are not yet computed, they will be computed before copying them to the array.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodGetEnumerator
Returns an enumerator that iterates through the collection.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetMaximumObscuredElevation
Computes the maximum elevation angle that is obscured as of a specified distance along an azimuth ray. This will compute any values of the surrounding ElevationMask instances bounding the given azimuth that haven't been computed yet.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIndexOf
Returns the index of the given item in the azimuth elevation mask.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)

An Azimuth-Elevation Mask describes how the horizon looks to a stationary object. It holds the maximum obscured elevation angle in each sampled direction from the stationary object. It can also keep track of the maximum elevation angle as a function of the linear distance from the origin of the mask. For example, if the stationary object is in a canyon, objects also inside the canyon are visible at a very low elevation angle. However, objects past the canyon walls are only visible if they are at a much steeper elevation angle such that they are above the walls.

This IAzimuthElevationMask is a read-only collection of ElevationMask instances. Each ElevationMask corresponds to a particular direction. The direction is described by the Azimuth property as an azimuth angle measured from North toward East. The maximum obscured elevation angle in that direction is described by the Elevation property. Each ElevationMask instance is also a collection of ElevationRise instances, each of which describes a change in the maximum obscured elevation angle along the ray. The ElevationRise also records the linear distance from the origin of the mask to the obscured point along the given azimuth and elevation angles.

See Also