AGI.Foundation.Geometry Namespace 
Class  Description  

Axes 
A set of axes which may vary with time relative to another set of axes.
 
AxesAlignedConstrained 
A set of axes with the one axis aligned with the Principal direction vector and another axis
constrained to minimize the angular separation from the Reference vector. These axes
remain aligned and constrained as the Principal and Reference vectors
change with time. By default, the principal axis is the xaxis and the reference axis is along the zaxis.
 
AxesAlongTerrain 
An Axes defined by the surface normal to the terrain surface. This is useful
when modeling the orientation of a ground vehicle moving over terrain. The xaxis is in the direction
of motion. The yaxis is parallel to the terrain surface. The zaxis is orthogonal to the terrain
surface pointing down.
 
AxesBPlane 
The axes that a VectorBPlane are computed in. See the documentation for the
VectorBPlane for more information of BPlanes.
 
AxesEastNorthUp 
The set of axes defined by the local East, North, and Up directions at a point with respect to
the shape of a central body as the point moves over time.
 
AxesEvaluator 
Evaluates an Axes over time.
The result of evaluating will be a Motion<UnitQuaternion, Cartesian> representation of the orientation and rotation of these axes at the specified JulianDate. The AxesEvaluator will attempt to provide rotational rate information up to the requested order. The rotation reported by this evaluator represents the rotational transformation from the original axes to these axes. By calling Rotate(UnitQuaternion) with the reported UnitQuaternion, it will transform the given cartesian vector from the original axes to be expressed in these axes. The rotational rates reported by an AxesEvaluator are the rotational rates of these axes with respect to and expressed in the base axes in which these axes are defined. e.g. The "FirstDerivative" (if available) of a platform body axes defined in the fixed frame will represent the angular velocity of the body in the fixed frame.  
AxesFixedAtJulianDate 
An axes which is defined by the instantaneous orientation of another axes at a fixed
JulianDate. These axes do not change over time with respect to the axes in
which they are fixed.
 
AxesFixedOffset 
An axes whose orientation does not change with respect to the axes in which it is defined.
 
AxesFromArchiveTEntity 
An Axes whose orientation is defined by archived tracking data.
 
AxesFromBankAngle  An Axes defining a first order representation for an aircraft in steady flight with the bank angles specified by changes in the horizontal acceleration vector. The bank angle is determined by assuming steady flight and calculating the angle necessary to provide the corresponding horizontal acceleration. The axes will examine the acceleration around the special times of interest and determine how much time is needed before and after that point in order to transition between the two bank angles based on the given roll rate. When no horizontal acceleration is present, this is the same as an axes aligned with the x axis along the velocity and the z axis constrained toward nadir. Note that while this will attempt to use the TargetRollRate, if there is a sequence of banking maneuvers in quick succession the TargetRollRate will not be feasible. In this case, the roll rate will exceed the target as necessary.  
AxesInAxes 
An axes which is effectively equivalent to another axes but is defined in a third axes.
In other words, evaluating an instance of this type finds the transformation that takes a vector
expressed in InAxes and expresses it in AxesToObserve.
 
AxesInPointsAxes 
An axes observed in the axes in which a point is defined.
 
AxesInterpolator 
A set of Axes that is defined with respect to a set of reference axes by an interpolator which
can evaluate the Axes over time.
 
AxesInVectorsAxes 
An axes observed in the axes in which a vector is defined.
 
AxesLinearRate 
An axes whose orientation changes change with respect to the axes in which it is defined
by rotating at a linearly increasing or decreasing rate about a defined spin axis. An
initial rotational offset and rotational velocity at a reference epoch, and a constant
rotational acceleration are used to define the motion over time.
 
AxesLocalVerticalLocalHorizontal 
The Local Vertical, Local Horizontal (LVLH) axes which follow the motion of
a given point over time.
 
AxesNorthEastDown 
The set of axes defined by the local North, East, and Down directions at a point with respect to
the shape of a central body as the point moves over time.
 
AxesTargetingLink 
An Axes which orients itself so that its Zaxis is aligned along a link, pointing
from one platform to another, and its Xaxis is constrained toward a reference vector.
This is useful for pointing sensors and antennas toward their intended targets.
 
