AGI STK Objects 11Send comments on this topic.
ComputeAllTracks Method (IAgMtoAnalysisVisibility)
See Also  Example
Mode
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 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
MemberValueDescription
eVisibilityModeEach2Returns the Track_id and 1 or 0 for every track; where 1 indicates the track is visible and 0 indicates it is not.
eVisibilityModeEachVisible3Returns the Track_id and 1 only for those tracks having visibility. If all objects are invisible then the message 'No Visibility' is returned.
eVisibilityModeEachNotVisible4Returns 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 2012 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 2012 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

© 2018 Analytical Graphics, Inc. All Rights Reserved.