# Programmer's Guide

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

Topic

Description

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 namespace. 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

STK Components 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.

Motion<T> and Motion<T, TDerivative>

Motion<T> and Motion<T, TDerivative> are fundamental types used throughout the library. Motion<T> holds a coordinate value and zero or more derivatives. Motion<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

STK Components 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 Components, and where to obtain updated data files.

Patterns

STK Components 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. STK Components 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 STK Components.

Analysis

Introduces the analysis capabilities of STK Components.

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 STK Components. Additional information on Third Party Libraries included in STK Components.

Localization

An exercise in localization based on the NavAnalyst reference application. Requires Navigation Accuracy Library.

Using STK Components with Matlab

Getting set up to use STK Components within Mathwork's Matlab product.

Example Applications

STK Components includes several example applications which demonstrate various features and capabilities. Each application is described in its own topic.