AGI STK Util 11 Send comments on this topic.
IAgConversionUtility Interface





Description

Provides conversion utilities.

Object Model












Public Methods

Public Method ConvertDate Converts the specified date from a given unit to another unit.
Public Method ConvertDateArray Converts the specified dates from a given unit to another unit.
Public Method ConvertPositionArray Converts the specified position values from a given position type to another position type.
Public Method ConvertQuantity Converts the specified quantity value from a given unit to another unit.
Public Method ConvertQuantityArray Converts the specified quantity values from a given unit to another unit.
Public Method NewCartesian3Vector Creates a cartesian vector.
Public Method NewCartesian3VectorFromDirection Converts the direction to cartesian vector.
Public Method NewCartesian3VectorFromPosition Converts the position to cartesian vector.
Public Method NewDate Creates an IAgDate interface with the given unit and value
Public Method NewDirection Creates an IAgDirection interface.
Public Method NewOrbitStateOnCB Creates an IAgOrbitState interface using the supplied central body.
Public Method NewOrbitStateOnEarth Creates an IAgOrbitState interface with earth as it's central body.
Public Method NewOrientation Creates an IAgOrientation interface.
Public Method NewPositionOnCB Creates an IAgPosition interface using the supplied central body.
Public Method NewPositionOnEarth Creates an IAgPosition interface with earth as it's central body.
Public Method NewQuantity Creates an IAgQuantity interface with the given dimension, unit and value
Public Method QueryDirectionCosineMatrix Returns a Direction Cosine Matrix (DCM).
Public Method QueryDirectionCosineMatrixArray Returns a Direction Cosine Matrix (DCM) as an array.

Example

