AGI.Foundation.Coordinates Namespace 
Class  Description  

AlignedConstrained 
Given alignment vector a1 and vector a2 and alignment vector b1 and vector b3, a rotation
is constructed that aligns a1 with b1 and also minimizes the angular separation between a2 and b3.
The angular velocity and angular acceleration associated with the total rotation is also
computed given the velocity and acceleration of 1A and 2A.
 
AxesAdapter 
The StateElementAdapterDefinition for the simple case when the element's definitional
object and its definedin object are just a Axes. Generally this will be used for various
Vector types.
 
BasicState 
An IAdjustableState that can hold any data type or motions.
This type will directly cast the stored items to the type requested, which can cause exceptions to be
thrown. Creating your own specialized ITimeBasedState for your needs will avoid that,
as well as may result in better performance and flexibility.
 
CartographicExtent 
A two dimensional region specified as longitude and latitude coordinates.
 
ComplexMatrix 
A twodimensional matrix of Complex values.
 
Covariance3By3Derivative 
Holds the derivatives of the positional variance and covariance information for an object.
 
Covariance3By3SizeAndOrientation 
Holds the positional variance and covariance information for an object.
 
DelaunayElements  A set of Delaunay elements. This is a set of canonical angleaction variables that are commonly used in analytic orbit theory. All units are SI unless indicated otherwise. For more information see the Units topic.  
DenseMatrix 
A general implementation of Matrix with no restrictions on element values.
 
DiagonalMatrix 
An implementation of a square Matrix whose diagonal elements are
the only ones with a nonzero value.
 
DoNothingStateElementAdapter 
A StateElementAdapter that will not do anything to the state. Note that
this will not even try to add the value or MotionT from the old state
to the new one.
 
DynamicStateT 
Defines an ITimeBasedState that can change over time.
 
EigenDecomposition 
Holds results of the Eigen decomposition of a 3by3 matrix.
 
EquinoctialElements  A set of equinoctial orbital elements. This is a nonsingular orbital element set that is often used in operational systems since it is well behaved for small eccentricities and inclinations. The Direction element of the structure indicates whether the orbit is posigrade or retrograde. All units are SI unless indicated otherwise. For more information see the Units topic.  
KeplerianElements  A set of classical Keplerian elements representing an elliptical orbit. All units are SI unless indicated otherwise. For more information see the Units topic.  
KozaiIzsakMeanElements  A set of KozaiIzsak mean elements representing an elliptical orbit. All units are SI unless indicated otherwise. For more information see the Units topic.  
LifetimeElements 
A set of elements produced by the LifetimeOrbitPropagator to represent the
approximate mean classical elements associated with the periapsis of each successive
orbit over the course of a satellite's lifetime.
 
Matrix 
A twodimensional tensor of doubles.
 
Matrix6By6 
A 6by6 matrix.
 
Matrix6By6Symmetric 
A 6by6 symmetric matrix. This type is often used to represent position and velocity covariance.
 
ModifiedKeplerianElements  Modified Keplerian orbital elements. These are the same as the Classical/Keplerian orbital elements except that Radius of Periapsis and the inverse of Semimajor Axis are used instead of Semimajor Axis and Eccentricity. This is useful because the Radius of Periapsis is well defined for all but rectilinear orbits. For Eccentricity, use ComputeEccentricity. All units are SI unless indicated otherwise. For more information see the Units topic.  
NumericalPropagatorAdapterHelper 
Contains various helper methods and properties will make using NumericalPropagatorDefinition
and StateElementAdapters easier. When constructing
adapters that involve a
NumericalPropagator, initialize a new instance of this in every constructor (or update the
reference of the existing one in the copy constructor).
 
OrbitalElements 
Provides functions which can be used to perform calculations and conversions relating orbital elements.
 
OrthonormalBasis 
Represents an orthonormal basis spanning Cartesian space.
 
ReferenceFrameAdapter 
The StateElementAdapter definition for the simple case when the element's definitional
object and its defined in object are just a ReferenceFrame. Generally this will be
used for various Point types.
 
