Click or drag to resize

AGI.Foundation.Access.Constraints Namespace

Contains types used in modeling constraints applied to the calculation of access.
Classes
  ClassDescription
Public classAltitudeConstraint
An Access constraint that restricts access to when the ConstrainedObject is above a minimum and below a maximum altitude in meters with respect to the given central body. Altitude is measured orthogonally from the subpoint of the ConstrainedObject object on the surface of the central body's ellipsoid.
Public classAngleInPlaneConstraint
An access constraint that projects the displacement vector from one object to another into a given axis-aligned plane and requires that the angle of the projected vector, measured from the first axis defining the plane toward the second, is within a range of values. This constraint is similar to AzimuthAngleConstraint except that is allows for much more flexibility in how the azimuth is defined.
Public classAngleOutOfPlaneConstraint
An access constraint that requires that the angle of the displacement vector between two objects above a given axis-aligned plane is within a range of values. This constraint is similar to ElevationAngleConstraint except that it allows for much more flexibility in how the elevation is defined.
Public classAzimuthAngleConstraint
An Access constraint that requires that the object at the other end of the ConstrainedLink be between a range of azimuth angles as viewed from the ConstrainedLinkEnd.
Public classAzimuthAngleRateConstraint
An Access constraint that requires that the angular motion of the other end of the ConstrainedLink be between a range of azimuth angle rates in radians per second as viewed from the ConstrainedLinkEnd.
Public classAzimuthElevationMaskConstraint
An Access constraint that determines whether the object at the other end of the ConstrainedLink is visible based on an AzimuthElevationMask associated with the ConstrainedLinkEnd. The constraint value is the angular separation from the top of the highest terrain peak to the line-of-sight vector from the ConstrainedLinkEnd to the other end of the link. Therefore, the MinimumValue is the smallest angular separation that is required in order for access to be available, and is typically set to 0.0 so that a line-of-sight that just grazes the terrain will allow access, as will any line-of-sight that is above the terrain. Similarly, the MaximumValue is the maximum allowed angular separation, and it is usually not set at all.
Public classCartographicZoneConstraint
This constraint limits access to within a certain cartographic region. Depending on parameters, either there is a list of regions which do not allow access (exclusion) or a single region which allows access (inclusion) and excludes all other regions.
Public classCentralBodyEllipticCylindricalAccessConstraint
An access constraint in the shape of an elliptic cylinder (or a circular cylinder by setting the x semiaxis length equal to the y semiaxis length) defined by a central point, a heading for the x semiaxis, and the corresponding x semiaxis and y semiaxis lengths. This cylinder is located on the surface of the supplied central body and extends outwardly in the direction of the surface normal. If a cylinder banded in altitude is desired, then use this constraint in conjunction with AltitudeConstraint.
Public classCentralBodyLayeredProjectedVolumeAccessConstraint
An access constraint that takes a set of points and altitude layers to create a layered volume access constraint. This constraint takes the input points defining the volume and assigns them to the appropriate altitude layer (or layers, as boundaries are inclusive). Within each layer, the points are projected onto an altitude sheet for use with a two dimensional convex hull algorithm. The points are then transformed into a two dimensional convex hull, which is then extruded from the bottom of the layer to the top of the layer, forming a volume. If the ConstrainedObject is within any of the extruded convex hulls in any layer then it is considered to be within the volume defined by the access constraint.
Public classCentralBodyLayeredProjectedVolumeAccessConstraintVolumeLayer
A representation of an individual projected volume used in CentralBodyLayeredProjectedVolumeAccessConstraint.
Public classCentralBodyObstructionConstraint
An Access constraint that requires that the view from one object to another not be obstructed by a central body such as the Earth or another planet. Only the spheroidal shape of the central body is considered. That is, terrain and the mean sea level surface are NOT considered.
Public classCentralBodySurfaceCurveElevationAngleConstraint
An Access constraint that requires that an object be between a span of elevation angles from any or all of the points along a given line on the surface of the central body.
Public classCentralBodySurfaceRegionConstraint
An AccessConstraint that requires that an object be within a given CentralBodySurfaceRegion.
Public classCentralBodySurfaceRegionElevationAngleConstraint
An AccessConstraint that requires that an object be between a span of elevation angles from any or all of the points in a given area on the surface of the CentralBody.
Public classCentralBodySurfaceRegionSensorVolumeConstraint
An access constraint that requires that an EllipsoidSurfaceRegion attached to one end of the ConstrainedLink be partially within the volume of the sensor attached to the other end of the link.
Public classCircularEquatorialOrbitGrazingAngleConstraint
An Access constraint that requires that the grazing angle between a ring in the equatorial plane of the provided CentralBody and the direction to an object at the other end of the ConstrainedLink be between a span of values as viewed from the ConstrainedLinkEnd.
Public classCommunicationLinkConstraint

An access constraint which is based on a communication link parameter defined by a CommunicationLinkScalar. The ConstrainedLink for the ILinkConstraint is simply the CommunicationLink on the ConstraintParameter.

The tolerances for the MinimumTolerance and MaximumTolerance may be in either linear or decibel units, depending on the value of UseLogarithmicSampling specified on the ConstraintParameter.

Communication constraints are generally sampled in logarithmic units to avoid dealing with extremely small numbers in cases where the linear units can commonly have values near zero (-200 dB is 1e-20 in linear units). This is largely due to the large range of values achievable in communications analysis, as gains can be extremely high near antennas and drop off to zero over the large distances encountered routinely in wireless communications. The default tolerance is set to Epsilon8. Since most of the communications scalars will use logarithmic sampling, this should provide a reasonable tolerance. If using linear units, this tolerance will need to be set significantly lower.

