AGI STK VGT 11Send comments on this topic.
CreateEventIntervalCollectionSignaled Method (IAgCrdnEventIntervalCollectionFactory)
See Also  Example
Name
Description
Windows






Windows & Linux

Description

Create an event interval collection recorded at target clock location by performing signal transmission of original interval list collection between base and target clock locations.

Syntax

[Visual Basic .NET]
Public Function CreateEventIntervalCollectionSignaled( _
   ByVal Name As String, _
   ByVal Description As String _
) As IAgCrdnEventIntervalCollection
[C#]
public IAgCrdnEventIntervalCollection CreateEventIntervalCollectionSignaled(
   string Name,
   string Description
);
[Managed C++]
public: IAgCrdnEventIntervalCollection^ CreateEventIntervalCollectionSignaled(
   String __gc ^ Name,
   String __gc ^ Description
);
[Java]
public IAgCrdnEventIntervalCollection createEventIntervalCollectionSignaled(
   String Name,
   String Description
);
[Unmanaged C++]
public: HRESULT CreateEventIntervalCollectionSignaled(
   BSTR Name,
   BSTR Description,
   IAgCrdnEventIntervalCollection ** ReturnValue
);

Parameters

Name
Description

Remarks

Spaces and most punctuation ( except for "-_().") cannot be used as a part of a component name when creating new components via VGT API.

Example

Create and configure signaled event interval collection.
[C#]Copy Code
IAgCrdnProvider satelliteVgtProvider = stkRoot.GetObjectFromPath("Satellite/LEO").Vgt; 
IAgCrdnProvider aircraftVgtProvider = stkRoot.GetObjectFromPath("Aircraft/UAV").Vgt; 
 
IAgCrdnEventIntervalCollection intervalCollection = satelliteVgtProvider.EventIntervalCollections.Factory.CreateEventIntervalCollectionSignaled("MyIntervalCollectionSignaled",  "MyDescription"); 
IAgCrdnEventIntervalCollectionSignaled asCollectionSignaled = intervalCollection as IAgCrdnEventIntervalCollectionSignaled; 
 
asCollectionSignaled.OriginalCollection = aircraftVgtProvider.EventIntervalCollections["LightingIntervals"]; 
asCollectionSignaled.BaseClockLocation = satelliteVgtProvider.Points["Center"]; 
asCollectionSignaled.TargetClockLocation = aircraftVgtProvider.Points["Center"]; 
 
asCollectionSignaled.SignalSense = AgECrdnSignalSense.eCrdnSignalSenseTransmit; 
IAgCrdnSignalDelayBasic basicSignalDelay = asCollectionSignaled.SignalDelay as IAgCrdnSignalDelayBasic; 
basicSignalDelay.SpeedOption = AgECrdnSpeedOptions.eCrdnLightTransmissionSpeed; 
 
// Uses current Time unit preference, this code snippet assumes seconds. 
basicSignalDelay.TimeDelayConvergence = 0.002
 
IAgCrdnIntervalsVectorResult intervalResult = intervalCollection.FindIntervalCollection(); 
if (intervalResult.IsValid) 

    foreach (IAgCrdnIntervalCollection intervals in intervalResult.IntervalCollections) 
    { 
        foreach (IAgCrdnInterval interval in intervals) 
        { 
            Console.WriteLine("Start: " + interval.Start); 
            Console.WriteLine("Start: " + interval.Stop); 
        } 
    } 

 

Create and configure signaled event interval collection.
[Visual Basic .NET]Copy Code
Dim satelliteVgtProvider As IAgCrdnProvider = stkRoot.GetObjectFromPath("Satellite/LEO").Vgt
Dim aircraftVgtProvider As IAgCrdnProvider = stkRoot.GetObjectFromPath("Aircraft/UAV").Vgt

Dim intervalCollection As IAgCrdnEventIntervalCollection = satelliteVgtProvider.EventIntervalCollections.Factory.CreateEventIntervalCollectionSignaled("MyIntervalCollectionSignaled", "MyDescription")
Dim asCollectionSignaled As IAgCrdnEventIntervalCollectionSignaled = TryCast(intervalCollection, IAgCrdnEventIntervalCollectionSignaled)

asCollectionSignaled.OriginalCollection = aircraftVgtProvider.EventIntervalCollections("LightingIntervals")
asCollectionSignaled.BaseClockLocation = satelliteVgtProvider.Points("Center")
asCollectionSignaled.TargetClockLocation = aircraftVgtProvider.Points("Center")

asCollectionSignaled.SignalSense = AgECrdnSignalSense.eCrdnSignalSenseTransmit
Dim basicSignalDelay As IAgCrdnSignalDelayBasic = TryCast(asCollectionSignaled.SignalDelay, IAgCrdnSignalDelayBasic)
basicSignalDelay.SpeedOption = AgECrdnSpeedOptions.eCrdnLightTransmissionSpeed

' Uses current Time unit preference, this code snippet assumes seconds.
basicSignalDelay.TimeDelayConvergence = 0.002

Dim intervalResult As IAgCrdnIntervalsVectorResult = intervalCollection.FindIntervalCollection()
If intervalResult.IsValid Then
    For Each intervals As IAgCrdnIntervalCollection In intervalResult.IntervalCollections
        For Each interval As IAgCrdnInterval In intervals
            Console.WriteLine("Start: " + interval.Start)
            Console.WriteLine("Start: " + interval.[Stop])
        Next
    Next
End If

See Also

© 2018 Analytical Graphics, Inc. All Rights Reserved.