RotationalTransformation 
Holds static methods for manipulating a MotionT, TDerivative representing
a rotation and its derivatives.
 
SimpleAdapterT 
A StateElementAdapter that has no definedin object
(such as a ReferenceFrame or Axes).
This adapter will extract the T of a specified element from a
ITimeBasedState and modify the second ITimeBasedState with the extracted value.
 
SimpleMotionAdapterT 
The factory for a StateElementAdapter that has no defined in, nor an element
definition object. All this will do is extract the MotionT of a specified
element from one ITimeBasedState, and modify the second ITimeBasedState
with it.
 
StateElementAdapter 
The base class for all StateElementAdapters. StateElementAdapters
extract one element from a state's data elements,
optionally perform some operation on that element (like a reference frame transformation), and
store that modified element into another ITimeBasedState.
 
StateElementAdapterDefinition 
Adapters are the objects that link up an element from one form of propagation to another.
For example, when the ReferenceFrame changes for a PropagationPointElement from
one SegmentPropagator to the next, an adapter can be made that can retrieve the
needed information from the two segments.
 
StateEvaluatorT 
Computes states at points in time.
 
TransformationalStateElementAdapterDefinition 
The base type for adapters that do some kind of geometric transformation to an element in the state.
For example, when the ReferenceFrame changes.

Structure  Description  

AngleAxisRotation 
Represents a rotation as a unit vector indicating the axis of rotation and an angle indicating
the amount of rotation about the axis.
 
AzimuthElevationRange 
A set of curvilinear 3dimensional coordinates.
 
AzimuthHorizontalVertical 
A set of curvilinear 3dimensional coordinates.
 
BoundingRectangle 
A bounding rectangle in a twodimensional plane given by two corner points.
 
Cartesian 
A set of rectilinear 3dimensional coordinates.
 
CartesianBounds 
Holds two Cartesian values which form the bounds of a range of cartesian coordinates.
 
Cartographic 
A set of curvilinear 3dimensional coordinates.
 
Complex 
Structure which represents a complex value.
 
Cylindrical 
A set of curvilinear 3dimensional coordinates.
 
CylindricalBounds 
Holds two Cylindrical values which form the bounds of a range of cylindrical coordinates.
 
ElementaryRotation 
Represents a rotation about a principal axis. This represents an 'alias' rotation
which transforms coordinates by modifying the underlying coordinate basis, rather
than modifying the coordinates themselves. To transform a Cartesian
with this rotation, see Rotate(UnitQuaternion).
 
EulerSequence  Represents a rotation as a sequence of three ElementaryRotations about consecutive axes. The first elementary rotation results in an intermediate orientation and associated set of axes from which the second elementary rotation is performed. Likewise, the third elementary rotation is performed from the intermediate orientation and set of axes which result from the second rotation. A 321 Euler sequence is commonly used to represent yaw about the zaxis, followed by pitch about the resulting yaxis, and then roll about the resulting xaxis when expressing the attitude of a vehicle relative to some reference orientation.  
KinematicTransformation 
A kinematic transformation describing how to transform from one reference frame to another.
 
LongitudeLatitudeRadius 
A set of curvilinear 3dimensional coordinates typically used to describe geocentric (or
planetocentric on nonEarth central bodies) positions. Longitude is an angle lying in the
xyplane measured from the positive xaxis and toward the positive yaxis. Latitude is an angle
measured from the xyplane and toward the positive zaxis. Radius is a linear coordinate measured
from the origin.
 
Matrix3By3 
A 3by3 matrix. This type is often used to represent a rotation. This
represents an 'alias' rotation which transforms coordinates by modifying the underlying coordinate
basis rather than modifying the coordinates themselves.
 
Matrix3By3Symmetric 
A 3by3 symmetric matrix. This type is often used to represent position covariance.
 
