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
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. Curvature
tolerance also uses changes in slope 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. |
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"];
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")
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