Description
The factory creates event intervals.
Object Model
Public Methods
Example
Create and configure
event interval between two instants.
[C#] |
Copy Code
|
IAgCrdnEventInterval eventInterval = provider.EventIntervals.Factory.CreateEventIntervalBetweenTimeInstants("MyIntervalBetweenTwoInstants", "MyDescription");
IAgCrdnEventIntervalBetweenTimeInstants asTimeInstant = eventInterval as IAgCrdnEventIntervalBetweenTimeInstants;
asTimeInstant.StartTimeInstant = provider.Events["EphemerisStartTime"];
asTimeInstant.StopTimeInstant = provider.Events["EphemerisStopTime"];
IAgCrdnEventIntervalResult intervalResult = eventInterval.FindInterval();
if (intervalResult.IsValid)
{
Console.WriteLine("Interval Start: " + intervalResult.Interval.Start);
Console.WriteLine("Interval Stop: " + intervalResult.Interval.Stop);
}
|
|
Create and configure
fixed duration event interval.
[C#] |
Copy Code
|
IAgCrdnEventInterval eventInterval = provider.EventIntervals.Factory.CreateEventIntervalFixedDuration("MyIntervalFixedDuration", "MyDescription");
IAgCrdnEventIntervalFixedDuration asFixedDuration = eventInterval as IAgCrdnEventIntervalFixedDuration;
asFixedDuration.ReferenceTimeInstant = provider.Events["AvailabilityStartTime"];
asFixedDuration.StartOffset = 10;
asFixedDuration.StopOffset = 360;
IAgCrdnEventIntervalResult intervalResult = eventInterval.FindInterval();
if (intervalResult.IsValid)
{
Console.WriteLine("Interval Start: " + intervalResult.Interval.Start);
Console.WriteLine("Interval Stop: " + intervalResult.Interval.Stop);
}
|
|
Create and configure
fixed event interval.
[C#] |
Copy Code
|
IAgCrdnEventInterval eventInterval = provider.EventIntervals.Factory.CreateEventIntervalFixed("MyIntervalFixed", "MyDescription");
IAgCrdnEventIntervalFixed asFixed = eventInterval as IAgCrdnEventIntervalFixed;
asFixed.SetInterval(
provider.Events["AvailabilityStartTime"].FindOccurrence().Epoch,
provider.Events["AvailabilityStopTime"].FindOccurrence().Epoch);
IAgCrdnEventIntervalResult intervalResult = eventInterval.FindInterval();
if (intervalResult.IsValid)
{
Console.WriteLine("Interval Start: " + intervalResult.Interval.Start);
Console.WriteLine("Interval Stop: " + intervalResult.Interval.Stop);
}
|
|
Create and configure
time offset event interval.
[C#] |
Copy Code
|
IAgCrdnEventInterval eventInterval = provider.EventIntervals.Factory.CreateEventIntervalTimeOffset("MyIntervalFixedTimeOffset", "MyDescription");
IAgCrdnEventIntervalTimeOffset asFixedTimeOffset = eventInterval as IAgCrdnEventIntervalTimeOffset;
asFixedTimeOffset.ReferenceInterval = provider.EventIntervals["AvailabilityTimeSpan"];
asFixedTimeOffset.TimeOffset = 30;
IAgCrdnEventIntervalResult intervalResult = eventInterval.FindInterval();
if (intervalResult.IsValid)
{
Console.WriteLine("Interval Start: " + intervalResult.Interval.Start);
Console.WriteLine("Interval Stop: " + intervalResult.Interval.Stop);
}
|
|
Create and configure
event interval from an interval list.
[C#] |
Copy Code
|
IAgCrdnEventInterval eventInterval = provider.EventIntervals.Factory.CreateEventIntervalFromIntervalList("MyIntervalList", "MyDescription");
IAgCrdnEventIntervalFromIntervalList asIntervalList = eventInterval as IAgCrdnEventIntervalFromIntervalList;
asIntervalList.ReferenceIntervals = provider.EventIntervalLists["AttitudeIntervals"];
asIntervalList.IntervalSelection = AgECrdnIntervalSelection.eCrdnIntervalSelectionMaxGap;
asIntervalList.IntervalSelection = AgECrdnIntervalSelection.eCrdnIntervalSelectionFromStart;
asIntervalList.IntervalNumber = 1;
IAgCrdnEventIntervalResult intervalResult = eventInterval.FindInterval();
if (intervalResult.IsValid)
{
Console.WriteLine("Interval Start: " + intervalResult.Interval.Start);
Console.WriteLine("Interval Stop: " + intervalResult.Interval.Stop);
}
|
|
Create and configure
scaled event interval.
[C#] |
Copy Code
|
IAgCrdnEventInterval eventInterval = provider.EventIntervals.Factory.CreateEventIntervalScaled("MyIntervalScaled", "MyDescription");
IAgCrdnEventIntervalScaled asScaled = eventInterval as IAgCrdnEventIntervalScaled;
asScaled.OriginalInterval = provider.EventIntervals["AvailabilityTimeSpan"];
asScaled.AbsoluteIncrement = 30;
asScaled.UseAbsoluteIncrement = false;
asScaled.RelativeIncrement = 45;
IAgCrdnEventIntervalResult intervalResult = eventInterval.FindInterval();
if (intervalResult.IsValid)
{
Console.WriteLine("Interval Start: " + intervalResult.Interval.Start);
Console.WriteLine("Interval Stop: " + intervalResult.Interval.Stop);
}
|
|
Create and configure
signaled event interval.
[C#] |
Copy Code
|
IAgCrdnProvider satelliteVgtProvider = stkRoot.GetObjectFromPath("Satellite/LEO").Vgt;
IAgCrdnProvider aircraftVgtProvider = stkRoot.GetObjectFromPath("Aircraft/UAV").Vgt;
IAgCrdnEventInterval eventInterval = satelliteVgtProvider.EventIntervals.Factory.CreateEventIntervalSignaled("MyIntervalSignaled", "MyDescription");
IAgCrdnEventIntervalSignaled asSignaled = eventInterval as IAgCrdnEventIntervalSignaled;
asSignaled.OriginalInterval = aircraftVgtProvider.EventIntervals["AvailabilityTimeSpan"];
asSignaled.BaseClockLocation = satelliteVgtProvider.Points["Center"];
asSignaled.TargetClockLocation = aircraftVgtProvider.Points["Center"];
asSignaled.SignalSense = AgECrdnSignalSense.eCrdnSignalSenseReceive;
IAgCrdnSignalDelayBasic basicSignalDelay = asSignaled.SignalDelay as IAgCrdnSignalDelayBasic;
basicSignalDelay.SpeedOption = AgECrdnSpeedOptions.eCrdnLightTransmissionSpeed;
basicSignalDelay.TimeDelayConvergence = 0.002;
IAgCrdnEventIntervalResult intervalResult = eventInterval.FindInterval();
if (intervalResult.IsValid)
{
Console.WriteLine("Interval Start: " + intervalResult.Interval.Start);
Console.WriteLine("Interval Stop: " + intervalResult.Interval.Stop);
}
|
|
Determine if the
specified event interval type is supported.
[C#] |
Copy Code
|
if (provider.EventIntervals.Factory.IsTypeSupported(eventIntervalType))
{
IAgCrdnEventInterval eventInterval = provider.EventIntervals.Factory.Create(
"MyEventInterval", string.Empty,
eventIntervalType);
}
|
|
Create and configure
event interval between two instants.
[Visual Basic .NET] |
Copy Code
|
Dim eventInterval As
IAgCrdnEventInterval =
provider.EventIntervals.Factory.CreateEventIntervalBetweenTimeInstants("MyIntervalBetweenTwoInstants",
"MyDescription")
Dim asTimeInstant As IAgCrdnEventIntervalBetweenTimeInstants =
TryCast(eventInterval, IAgCrdnEventIntervalBetweenTimeInstants)
asTimeInstant.StartTimeInstant = provider.Events("EphemerisStartTime")
asTimeInstant.StopTimeInstant = provider.Events("EphemerisStopTime")
Dim intervalResult As IAgCrdnEventIntervalResult =
eventInterval.FindInterval()
If intervalResult.IsValid Then
Console.WriteLine("Interval Start: " +
intervalResult.Interval.Start)
Console.WriteLine("Interval Stop: " +
intervalResult.Interval.[Stop])
End If
|
|
Create and configure
fixed duration event interval.
[Visual Basic .NET] |
Copy Code
|
Dim eventInterval As
IAgCrdnEventInterval =
provider.EventIntervals.Factory.CreateEventIntervalFixedDuration("MyIntervalFixedDuration",
"MyDescription")
Dim asFixedDuration As IAgCrdnEventIntervalFixedDuration =
TryCast(eventInterval, IAgCrdnEventIntervalFixedDuration)
asFixedDuration.ReferenceTimeInstant = provider.Events("AvailabilityStartTime")
asFixedDuration.StartOffset = 10
asFixedDuration.StopOffset = 360
Dim intervalResult As IAgCrdnEventIntervalResult =
eventInterval.FindInterval()
If intervalResult.IsValid Then
Console.WriteLine("Interval Start: " +
intervalResult.Interval.Start)
Console.WriteLine("Interval Stop: " +
intervalResult.Interval.[Stop])
End If
|
|
Create and configure
fixed event interval.
[Visual Basic .NET] |
Copy Code
|
Dim eventInterval As
IAgCrdnEventInterval =
provider.EventIntervals.Factory.CreateEventIntervalFixed("MyIntervalFixed",
"MyDescription")
Dim asFixed As IAgCrdnEventIntervalFixed =
TryCast(eventInterval, IAgCrdnEventIntervalFixed)
asFixed.SetInterval(provider.Events("AvailabilityStartTime").FindOccurrence().Epoch,
provider.Events("AvailabilityStopTime").FindOccurrence().Epoch)
Dim intervalResult As IAgCrdnEventIntervalResult =
eventInterval.FindInterval()
If intervalResult.IsValid Then
Console.WriteLine("Interval Start: " +
intervalResult.Interval.Start)
Console.WriteLine("Interval Stop: " +
intervalResult.Interval.[Stop])
End If
|
|
Create and configure
time offset event interval.
[Visual Basic .NET] |
Copy Code
|
Dim eventInterval As
IAgCrdnEventInterval =
provider.EventIntervals.Factory.CreateEventIntervalTimeOffset("MyIntervalFixedTimeOffset",
"MyDescription")
Dim asFixedTimeOffset As IAgCrdnEventIntervalTimeOffset =
TryCast(eventInterval, IAgCrdnEventIntervalTimeOffset)
asFixedTimeOffset.ReferenceInterval =
provider.EventIntervals("AvailabilityTimeSpan")
asFixedTimeOffset.TimeOffset = 30
Dim intervalResult As IAgCrdnEventIntervalResult =
eventInterval.FindInterval()
If intervalResult.IsValid Then
Console.WriteLine("Interval Start: " +
intervalResult.Interval.Start)
Console.WriteLine("Interval Stop: " +
intervalResult.Interval.[Stop])
End If
|
|
Create and configure
event interval from an interval list.
[Visual Basic .NET] |
Copy Code
|
Dim eventInterval As
IAgCrdnEventInterval =
provider.EventIntervals.Factory.CreateEventIntervalFromIntervalList("MyIntervalList",
"MyDescription")
Dim asIntervalList As IAgCrdnEventIntervalFromIntervalList =
TryCast(eventInterval, IAgCrdnEventIntervalFromIntervalList)
asIntervalList.ReferenceIntervals =
provider.EventIntervalLists("AttitudeIntervals")
asIntervalList.IntervalSelection =
AgECrdnIntervalSelection.eCrdnIntervalSelectionMaxGap
asIntervalList.IntervalSelection =
AgECrdnIntervalSelection.eCrdnIntervalSelectionFromStart
asIntervalList.IntervalNumber = 1
Dim intervalResult As IAgCrdnEventIntervalResult =
eventInterval.FindInterval()
If intervalResult.IsValid Then
Console.WriteLine("Interval Start: " +
intervalResult.Interval.Start)
Console.WriteLine("Interval Stop: " +
intervalResult.Interval.[Stop])
End If
|
|
Create and configure
scaled event interval.
[Visual Basic .NET] |
Copy Code
|
Dim eventInterval As
IAgCrdnEventInterval =
provider.EventIntervals.Factory.CreateEventIntervalScaled("MyIntervalScaled",
"MyDescription")
Dim asScaled As IAgCrdnEventIntervalScaled =
TryCast(eventInterval, IAgCrdnEventIntervalScaled)
asScaled.OriginalInterval = provider.EventIntervals("AvailabilityTimeSpan")
asScaled.AbsoluteIncrement = 30
asScaled.UseAbsoluteIncrement = False
asScaled.RelativeIncrement = 45
Dim intervalResult As IAgCrdnEventIntervalResult =
eventInterval.FindInterval()
If intervalResult.IsValid Then
Console.WriteLine("Interval Start: " +
intervalResult.Interval.Start)
Console.WriteLine("Interval Stop: " +
intervalResult.Interval.[Stop])
End If
|
|
Create and configure
signaled event interval.
[Visual Basic .NET] |
Copy Code
|
Dim satelliteVgtProvider As IAgCrdnProvider =
stkRoot.GetObjectFromPath("Satellite/LEO").Vgt
Dim aircraftVgtProvider As IAgCrdnProvider =
stkRoot.GetObjectFromPath("Aircraft/UAV").Vgt
Dim eventInterval As IAgCrdnEventInterval =
satelliteVgtProvider.EventIntervals.Factory.CreateEventIntervalSignaled("MyIntervalSignaled",
"MyDescription")
Dim asSignaled As IAgCrdnEventIntervalSignaled =
TryCast(eventInterval, IAgCrdnEventIntervalSignaled)
asSignaled.OriginalInterval =
aircraftVgtProvider.EventIntervals("AvailabilityTimeSpan")
asSignaled.BaseClockLocation =
satelliteVgtProvider.Points("Center")
asSignaled.TargetClockLocation =
aircraftVgtProvider.Points("Center")
asSignaled.SignalSense =
AgECrdnSignalSense.eCrdnSignalSenseReceive
Dim basicSignalDelay As IAgCrdnSignalDelayBasic =
TryCast(asSignaled.SignalDelay, IAgCrdnSignalDelayBasic)
basicSignalDelay.SpeedOption =
AgECrdnSpeedOptions.eCrdnLightTransmissionSpeed
basicSignalDelay.TimeDelayConvergence = 0.002
Dim intervalResult As IAgCrdnEventIntervalResult =
eventInterval.FindInterval()
If intervalResult.IsValid Then
Console.WriteLine("Interval Start: " +
intervalResult.Interval.Start)
Console.WriteLine("Interval Stop: " +
intervalResult.Interval.[Stop])
End If
|
|
Determine if the
specified event interval type is supported.
[Visual Basic .NET] |
Copy Code
|
If
provider.EventIntervals.Factory.IsTypeSupported(eventIntervalType)
Then
Dim
eventInterval As IAgCrdnEventInterval
= provider.EventIntervals.Factory.Create("MyEventInterval", String.Empty, eventIntervalType)
End If
|
|