Description
Interval list containing intervals during which specified condition is satisfied. Determination is performed within interval list using Sampling and Convergence parameters.
Public Properties
Condition | The condition that must be satisfied. |
Convergence | The Convergence definition, which uses time tolerance to determine when time of extremum is found. |
CustomTimeLimits | The 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. |
Sampling | The 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... |
SaveDataOption | Determine if computed intervals of satisfaction are saved/loaded, or recomputed on load if necessary. |
UseCustomTimeLimits | Specify whether to use custom time limits. |
Interfaces
CoClasses that Implement IAgCrdnEventIntervalListCondition
Example
Create and configure list condition event interval.
[C#] |
---|
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#] |
---|
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] |
---|
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] |
---|
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
|
|