Click or drag to resize

Programmer's Guide

The Programmer's Guide provides overviews for basic and complex activities using DME Component Libraries. Each topic below contains more detailed information.

Topic

Description

Frequently Asked Questions

Several common questions are answered in this Frequently Answered Questions topic.

Units

In order for the various components in the class library to function properly when used together and to be able to exchange information, base and derived units from the International System (SI) are adopted.

Time and Time Standards

Various time standards are provided in order to account for the apparent passage of time based on the Earth's rotation with respect to the Sun, to account for relativistic effects on the passage of time observed in different reference frames, and to provide a source in an identified reference frame against which other time standards can be measured. Also, the JulianDate and Duration types are provided to represent epochs and time spans.

Coordinates

Various translational and rotational coordinate types are available in the agi.foundation.coordinates package. These types provide common n-tuple representations for expressing locations of points and orientations of axes as well as their derivatives. Conversions are available for transforming between related coordinate representations.

Axes, Points, and Vectors

DME Component Libraries contains a full-featured geometry engine for modeling vectors, axes, points, and reference frames. This geometry engine is able to model each of these objects as static geometrical concepts or dynamic ones that may vary in time.

Reference Frames and Transformations

A ReferenceFrame is defined as a location point and a set of axes. This topic also describes how to transform geometry between reference frames.

Motion1<T> and Motion2<T, TDerivative>

Motion1<T> and Motion2<T, TDerivative> are fundamental types used throughout the library. Motion1<T> holds a coordinate value and zero or more derivatives. Motion2<T, TDerivative> also holds a value and zero or more derivatives, but in this case the coordinate value and the derivatives are represented using different types.

External Data

DME Component Libraries makes use of various data in order to perform accurate calculations. This topic provides an overview of the data sources, the default data shipped with the libraries, and where to obtain updated data files.

Patterns

DME Component Libraries makes use of a number of architectural patterns, including Evaluators And Evaluator Groups, Services and Service Providers, and Multithreading. Understanding the purpose of these patterns, and how to interact with them, will greatly enhance the usability of the libraries.

Data Interoperability

This topic explains some of the techniques you can use to achieve data interoperability and addresses some difficulties you may encounter. DME Component Libraries provides convenient classes to read and write ephemeris and attitude data in the STK *.e and *.a file formats as well as ways to import satellite data from STK satellite database *.sd files, as well as other STK databases.

Calculation Context

A Calculation Context is a consistent place to store and find contextual information typically required in an aerospace application, so that it does not need to be passed around as parameters to methods. Examples would be information on leap second definitions, modeling the Earth's orientation, etc.

Exploring Functions

Helpful information showing how to use the extremum finders in DME Component Libraries.

Analysis

Introduces the analysis capabilities of DME Component Libraries.

Visualization with Cesium

Introduces the Cesium component for writing CZML.

Visualization with Insight3D®

Introduces the Insight3D® visualization component.

Tracking

Introduces capabilities related to processing, analyzing and visualization of dynamic data, such as those found in real-time feeds or simulation environments.

Licensing and Deployment

Information regarding the distribution of applications created with DME Component Libraries. Additional information on Third Party Libraries included in DME Component Libraries.

Example Applications

DME Component Libraries includes several example applications which demonstrate various features and capabilities. Each application is described in its own topic.