Click or drag to resize

AzimuthElevationMask Class

An azimuth-elevation mask which defines a region of visibility defined by the horizon.
Inheritance Hierarchy
SystemObject
  System.Collections.ObjectModelCollectionElevationMask
    AGI.Foundation.TerrainAzimuthElevationMask

Namespace:  AGI.Foundation.Terrain
Assembly:  AGI.Foundation.Models (in AGI.Foundation.Models.dll) Version: 24.3.420.0 (24.3.420.0)
Syntax
public class AzimuthElevationMask : Collection<ElevationMask>, 
	IAzimuthElevationMask, IEnumerable<ElevationMask>, IEnumerable

The AzimuthElevationMask type exposes the following members.

Constructors
  NameDescription
Public methodAzimuthElevationMask
Initializes a new instance.
Public methodAzimuthElevationMask(Cartographic)
Initializes a new instance centered at the specified planetodetic position.
Public methodAzimuthElevationMask(CentralBody, Cartographic)
Initializes a new instance centered at the specified planetodetic position on the specified central body.
Top
Properties
  NameDescription
Public propertyCentralBody
Gets or sets the central body to which this mask is relative.
Public propertyCount (Inherited from CollectionElevationMask.)
Public propertyItem
Gets or sets the element at the specified index.
(Inherited from CollectionElevationMask.)
Protected propertyItems (Inherited from CollectionElevationMask.)
Public propertyPosition
Gets or sets the planetodetic position of the observer for the mask.
Top
Methods
  NameDescription
Public methodAdd (Inherited from CollectionElevationMask.)
Public methodClear (Inherited from CollectionElevationMask.)
Protected methodClearItems (Inherited from CollectionElevationMask.)
Public methodContains (Inherited from CollectionElevationMask.)
Public methodCopyTo (Inherited from CollectionElevationMask.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetEnumerator (Inherited from CollectionElevationMask.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetMaximumObscuredElevation(Double, Double)
Computes the maximum elevation angle that is obscured as of a specified distance along an azimuth ray.
Public methodStatic memberGetMaximumObscuredElevation(ElevationMask, ElevationMask, Double, Double)
Computes the maximum elevation angle that is obscured as of a specified distance along an azimuth ray between two ElevationMask instances.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIndexOf (Inherited from CollectionElevationMask.)
Public methodInsert (Inherited from CollectionElevationMask.)
Protected methodInsertItem (Inherited from CollectionElevationMask.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodRemove (Inherited from CollectionElevationMask.)
Public methodRemoveAt (Inherited from CollectionElevationMask.)
Protected methodRemoveItem (Inherited from CollectionElevationMask.)
Protected methodSetItem
Replaces the element at the specified index.
(Inherited from CollectionElevationMask.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Remarks

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.

AzimuthElevationMask is a 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.

Use TerrainAzimuthElevationMask to compute an AzimuthElevationMask from terrain data. Use the GetMaximumObscuredElevation(Double, Double) method to query the maximum obscured elevation angle as a function of azimuth and distance. Alternately, you can use DelayedTerrainAzimuthElevationMask to produce an IAzimuthElevationMask which computes its values on demand, which is useful in cases where only a small swath of the mask needs to be computed for analysis.

NOTE: All of the ElevationMask instances in this collection must be sorted by azimuth in increasing order and the azimuths must not wind. The collection must have at least 2 items.

See Also