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: 25.2.423.0 (25.2.423.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
Gets the number of elements actually contained in the CollectionT.
(Inherited from CollectionElevationMask.)
Public propertyItem
Gets or sets the element at the specified index.
(Inherited from CollectionElevationMask.)
Protected propertyItems
Gets a IListT wrapper around the CollectionT.
(Inherited from CollectionElevationMask.)
Public propertyPosition
Gets or sets the planetodetic position of the observer for the mask.
Top
Methods
  NameDescription
Public methodAdd
Adds an object to the end of the CollectionT.
(Inherited from CollectionElevationMask.)
Public methodClear
Removes all elements from the CollectionT.
(Inherited from CollectionElevationMask.)
Protected methodClearItems
Removes all elements from the CollectionT.
(Inherited from CollectionElevationMask.)
Public methodContains
Determines whether an element is in the CollectionT.
(Inherited from CollectionElevationMask.)
Public methodCopyTo
Copies the entire CollectionT to a compatible one-dimensional Array, starting at the specified index of the target array.
(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
Returns an enumerator that iterates through the CollectionT.
(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
Searches for the specified object and returns the zero-based index of the first occurrence within the entire CollectionT.
(Inherited from CollectionElevationMask.)
Public methodInsert
Inserts an element into the CollectionT at the specified index.
(Inherited from CollectionElevationMask.)
Protected methodInsertItem
Inserts an element into the CollectionT at the specified index.
(Inherited from CollectionElevationMask.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodRemove
Removes the first occurrence of a specific object from the CollectionT.
(Inherited from CollectionElevationMask.)
Public methodRemoveAt
Removes the element at the specified index of the CollectionT.
(Inherited from CollectionElevationMask.)
Protected methodRemoveItem
Removes the element at the specified index of the CollectionT.
(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