AGI.Foundation.Access.Constraints Namespace 
Class  Description  

AltitudeConstraint 
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.
 
AngleInPlaneConstraint 
An access constraint that projects the displacement vector from one object to another into a given axisaligned 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.
 
AngleOutOfPlaneConstraint 
An access constraint that requires that the angle of the displacement vector between two objects above a given
axisaligned 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.
 
AzimuthAngleConstraint 
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.
 
AzimuthAngleRateConstraint 
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.
 
AzimuthElevationMaskConstraint 
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 lineofsight
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 lineofsight that just grazes the
terrain will allow access, as will any lineofsight that is above the terrain. Similarly, the
MaximumValue is the maximum allowed angular separation, and it is
usually not set at all.
 
CartographicZoneConstraint 
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.
 
CentralBodyEllipticCylindricalAccessConstraint 
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.
 
CentralBodyLayeredProjectedVolumeAccessConstraint 
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.
 
CentralBodyLayeredProjectedVolumeAccessConstraintVolumeLayer 
A representation of an individual projected volume used in CentralBodyLayeredProjectedVolumeAccessConstraint.
 
CentralBodyObstructionConstraint 
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.
 
CentralBodySurfaceCurveElevationAngleConstraint 
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.
 
CentralBodySurfaceRegionConstraint 
An AccessConstraint that requires that an object be within a given CentralBodySurfaceRegion.
 
CentralBodySurfaceRegionElevationAngleConstraint 
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.
 
CentralBodySurfaceRegionSensorVolumeConstraint 
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.
 
CommunicationLinkConstraint  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 1e20 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.  
CommunicationObjectConstraint  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 1e20 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.  
CovarianceSeparationConstraint 
An Access constraint that requires that the ends of the ConstrainedLink with uncertain position have a 'worstcase' 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.
 
DilutionOfPrecisionConstraint 
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.
 
ElevationAngleConstraint 
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.
 
ElevationAngleRateConstraint 
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.
 
GroundSampleDistanceConstraint 
An access constraint which requires the Ground Sample Distance (GSD) to be greater than a
minimum and less than a maximum value.
 
HeightAboveHorizonConstraint 
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.
 
NavigationAccuracyAssessedConstraint 
An Access constraint which restricts access to the ConstrainedObject to when the assessed
navigation accuracy is above a minimum, below a maximum or both.
 
NavigationAccuracyPredictedConstraint 
An Access constraint which restricts access to the ConstrainedObject to when the predicted
navigation accuracy is above a minimum, below a maximum or both.
 
RangeConstraint 
An Access constraint that requires that the ends of the ConstrainedLink be above a minimum and
below a maximum distance in meters.
 
RangeRateConstraint 
An access constraint that requires that the ends of the ConstrainedLink have a
rangerate in meters per second above a minimum and below a maximum value.
 
ScalarConstraint 
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.
 
SensorVolumeConstraint 
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.
 
SingleTargetRadarObjectConstraint  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 1e20 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.  
SurfaceDistanceConstraint 
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.
 
TerrainLineOfSightConstraint 
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.
 
ThirdBodyElevationAngleConstraint 
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.
 
TotalAngularRateConstraint 
An Access constraint that requires that the other end of the ConstrainedLink
move at a certain angular rate with respect to the ConstrainedLinkEnd.

Enumeration  Description  

CentralBodyEllipticCylindricalAccessConstraintModelFidelity 
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.
 
PlaneIndicator 
Indicates which plane to use with a AngleInPlaneConstraint
or a AngleOutOfPlaneConstraint 