AxesVehicleVelocityLocalHorizontal 
The Vehicle Velocity, Local Horizontal (VVLH) axes which follow the motion of a given point over time.
 
AxesVelocityOrbitNormal 
These Axes will have its X axis be aligned with the velocity vector of the
given point and the Z axes will be constrained to the orbit normal vector. The true
displacement from the central body will be used to constrain the platforms axes as opposed
to the apparent displacement.
 
CartesianParameter 
Represents a Cartesian and its derivatives as a parameter.
 
CommunicationLinkScalar 
Base class for scalars representing values associated with a communication link budget.
 
CommunicationObjectScalar 
Base class for scalars representing values associated with a communication link budget.
 
CompositeAxes 
A Axes that is defined by a collection of intervals, where the data
associated with each interval is a another Axes representing the
orientation for that interval. When using this class for analysis, the
resulting Axes must be continuous; otherwise any analysis results will
be incorrect.
 
CompositePoint 
A Point that is defined by a collection of intervals, where the data
associated with each interval is a another Point representing the
location for that interval. When using this class for analysis, the
resulting Point must be continuous; otherwise any analysis results will
be incorrect.
 
ConstantCovariance3By3 
Represents position covariance with standard deviations which remain constant in the given axes.
 
Covariance3By3DynamicMatrix  
Covariance3By3Evaluator 
Evaluates the position covariance of an object over time.
This evaluator will attempt to provide derivatives of the covariance up to the requested order. If there is a discrepancy between the available order of the standard deviation and orientation of the covariance, then results of the higher order will be returned, and Undefined will be used as the unknown results of the lower order data.  
DoubleParameter 
Represents a double and its derivatives as a parameter.
 
DynamicCovariance3By3 
Holds the timevarying positional variance and covariance information for an object.
 
DynamicMatrix 
Represents a time varying function producing a Matrix and its derivatives.
 
DynamicMatrixEvaluator 
Evaluates a DynamicMatrix over time.
The result of evaluating will be a Motion<Matrix> representation of this scalar at the specified JulianDate. This evaluator will attempt to provide derivatives of the scalar up to the requested order.  
DynamicMatrixPropagationParameter 
Represents a DynamicMatrix which in turn represents a particular
parameter in the state during integration.
 
DynamicModifiedKeplerianElements 
Represents a time varying function of ModifiedKeplerianElements.
 
EntityAxesTEntity 
An Axes that obtains its value from from a tracking entity implementing
IEntityOrientation. This axes can only be used in an evaluator that is parameterized
on EntityParameter and TransactionParameter.
 
EntityPointTEntity 
A Point that obtains its value from from a tracking entity implementing
IEntityPosition. This point can only be used in an evaluator that is parameterized
on EntityParameter and TransactionParameter.
 
GeometryDynamicState 
A set of geometry items (Points, Axes, Scalars, Vectors),
and DynamicMatrix that can be evaluated together at once and the results of which are stored in an IAdjustableState.
 
GeometryTransformer 
Provides evaluators that can transform between axes, observe a point in any frame, etc. These
evaluators evaluate the requested geometry as it varies with time.
 
GeometryTransformerAdvanced 
Contains methods to obtain evaluators for less common situations.
 
JplDECenterOfMassPoint 
The center of mass of a central body from a JPL DE file available for times between
InitialEpoch and
FinalEpoch.
 
LinkDelayEvaluator 
An evaluator for computing the delay along a link.
 
ParameterizedOnEvaluatorPoint 
A point that is defined by a PointEvaluatorParameter at the time of evaluation.
 
ParameterizedOnStatePoint 
A point that is defined by a TimeBasedStateParameter at the time of evaluation.
 
ParameterizedOnStateScalar 
A scalar that is defined by a TimeBasedStateParameter at the time of evaluation.
 
ParameterizedOnStateVector 
A vector that is defined by a TimeBasedStateParameter at the time of evaluation.
 
ParameterizedPoint 
A point that is defined by a CartesianParameter at the time of evaluation.
 
ParameterizedScalar 
A scalar that is defined by a DoubleParameter at the time of evaluation.
 