Public classCommunicationObjectConstraint

An access constraint which is based on a communication or link budget parameter defined by a CommunicationObjectScalar. The ConstrainedObject for the ISingleObjectConstraint is simply the CommunicationObject on the ConstraintParameter.

The tolerances for the MinimumTolerance and MaximumTolerance may be in either linear or decibel units, depending on the value of UseLogarithmicSampling specified on the ConstraintParameter.

Communication constraints are generally sampled in logarithmic units to avoid dealing with extremely small numbers in cases where the linear units can commonly have values near zero (-200 dB is 1e-20 in linear units). This is largely due to the large range of values achievable in communications analysis, as gains can be extremely high near antennas and drop off to zero over the large distances encountered routinely in wireless communications. The default tolerance is set to Epsilon8. Since most of the communications scalars will use logarithmic sampling, this should provide a reasonable tolerance. If using linear units, this tolerance will need to be set significantly lower.

Public classCovarianceSeparationConstraint
An Access constraint that requires that the ends of the ConstrainedLink with uncertain position have a 'worst-case' separation above a minimum and below a maximum distance in meters. This separation is determined by using the ILocationPointCovarianceService provided by the ends of the constrained link, if one is available. The uncertainty ellipsoid is modeled, and the calculated separation represents the distance between the two points on the surface of the ellipsoids which are closest to one another.
Public classDilutionOfPrecisionConstraint
An Access constraint which restricts access to the ConstrainedObject to when the dilution of precision (DOP) is above a minimum, below a maximum or both.
Public classCode exampleElevationAngleConstraint
An Access constraint that requires that the object at the other end of the ConstrainedLink be between a span of elevation angles as viewed from the ConstrainedLinkEnd.
Public classElevationAngleRateConstraint
An Access constraint that requires that the object at the other end of the ConstrainedLink be between a range of elevation angle rates in radians per second as viewed from the ConstrainedLinkEnd.
Public classGroundSampleDistanceConstraint
An access constraint which requires the Ground Sample Distance (GSD) to be greater than a minimum and less than a maximum value.
Public classHeightAboveHorizonConstraint
An access constraint based on the vertical height (in meters) of the other end of the ConstrainedLink with respect to the horizontal plane of the ConstrainedLinkEnd object. Access is restricted to above a minimum and below a maximum height relative to the plane orthogonal to the central body's surface normal projected to the location of the ConstrainedLinkEnd object. Height below the plane of the horizon is considered as negative.
Public classNavigationAccuracyAssessedConstraint
An Access constraint which restricts access to the ConstrainedObject to when the assessed navigation accuracy is above a minimum, below a maximum or both.
Public classNavigationAccuracyPredictedConstraint
An Access constraint which restricts access to the ConstrainedObject to when the predicted navigation accuracy is above a minimum, below a maximum or both.
Public classRangeConstraint
An Access constraint that requires that the ends of the ConstrainedLink be above a minimum and below a maximum distance in meters.
Public classRangeRateConstraint
An access constraint that requires that the ends of the ConstrainedLink have a range-rate in meters per second above a minimum and below a maximum value.
Public classScalarConstraint
A class representing a generalized constraint based on a given evaluator with a minimum and maximum threshold value which indicate the satisfaction region. This constraint can be used to evaluate angles created from geometry types or to evaluate arbitrary scalar functions.
Public classSensorVolumeConstraint
An access constraint that requires that the object at the other end of the ConstrainedLink be inside the volume of the sensor attached to the ConstrainedLinkEnd.
Public classSingleTargetRadarObjectConstraint

An access constraint which is based on a radar system performance parameter defined by a SingleTargetRadarLinkScalar. The ConstrainedObject for the ISingleObjectConstraint is simply the RadarTransmitter on the ConstraintParameter.

The tolerances for the MinimumTolerance and MaximumTolerance may be in either linear or decibel units, depending on the value of UseLogarithmicSampling specified on the ConstraintParameter.

Radar constraints are generally sampled in logarithmic units to avoid dealing with extremely small numbers in cases where the linear units can commonly have values near zero (-200 dB is 1e-20 in linear units). This is largely due to the large range of values achievable in radar performance analysis. The default tolerance is set to Epsilon8. Since most of the scalars will use logarithmic sampling, this should provide a reasonable tolerance. If using linear units, this tolerance will need to be set significantly lower.

Public classSurfaceDistanceConstraint
An Access constraint that requires that the surface distance between two objects be above a minimum and below a maximum in meters. The surface distance is measured along an EllipsoidGeodesic connecting the two objects. It ignores the heights of the objects above the ellipsoid.
Public classTerrainLineOfSightConstraint
An Access constraint that requires that the line of sight between the ConstrainedLinkEnd and the object at the other end of the ConstrainedLink not be obscured by terrain.
Public classThirdBodyElevationAngleConstraint
An Access constraint that requires that the apparent position of the third body be between a range of elevation angles as viewed from the ConstrainedObject.
Public classTotalAngularRateConstraint
An Access constraint that requires that the other end of the ConstrainedLink move at a certain angular rate with respect to the ConstrainedLinkEnd.
Enumerations
  EnumerationDescription
Public enumerationCentralBodyEllipticCylindricalAccessConstraintModelFidelity
Indicates the model to be used. In low fidelity mode an auxiliary sphere is used to compute distances in place of the ellipsoid. In high fidelity mode the low fidelity mode is used as a coarse check, then the proper ellipsoid is used if the constrained object is within the bounds described by the ellipse on the auxiliary sphere.
Public enumerationPlaneIndicator
Indicates which plane to use with a AngleInPlaneConstraint or a AngleOutOfPlaneConstraint