STK ObjectsSend comments on this topic.
ComputeTracks Method (IAgMtoAnalysisVisibility)
See Also
Mode
TrackIds
Time
Windows





Windows & Linux

Description

Returns an array of track ids with a bool value indicating if it's visible to the specified object.

Syntax

[Visual Basic .NET]
Public Function ComputeTracks( _
    ByVal Mode As AgEMtoVisibilityMode, _
    ByVal TrackIds As System.Array, _
    ByVal Time As System.Object _
) As System.Array
[C#]
public System.Array ComputeTracks(
    AgEMtoVisibilityMode Mode,
    System.Array TrackIds,
    System.Object Time
);
[Managed C++]
public: System::Array ComputeTracks(
    AgEMtoVisibilityMode Mode,
    System::Array ^ TrackIds,
    VARIANT Time
);
[Unmanaged C++]
public: HRESULT ComputeTracks(
    AgEMtoVisibilityMode Mode,
    SAFEARRAY * * TrackIds,
    VARIANT Time,
    SAFEARRAY * * ppArray
);
[Java]
public AgSafeArray computeTracks(
    AgEMtoVisibilityMode Mode,
    AgSafeArray TrackIds,
    AgVariant Time
);
[Python - STK API ]
def ComputeTracks(self, Mode:"AgEMtoVisibilityMode", TrackIds:list, Time:typing.Any) -> list:

Parameters

Mode
TrackIds
Time

See Also

Example

Which tracks of the specified subset of tracks are visible from the other STK Object at the specified time?
[C#]
IAgMtoAnalysisVisibility mtoVisibility = mto.Analysis.Visibility;
mtoVisibility.UseTerrain = false; // Set to true to use terrain instead of line of sight.
mtoVisibility.Entirety = AgEMtoEntirety.eMtoEntiretyPartial; // Only applies if MTO is static (i.e. non time dependent).

Array tracksOfInterest = new object[]
                         {
                             1, 2, 7
                         };

mtoVisibility.StkObjectPath = "Satellite/J2Satellite";

// ComputeTracks expects as the second parameter a one dimensional array of mto track ids
// ComputeTracks returns a two dimensional array whose values are track id and visiblity
Array trackVisibilityArray = mtoVisibility.ComputeTracks(AgEMtoVisibilityMode.eVisibilityModeEach, ref tracksOfInterest, "1 Jan 2012 12:05:00.000");

// Output results
Console.WriteLine("ComputeTracks:");
for (int i = 0; i < trackVisibilityArray.GetLength(0); ++i)
{
    Console.WriteLine("   Track {0} visibility: {1}",
        Convert.ToInt32(trackVisibilityArray.GetValue(i, 0)),
        Convert.ToInt32(trackVisibilityArray.GetValue(i, 1)));
}
Which tracks of the specified subset of tracks are visible from the other STK Object at the specified time?
[Visual Basic .NET]
Dim mtoVisibility As IAgMtoAnalysisVisibility = mto.Analysis.Visibility
mtoVisibility.UseTerrain = False
' Set to true to use terrain instead of line of sight.
mtoVisibility.Entirety = AgEMtoEntirety.eMtoEntiretyPartial
' Only applies if MTO is static (i.e. non time dependent).
Dim tracksOfInterest As Array = New Object() {1, 2, 7}

mtoVisibility.StkObjectPath = "Satellite/J2Satellite"

' ComputeTracks expects as the second parameter a one dimensional array of mto track ids
' ComputeTracks returns a two dimensional array whose values are track id and visiblity
Dim trackVisibilityArray As Array = mtoVisibility.ComputeTracks(AgEMtoVisibilityMode.eVisibilityModeEach, tracksOfInterest, "1 Jan 2012 12:05:00.000")

' Output results
Console.WriteLine("ComputeTracks:")
Dim i As Integer = 0
While i < trackVisibilityArray.GetLength(0)
	Console.WriteLine("   Track {0} visibility: {1}", Convert.ToInt32(trackVisibilityArray.GetValue(i, 0)), Convert.ToInt32(trackVisibilityArray.GetValue(i, 1)))
	System.Threading.Interlocked.Increment(i)
End While
© 2024 Analytical Graphics, Inc. All Rights Reserved.