ParameterizedVector 
A vector that is defined by a CartesianParameter at the time of evaluation.
 
Point 
A point which may vary with time, defined relative to a given reference frame.
 
PointAtAltitude 
A Point whose motion is derived from the motion of a reference point projected onto a surface of
a supplied Altitude, with respect to the ellipsoidal shape of a CentralBody.
 
PointCartographic 
A point representing a fixed planetodetic location on a central body specified
using Cartographic coordinates. Though the point is fixed on the central body,
it will move with the central body over time when observed in an inertial frame.
 
PointCentralBodyProjection 
A Point representing the projection of a ray on to the surface of a CentralBody.
 
PointDifferentiator 
A Point that can provide higherorder derivatives by finitedifferencing another point.
 
PointEvaluator 
Evaluates a Point over time.
The result of evaluating will be a Motion<Cartesian> representation of this point at the specified JulianDate. This evaluator will attempt to provide derivatives of the position up to the requested order.  
PointEvaluatorParameter 
Represents a PointEvaluator as a parameter.
 
PointFixedOffset 
A Point whose position does not change with respect to the reference frame in which it is defined.
 
PointFromArchiveTEntity 
A Point whose position is defined by archived tracking data.
 
PointInPointsFrame 
A point observed in another point's reference frame.
 
PointInReferenceFrame 
A time varying point observed in a particular reference frame. Instances of this class will
report that they are defined in the specified reference frame
and will Evaluate(TIndependent, Int32) to the position, velocity, etc.
of the point relative to the specified reference frame.
 
PointInterpolator 
A point with its position, velocity, etc. determined by an interpolator based on a time dependent
data set.
 
PointPropagationParameter  
PointVectorToPoint  
ReferenceFrame 
A reference frame, defined by an origin and an axes.
 
ReferenceFrameEvaluator 
Evaluates a ReferenceFrame over time.
The result of evaluating will be a KinematicTransformation for the specified JulianDate. This KinematicTransformation can transform motion data into this ReferenceFrame from the frame in which this frame is defined.  
Scalar 
A scalar, representing a real valued, time varying function.
 
ScalarAbsoluteValue 
A Scalar representing the absolute value of another scalar.
 
ScalarAngleBetweenVectors 
A scalar representing the instantaneous angle between two vectors which may vary over time.
 
ScalarAntennaGainInLinkDirection 
A scalar which represents the antenna gain for the intended signal in the direction of the
specified communication link.
 
ScalarBitErrorRateTModulation 
A scalar which represents the bit error rate (BER) from a receiver,
as computed from the SignalProcessor
identified by the ISignalOutputService and which must be available on the
CommunicationObject.
 
ScalarCarrierToInterference 
A scalar which represents the carrier to interference ratio C/I from a receiver, as computed from the SignalProcessor
identified by the ISignalOutputService and which must be available on the
CommunicationObject.
 
ScalarCarrierToNoise 
A scalar which represents the carrier to noise ratio C/N from a receiver, as computed from the SignalProcessor
identified by the ISignalOutputService and which must be available on the
CommunicationObject.
 
ScalarCarrierToNoiseDensity 
A scalar which represents the carrier to noise density ratio C/No from a receiver, as computed from the SignalProcessor
identified by the ISignalOutputService and which must be available on the
CommunicationObject.
 
ScalarCarrierToNoiseDensityPlusInterference 
A scalar which represents the carrier to noise density plus interference ratio C/(N0+I0) from a receiver,
as computed from the SignalProcessor
identified by the ISignalOutputService and which must be available on the
CommunicationObject.
 
ScalarCarrierToNoisePlusInterference 
A scalar which represents the carrier to noise plus interference ratio C/(N+I) from a receiver,
as computed from the SignalProcessor
identified by the ISignalOutputService and which must be available on the
CommunicationObject.
 
ScalarCartographicElement 
A Scalar that computes an element of a Cartographic. This Scalar
can currently compute up to order 2 (acceleration).
 
ScalarCosine 
A Scalar representing the cosine of another scalar.
 
ScalarDelayedByLink 
A scalar which wraps another scalar while delaying it by a time specified by a
LinkDelayEvaluator obtained from a LinkPath.
When evaluating this scalar at a given time,
the resulting value will represent the value of the wrapped scalar at the delayed time. The
time delay is either positive or negative, depending on the LinkRole of this scalar.
 