Convert a position to another representation
[C#] Copy Code
IAgConversionUtility converter = root.ConversionUtility; 
 
// ConvertPositionArray expects a two dimensional array of positions 
Array cartesianPositions = new object[,] 
    { 
        { 1216.47, -4736.124081.39 }, 
        { 1000, -20002000 } 
    }; 
 
// Convert cartesian dates to cylindrical 
// ConvertPositionArray returns a two dimensional array of cartesian dates 
Array cylindricalPositions = converter.ConvertPositionArray(AgEPositionType.eCartesian, ref cartesianPositions, AgEPositionType.eCylindrical); 
 
// Print results 
for (int i = 0; i < cylindricalPositions.GetLength(0); i++) 

    Console.WriteLine("X: {0}, Y: {1}, Z: {2}"
        cylindricalPositions.GetValue(i, 0), 
        cylindricalPositions.GetValue(i, 1), 
        cylindricalPositions.GetValue(i, 2)); 

 

Convert a quantity unit to another unit
[C#] Copy Code
IAgConversionUtility converter = root.ConversionUtility; 
 
// Old value in miles, new value in km 
double newValue = converter.ConvertQuantity("DistanceUnit""mi""km"1.0); 
 

Convert mulitple quantities of the same unit to another unit
[C#] Copy Code
IAgConversionUtility converter = root.ConversionUtility; 
 
// ConvertQuantityArray expects a one dimensional array of values to be converted 
// An array of km/sec units 
Array kmsecUnits = new object[] 
                   { 
                       10023 
                   }; 
 
// Convert to mi/sec units 
// ConvertQuantityArray returns a one dimensional array of converted values 
Array misecUnits = converter.ConvertQuantityArray("Rate""km/sec""mi/sec"ref kmsecUnits); 
 

Convert a date format to another format
[C#] Copy Code
IAgConversionUtility converter = root.ConversionUtility; 
 
// Individually 
string epsec = converter.ConvertDate("UTCG""Epsec""1 Jan 2012 12:00:00.000"); 
string utcg = converter.ConvertDate("EpSec""UTCG""230126401.000"); 
 

Convert multiple dates of the same format to another format
[C#] Copy Code
IAgConversionUtility converter = root.ConversionUtility; 
 
// In batches 
// ConvertDateArray expects a one dimensional array of dates 
// An array of UTCG dates 
Array tempDates = new object[] 
                  { 
                      "1 Jan 2012 12:00:00.000""1 Jan 2012 14:00:00.000" 
                  }; 
 
// Convert UTCG array to EpSec 
// ConvertDateArray returns a one dimensional array of converted dates 
Array converted = converter.ConvertDateArray("UTCG""Epsec"ref tempDates); 
 
// Print results 
for (int i = 0; i < converted.Length; i++) 

    Console.WriteLine("Date: {0}", converted.GetValue(i)); 

 

Convert a position to another representation
[Visual Basic .NET] Copy Code
Dim converter As IAgConversionUtility = root.ConversionUtility

' ConvertPositionArray expects a two dimensional array of positions
#If Not CSToJava Then
#Else
#End If
Dim cartesianPositions As Array = New Object(,) {{1216.47, -4736.12, 4081.39}, {1000, -2000, 2000}}

' Convert cartesian dates to cylindrical
' ConvertPositionArray returns a two dimensional array of cartesian dates
#If Not CSToJava Then
Dim cylindricalPositions As Array = converter.ConvertPositionArray(AgEPositionType.eCartesian, cartesianPositions, AgEPositionType.eCylindrical)
#Else
#End If

' Print results
Dim i As Integer = 0
While i <>
    Console.WriteLine("X: {0}, Y: {1}, Z: {2}", cylindricalPositions.GetValue(i, 0), cylindricalPositions.GetValue(i, 1), cylindricalPositions.GetValue(i, 2))
    System.Math.Max(System.Threading.Interlocked.Increment(i),i - 1)
End While

Convert a quantity unit to another unit
[Visual Basic .NET] Copy Code
Dim converter As IAgConversionUtility = root.ConversionUtility

' Old value in miles, new value in km
Dim newValue As Double = converter.ConvertQuantity("DistanceUnit", "mi", "km", 1)

Convert mulitple quantities of the same unit to another unit
[Visual Basic .NET] Copy Code
Dim converter As IAgConversionUtility = root.ConversionUtility

' ConvertQuantityArray expects a one dimensional array of values to be converted
' An array of km/sec units
#If Not CSToJava Then
#Else
#End If
Dim kmsecUnits As Array = New Object() {100, 23}

' Convert to mi/sec units
' ConvertQuantityArray returns a one dimensional array of converted values
#If Not CSToJava Then
Dim misecUnits As Array = converter.ConvertQuantityArray("Rate", "km/sec", "mi/sec", kmsecUnits)
#Else
#End If

Convert a date format to another format
[Visual Basic .NET] Copy Code
Dim converter As IAgConversionUtility = root.ConversionUtility

' Individually
Dim epsec As String = converter.ConvertDate("UTCG", "Epsec", "1 Jan 2012 12:00:00.000")
Dim utcg As String = converter.ConvertDate("EpSec", "UTCG", "230126401.000")

Convert multiple dates of the same format to another format
[Visual Basic .NET] Copy Code
Dim converter As IAgConversionUtility = root.ConversionUtility

' In batches
' ConvertDateArray expects a one dimensional array of dates
' An array of UTCG dates
#If Not CSToJava Then
#Else
#End If
Dim tempDates As Array = New Object() {"1 Jan 2012 12:00:00.000", "1 Jan 2012 14:00:00.000"}

' Convert UTCG array to EpSec
' ConvertDateArray returns a one dimensional array of converted dates
#If Not CSToJava Then
Dim converted As Array = converter.ConvertDateArray("UTCG", "Epsec", tempDates)
#Else
#End If

' Print results
Dim i As Integer = 0
While i <>
    Console.WriteLine("Date: {0}", converted.GetValue(i))
    System.Math.Max(System.Threading.Interlocked.Increment(i),i - 1)
End While

© 2016 Analytical Graphics, Inc. All Rights Reserved.

STK Programming Interface 11.0.1