MilitaryGridReferenceSystem 
A set of coordinates for specifying locations on the Earth based on a grid of longitude and latitude zones
as outlined in Defense Mapping Agency Technical Manual (DMA TM) 8358.1,
"Datums, Ellipsoids, Grids, and Grid Reference Systems",
Edition 1, 20 September 1990.
 
Polar 
A set of curvilinear 2dimensional coordinates.
 
Pyramidal 
A set of curvilinear 3dimensional coordinates.
 
PyramidalBounds 
Holds two Pyramidal values which form the bounds of a range of pyramidal coordinates.
 
Quaternion 
A set of 4dimensional coordinates used to represent rotation in 3dimensional space.
In general, UnitQuaternion is used to represent rotations. This type is available for completeness,
providing quaternion operations on nonnormalized quaternions.
 
Rectangular 
A set of rectilinear 2dimensional coordinates.
 
Spherical 
A set of curvilinear 3dimensional coordinates.
 
SphericalBounds 
Holds two Spherical values which form the bounds of a range of spherical coordinates.
 
TextureCoordinate4DF 
A Texture Coordinate with four parameters of type float.
 
UnitCartesian 
A set of rectilinear 3dimensional coordinates with unit magnitude.
 
UnitQuaternion 
A set of 4dimensional coordinates used to represent rotation in 3dimensional space. This
represents an 'alias' rotation which transforms coordinates by modifying the underlying coordinate
basis rather than modifying the coordinates themselves. To transform a Cartesian
with this rotation, see Rotate(UnitQuaternion).
 
UnitRectangular 
A set of rectilinear 2dimensional coordinates with unit magnitude.
 
UnitSpherical 
A set of curvilinear 3dimensional coordinates with unit magnitude.
 
UniversalPolarStereographic 
A set of coordinates for specifying locations near the poles of the Earth based on a grid
as outlined in Defense Mapping Agency Technical Manual (DMA TM) 8358.2,
"The Universal Grids: Universal Transverse Mercator (UTM) and Universal Polar Stereographic (UPS)",
Edition 1, 18 September 1989.
 
UniversalTransverseMercator 
A set of coordinates for specifying locations on the Earth based on a grid of longitude zones
as outlined in Defense Mapping Agency Technical Manual (DMA TM) 8358.2,
"The Universal Grids: Universal Transverse Mercator (UTM) and Universal Polar Stereographic (UPS)",
Edition 1, 18 September 1989.
 
YawPitchRoll 
Represents a rotation as a sequence of three ElementaryRotations
about a reference set of axes. The orientation and associated set of axes which result from the first elementary rotation
are modified by a second elementary rotation, again performed about the original reference set of axes.
Likewise, the third elementary rotation is performed about the original reference set of axes to further modify
the orientation. This differs from an EulerSequence where the sequence
of rotations are performed about the consecutive set of axes which result from the successive elementary rotations.

Interface  Description  

IAdjustableState 
A state that can have elements added and removed.
 
ITimeBasedState 
A general state that stores raw values. The state can represent anything you
would like it to be, however every element must have a name that is used to
retrieve and modify its values.
This state has a time and motions.

Delegate  Description  

CreateAdapterCallback 
Defines how to create a StateElementAdapterDefinition.

Enumeration  Description  

AxisIndicator 
Specifies one of the three Cartesian axes.
 
CartesianElement 
An enumeration indicating a part of a Cartesian.
 
CartographicElement 
The elements in a Cartographic type.
 
EulerSequenceIndicator 
Indicates the order of the axes rotations in an Euler sequence.
 
KeplerianElement 
An enumeration indicating a specific element in Keplerian elements. This enumeration can be used
to identify specific elements in a ModifiedKeplerianElements, a KeplerianElements, or
any of the other classical element types.
 
OrbitType 
An enumeration of the possible types and special cases of orbits.
 
PoleIndicator 
Specifies one of the two geographical poles, or neither.
 
SphericalElement 
The elements in a Spherical coordinates.
 
YawPitchRollIndicator 
Indicates the order of the axes rotations in a yawpitchroll sequence.
