AGI STK VGT 11 Send comments on this topic.
IAgCrdnEventIntervalListCondition Interface
Windows






Windows & Linux

Description

Interval list containing intervals during which specified condition is satisfied. Determination is performed within interval list using Sampling and Convergence parameters.

Object Model





Public Properties

Public Property ConditionThe condition component.
Public Property ConvergenceThe Convergence definition, which uses time tolerance to determine when times for intervals of satisfaction are found.
Public Property CustomTimeLimitsThe interval list or single interval within which intervals of satisfaction are sought. The specified value is used if UseCustomTimeLimits is true. The default is set to overall availability of host object. The time limits will be used if UseCustomTimeLimits is set to true.
Public Property SamplingThe Sampling definition, which can use a fixed step, relative tolerance or curvature tolerance. Relative tolerance uses a combination of relative and absolute changes in scalar values between samples. Curvature tolerance also uses changes in slope between samples.
Public Property SaveDataOptionDetermine if computed intervals of satisfaction are saved/loaded, or recomputed on load if necessary.
Public Property UseCustomTimeLimitsIndicate whether to use specified custom time limits (see CustomTimeLimits).

Example

Create and configure list condition event interval.
[C#]Copy Code
IAgCrdnEventIntervalList intervalList = provider.EventIntervalLists.Factory.CreateEventIntervalListCondition("MyIntervalListSatisfaction",  "MyDescription"); 
IAgCrdnEventIntervalListCondition asListCondition = intervalList as IAgCrdnEventIntervalListCondition; 
 
asListCondition.Condition = provider.Conditions["AfterStart"]; 
 
IAgCrdnIntervalListResult intervals = intervalList.FindIntervals(); 
if (intervals.IsValid) 

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

 

Determine the intervals an aircraft is above a certain velocity.
[C#]Copy Code
IAgCrdnProvider aircraftVgtProvider = stkRoot.GetObjectFromPath("Aircraft/UAV").Vgt; 
 
IAgCrdnEventIntervalList intervalList = aircraftVgtProvider.EventIntervalLists.Factory.CreateEventIntervalListCondition("IntervalsAboveCertainVelocity",  "MyDescription"); 
IAgCrdnEventIntervalListCondition asListCondition = intervalList as IAgCrdnEventIntervalListCondition; 
 
IAgCrdnCondition aboveBoundCondition = aircraftVgtProvider.Conditions.Factory.CreateConditionScalarBounds("AboveCertainBound""MyDescription"); 
IAgCrdnConditionScalarBounds asScalarBounds = aboveBoundCondition as IAgCrdnConditionScalarBounds; 
asScalarBounds.Operation = AgECrdnConditionThresholdOption.eCrdnConditionThresholdOptionAboveMin; 
asScalarBounds.Scalar = aircraftVgtProvider.CalcScalars["Trajectory(CBI).Cartesian.Z"]; 
//asScalarBounds.Minimum = 4082; 
 
asListCondition.Condition = aboveBoundCondition; 
 
IAgCrdnIntervalListResult intervals = intervalList.FindIntervals(); 
if (intervals.IsValid) 

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

 

Create and configure list condition event interval.
[Visual Basic .NET]Copy Code
Dim intervalList As IAgCrdnEventIntervalList = provider.EventIntervalLists.Factory.CreateEventIntervalListCondition("MyIntervalListSatisfaction", "MyDescription")
Dim asListCondition As IAgCrdnEventIntervalListCondition = TryCast(intervalList, IAgCrdnEventIntervalListCondition)

asListCondition.Condition = provider.Conditions("AfterStart")

Dim intervals As IAgCrdnIntervalListResult = intervalList.FindIntervals()
If intervals.IsValid Then
    For Each interval As IAgCrdnInterval In intervals.Intervals
        Console.WriteLine("Start: " + interval.Start)
        Console.WriteLine("Stop: " + interval.[Stop])
    Next
End If

Determine the intervals an aircraft is above a certain velocity.
[Visual Basic .NET]Copy Code
Dim aircraftVgtProvider As IAgCrdnProvider = stkRoot.GetObjectFromPath("Aircraft/UAV").Vgt

Dim intervalList As IAgCrdnEventIntervalList = aircraftVgtProvider.EventIntervalLists.Factory.CreateEventIntervalListCondition("IntervalsAboveCertainVelocity", "MyDescription")
Dim asListCondition As IAgCrdnEventIntervalListCondition = TryCast(intervalList, IAgCrdnEventIntervalListCondition)

Dim aboveBoundCondition As IAgCrdnCondition = aircraftVgtProvider.Conditions.Factory.CreateConditionScalarBounds("AboveCertainBound", "MyDescription")
Dim asScalarBounds As IAgCrdnConditionScalarBounds = TryCast(aboveBoundCondition, IAgCrdnConditionScalarBounds)
asScalarBounds.Operation = AgECrdnConditionThresholdOption.eCrdnConditionThresholdOptionAboveMin
asScalarBounds.Scalar = aircraftVgtProvider.CalcScalars("Trajectory(CBI).Cartesian.Z")
'asScalarBounds.Minimum = 4082;

asListCondition.Condition = aboveBoundCondition

Dim intervals As IAgCrdnIntervalListResult = intervalList.FindIntervals()
If intervals.IsValid Then
    For Each interval As IAgCrdnInterval In intervals.Intervals
        Console.WriteLine("Start: " + interval.Start)
        Console.WriteLine("Stop: " + interval.[Stop])
    Next
End If

CoClasses that Implement IAgCrdnEventIntervalListCondition

© 2018 Analytical Graphics, Inc. All Rights Reserved.