ScalarDeltaSphericalElement 
A Scalar that computes the difference in the clock or cone angle, or the difference of the
the radius between two Points relative to a common parent. Note that if
Element is set to Cone, there will be a discontinuity if one of
the elements moves through the 0/360 degree angle. This can be thought of as computing the difference
in declination or right ascension between the two points.
 
ScalarDependentOnServiceProvider 
A scalar, representing a real valued, time varying function which depends on one or more services from an
IServiceProvider in order to get an evaluator. The specific required service or services
will be documented by the class which requires an instance of this class.
 
ScalarDerivative  
ScalarDihedralAngle 
A scalar representing the angle between two vectors measured about a given axis. The resulting
angle lies between 0 and TwoPi. Both the axis and the two vectors may
vary over time.
 
ScalarDotProduct 
A Scalar defined by the dot product of two vectors which may vary over time.
 
ScalarDynamicPressure 
A Scalar defining the dynamic pressure at a given location.
 
ScalarEffectiveIsotropicRadiatedPower 
A scalar which represents the "effective isotropic radiated power" or "equivalent isotropic radiated power" (EIRP)
for the link specified by the CommunicationLink. The EIRP is computed using the
IntendedSignalIdentifier based on the signals from the ITransmittedSignalService
provided by the link. It represents the power of the signal after applying antenna gains in the direction of transmission
and does not include any propagation effects along the link.
 
ScalarEnergyPerBitToNoiseDensityTModulation 
A scalar which represents the energy per bit to noise density ratio Eb/No from a receiver,
as computed from the SignalProcessor
identified by the ISignalOutputService and which must be available on the
CommunicationObject.
 
ScalarEquivalentAirspeed 
A Scalar defining the equivalent airspeed at a given location.
The equivalent airspeed is the airspeed at sea level at which the dynamic pressure,
typically with respect to a standard atmosphere, is the same as the dynamic pressure
at the true airspeed and altitude of the object.
 
ScalarEvaluator 
Evaluates a Scalar over time.
The result of evaluating will be a Motion<double> representation of this scalar at the specified JulianDate. This evaluator will attempt to provide derivatives of the scalar up to the requested order.  
ScalarExponent 
A Scalar representing another scalar raised to the power of a scalar exponent,
along with up to the second derivative.
 
ScalarFixed 
A fixed scalar, representing a constant real valued function.
 
ScalarGpsCommunicationsReceiverChannelNoise 
Generates GPS receiver noise based on the communications signals it is tracking.
Calculates noise for single or dual frequency receivers.
 
ScalarInterpolator 
A Scalar with its value, derivative, etc. determined by an interpolator based on a time dependent
data set.
 
ScalarInverseTangent 
A scalar representing the instantaneous angle as the inverse tangent of two scalar values.
The values returned by the evaluator conform to the implementation of Atan2(Double, Double).
 
ScalarJammingToSignal 
A scalar which represents the interference to carrier ratio I/C (also known as the jamming to signal ratio J/S) from a receiver,
as computed from the SignalProcessor
identified by the ISignalOutputService and which must be available on the
CommunicationObject.
 
ScalarMachNumber 
A Scalar defining the Mach number at a given location.
 
ScalarModifiedKeplerianElement 
A Scalar that computes a given element from a DynamicModifiedKeplerianElements.
 
ScalarNoisePlusInterference 
A scalar which represents the noise plus interference ratio N+I from a receiver,
as computed from the SignalProcessor
identified by the ISignalOutputService and which must be available on the
CommunicationObject.
 
ScalarPointElement  
ScalarPolarizationEfficiency 
A scalar which represents the computed polarization efficiency which is defined as the ratio of the received power, after accounting for polarization mismatch, to the total power
in the signal before accounting for the polarization mismatch. The signal received after polarization efficiency is applied is identified by the
ISignalReceivedByAntennaService. The signal received before polarization efficiency is applied as identified by the
ISignalReceivedByAntennaPrepolarizerService. Both services must be available on the CommunicationObject  
ScalarPowerAtReceiverOutput 
A scalar which represents the power of the intended signal at the receiver output as
identified by the ISignalOutputService and which must be available on the
CommunicationObject.
 
