AGI STK Objects 11 Send comments on this topic.
ComputeAllTracks Method (IAgMtoAnalysisVisibility)
See Also  Example
Mode
Time





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 ComputeAllTracks( _
   ByVal Mode As AgEMtoVisibilityMode, _
   ByVal Time As System.Object _
) As System.Array

[C#]
public System.Array ComputeAllTracks(
AgEMtoVisibilityMode Mode,
System.Object Time
);

[Managed C++]
public: System::Array ComputeAllTracks(
AgEMtoVisibilityMode Mode,
VARIANT Time
);

[Java]
public Object[] computeAllTracks(
AgEMtoVisibilityMode Mode,
Variant Time
);

[Unmanaged C++]
public: HRESULT ComputeAllTracks(
AgEMtoVisibilityMode Mode,
VARIANT Time,
SAFEARRAY ** Array
);

Parameters

Mode
Member Value Description
eVisibilityModeEach 2 Returns the Track_id and 1 or 0 for every track; where 1 indicates the track is visible and 0 indicates it is not.
eVisibilityModeEachVisible 3 Returns the Track_id and 1 only for those tracks having visibility. If all objects are invisible then the message 'No Visibility' is returned.
eVisibilityModeEachNotVisible 4 Returns the Track_id and 0 for those tracks not having visibility. If all objects are visible then the message 'Complete Visibility' is returned.
Time

Example

Determine which tracks are visible from the other STK Object at the specified time
[C#] Copy Code
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). 
 
mtoVisibility.StkObjectPath = "Satellite/J2Satellite"
 
// ComputeAllTracks returns a two dimensional array whose elements are trackid and visibility 
Array trackVisibilityArray = mtoVisibility.ComputeAllTracks(AgEMtoVisibilityMode.eVisibilityModeEach, "1 Jan 2008 12:00:00.000"); 
 
// Ouput results 
Console.WriteLine("ComputeAllTracks:"); 
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))); 

 

Determine which tracks are visible from the other STK Object at the specified time
[Visual Basic .NET] Copy Code
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).
mtoVisibility.StkObjectPath = "Satellite/J2Satellite"

' ComputeAllTracks returns a two dimensional array whose elements are trackid and visibility
Dim trackVisibilityArray As Array = mtoVisibility.ComputeAllTracks(AgEMtoVisibilityMode.eVisibilityModeEach, "1 Jan 2008 12:00:00.000")

' Ouput results
Console.WriteLine("ComputeAllTracks:")
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

See Also

© 2016 Analytical Graphics, Inc. All Rights Reserved.

STK Programming Interface 11.0.1