Description
The factory creates event intervals.
Object Model
Public Methods
Example
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.
[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);
}
|
|
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
|
|