ScalarProduct 
A Scalar defined by the multiplication of a list of scalars which may vary over time.
 
ScalarPropagationLoss 
A scalar which represents the loss in power on a signal propagating along
the link specified by the CommunicationLink. The loss is computed using the
IntendedSignalIdentifier based on a comparison of the IPropagatedSignalService
and the ITransmittedSignalService provided by the link. The value of this scalar
will be negative, representing a negative gain (loss).
 
ScalarReceivedIsotropicPower 
A scalar which represents the "received isotropic power" (RIP)
for the link specified by the CommunicationLink. The RIP is computed using the
IntendedSignalIdentifier based on the signals from the IPropagatedSignalService
provided by the link.
 
ScalarReceivedPowerFluxDensity 
A scalar which represents the received power flux density
for the link specified by the CommunicationObject. The power flux density is computed using the
IntendedSignalIdentifier based on the signals from the IPropagatedSignalService
provided by the link.
 
ScalarRouteHeading 
A scalar that defines the heading of the platform along a route. The heading is measured from
geometric north, positive toward east. The value produced is in radians.
 
ScalarRouteHeight  A scalar representation of the height dynamics of the route with respect to the given terrain reference surface. This represents the "flat" height without taking into account the effects of the curvature of the noneuclidean Ellipsoid surface of the central body. The effect of the curvature tends to be small for values near the surface, creating discrepancies of less than a millimeter per second in the velocity. If the route is defined with respect to ragged terrain, the effect of that terrain with respect to the underlying surface is much more significant than the curvature of the underlying surface. While the value of the height will generally be exact, the derivative of this scalar will differ slightly from the value of the instantaneous fixedframe velocity along the surface normal.  
ScalarRouteSurfaceSpeed  A scalar representing the speed along the ellipsoid surface upon which the route is defined. For aircraft, this is essentially equivalent to the "ground speed". However, if the 'ground' has a nonzero height with respect to the Ellipsoid surface (i.e. if there is terrain data included in the analysis), the speed produced by this Scalar represents the speed along the Ellipsoid and not the speed along the terrain. For ground vehicles (and ships), this represents the speed tangent to the Ellipsoid and does not take into account the terrain normal when computing the speed. Note that it may be counter intuitive that the Value reported by this scalar represents the "speed" while the FirstDerivative represents the acceleration (derivative of speed).  
ScalarRouteTotalSpeed  A scalar representing the total speed with respect to the ellipsoid surface upon which the route is defined. This includes both the horizontal and vertical components of velocity. This represents the "flat" total speed without taking into account the effects of the curvature of the noneuclidean Ellipsoid surface of the central body. The effect of the curvature tends to be small for values near the surface, creating discrepancies of less than a millimeter per second in the velocity. If the route is defined with respect to ragged terrain, the effect of that terrain with respect to the underlying surface is much more significant than the curvature of the underlying surface. The derivative of this scalar will differ slightly from the value of the instantaneous fixedframe velocity. Note that it may be counter intuitive that the Value reported by this scalar represents the "speed" while the FirstDerivative represents the acceleration (derivative of speed).  
ScalarSine 
A Scalar representing the sine of another scalar.
 
ScalarSphericalElement  
ScalarSum 
A Scalar defined by the addition of a list of scalars which may vary over time.
 
ScalarVectorElement  
ServiceProviderAxes 
An Axes that can be used to refer to the current OrientationAxes of an IServiceProvider,
whatever it is at the time that this axes is evaluated. All method and properties on this class simply pass the
call to the service provider's current OrientationAxes.
 
ServiceProviderPoint 
A Point that can be used to refer to the current LocationPoint of an IServiceProvider,
whatever it is at the time that this point is evaluated. All method and properties on this class simply pass the
call to the service provider's current LocationPoint.
 
TimeBasedStateParameter 
Represents an ITimeBasedState as a parameter.
 
Vector 
A vector relative to a set of basis axes. The vector may change over time with respect to its axes.
 
VectorAcceleration 
A Vector representing the acceleration of a given Point derived in a given
ReferenceFrame. Be careful when observing this vector in different Axes as GeometryTransformer and
KinematicTransformation assume that the zeroth order of a vector corresponds to a heading or other
similar value, not the second derivative of another instance. The resulting values will not properly account for the dynamics of the relative
rotation of the two axes. To obtain the second derivative represented in a different axes, create a new instance
defined in a different axes.
 
VectorAngularAcceleration 
A Vector defined as the angular acceleration of a given set of axes as the axes rotate with time.
 
VectorAngularVelocity 
A Vector defined as the angular velocity of a given set of axes as the axes rotate with time.
 
VectorApparentDisplacement 
A vector representing the apparent directed displacement from an initial point to a final point as
the points move over time. The apparent displacement accounts for light travel time given the
SignalDirection and optionally can account for aberration caused by the motion
of the observer's frame.
 
VectorBPlane 
A vector computing the BPlane vector of a Point relative to a CentralBody.
 
VectorCrossProduct 
A Vector defined by the cross product of two vectors which may vary with time.
 
VectorDependentOnServiceProvider 
A timevarying vector which depends on one or more services from an
IServiceProvider in order to get an evaluator. The specific required service or services
will be documented by the class which requires an instance of this class.
 
VectorDerivative 
A Vector representing the derivative of the specified Order of a given Vector derived in a given
Axes. Be careful when observing this vector in different Axes as GeometryTransformer and
KinematicTransformation assume that the zeroth order of a vector corresponds to a heading or other
similar value, not the rate of another instance. The resulting values will not properly account for the dynamics of the relative rotation
of the two axes. To obtain the derivative represented in a different axes, create a new instance
defined in a different axes.
 
VectorDifferentiator 
A Vector that can provide higherorder derivatives by finitedifferencing another vector.
 
VectorDisplacement 
The base class for a vector representing the directed displacement from an initial point to a
final point as the two points move over time.
 
VectorEllipsoidSurfaceNormal 
A vector representing the surface normal at a point projected onto an ellipsoid surface as the
point moves through time.
 
VectorEvaluator 
Evaluates a Vector over time.
The result of evaluating will be a Motion<Cartesian> representation of this vector at the specified JulianDate. This evaluator will attempt to provide derivatives of the vector up to the requested order.  
VectorFixed 
A Vector whose components do not change with respect to the axes in which it is defined.
 
VectorInAxes 
A vector that is observed in a given axes.
 
VectorInPointsAxes 
A vector observed in the axes in which a point is defined.
 
VectorInterpolator 
A vector with its value, derivative, etc. determined by an interpolator based on a time dependent
data set.
 
VectorInVectorsAxes 
A vector observed in the axes in which another vector is defined.
 
VectorInverted 
A vector which inverts another vector.
 
VectorMagnitude 
A scalar representing the magnitude of a vector as the vector changes over time.
 
VectorNormalized 
A vector representing a normalized version of another vector.
 
VectorPropagationParameter  
VectorScaled 
A vector which represents another vector scaled by a given factor which can change over time.
 
VectorSum  
VectorTrueDisplacement 
A vector representing the true directed displacement from an initial point to a final point as
both points move over time.
 
VectorVelocity 
A Vector representing the velocity of a given Point derived in a given
ReferenceFrame. Be careful when observing this vector in different frames as the
values will not account for the dynamics of the position at the origin of the velocity or the relative translation
of the two frames. To obtain the velocity represented in a different frame, create a new instance
defined in a different frame.

Interface  Description  

IKinematicStateService 
A service that provides a ReferenceFrame describing a complete
kinematic state (position and orientation) of an object as it moves over time.
 
ILocationPointCovarianceService 
A service that provides the size and orientation of the covariance ellipsoid over time.
 
ILocationPointService 
A service that provides the position of an object over time.
 
IOrientationAxesService 
A service that provides the orientation (rotation) of an object over time.
 
ISetOrientationAxesService 
A service that sets the orientation (rotation) of an object over time.
 
IVectorService 
A service which returns a vector.

Enumeration  Description  

DisplacementVectorParticipant 
Identifies a participant in a VectorDisplacement.
