Description
The factory creates events.
Object Model
Public Methods
Public Properties
Today |
Returns Today time
instant. |
Tomorrow |
Returns Tomorrow time
instant. |
Example
Create and configure
fixed epoch event.
[C#] |
Copy Code
|
IAgCrdnEvent timeEvent = provider.Events.Factory.CreateEventEpoch("MyEventFixed", "MyDescription");
IAgCrdnEventEpoch asEpoch = timeEvent as IAgCrdnEventEpoch;
asEpoch.Epoch = "1 May 2016 04:00:00.000";
IAgCrdnEventFindOccurrenceResult startTime = provider.Events["AvailabilityStartTime"].FindOccurrence();
asEpoch.Epoch = startTime.Epoch;
IAgCrdnEventFindOccurrenceResult occurrence = timeEvent.FindOccurrence();
if (occurrence.IsValid)
{
Console.WriteLine("Event occurred at: " + occurrence.Epoch);
}
|
|
Create and configure
fixed time offset event.
[C#] |
Copy Code
|
IAgCrdnEvent timeEvent = provider.Events.Factory.CreateEventTimeOffset("MyEventTimeOffset", "MyDescription");
IAgCrdnEventTimeOffset asTimeOffset = timeEvent as IAgCrdnEventTimeOffset;
asTimeOffset.ReferenceTimeInstant = provider.Events["AvailabilityStartTime"];
asTimeOffset.TimeOffset = 3;
IAgCrdnEventFindOccurrenceResult occurrence = timeEvent.FindOccurrence();
if (occurrence.IsValid)
{
Console.WriteLine("Event occurred at: " + occurrence.Epoch);
}
|
|
Create and configure
signaled event.
[C#] |
Copy Code
|
IAgCrdnProvider satelliteVgtProvider = stkRoot.GetObjectFromPath("Satellite/LEO").Vgt;
IAgCrdnProvider aircraftVgtProvider = stkRoot.GetObjectFromPath("Aircraft/UAV").Vgt;
IAgCrdnEvent timeEvent = satelliteVgtProvider.Events.Factory.CreateEventSignaled("MyEventSignaled", "MyDescription");
IAgCrdnEventSignaled asSignaled = timeEvent as IAgCrdnEventSignaled;
asSignaled.OriginalTimeInstant = aircraftVgtProvider.Events["EphemerisStartTime"];
asSignaled.BaseClockLocation = satelliteVgtProvider.Points["Center"];
asSignaled.TargetClockLocation = aircraftVgtProvider.Points["Center"];
asSignaled.SignalSense = AgECrdnSignalSense.eCrdnSignalSenseTransmit;
IAgCrdnSignalDelayBasic basicSignalDelay = asSignaled.SignalDelay as IAgCrdnSignalDelayBasic;
basicSignalDelay.SpeedOption = AgECrdnSpeedOptions.eCrdnCustomTransmissionSpeed;
basicSignalDelay.TimeDelayConvergence = 0.002;
IAgCrdnEventFindOccurrenceResult occurrence = timeEvent.FindOccurrence();
if (occurrence.IsValid)
{
Console.WriteLine("Event occurred at: " + occurrence.Epoch);
}
|
|
Create and configure
start stop time event.
[C#] |
Copy Code
|
IAgCrdnEvent timeEvent = provider.Events.Factory.CreateEventStartStopTime("MyEventStartStopTime", "MyDescription");
IAgCrdnEventStartStopTime asStartStopTime = timeEvent as IAgCrdnEventStartStopTime;
asStartStopTime.ReferenceEventInterval = provider.EventIntervals["EphemerisTimeSpan"];
asStartStopTime.UseStart = true;
IAgCrdnEventFindOccurrenceResult occurrence = timeEvent.FindOccurrence();
if (occurrence.IsValid)
{
Console.WriteLine("Event occurred at: " + occurrence.Epoch);
}
|
|
Create and configure
extremum event.
[C#] |
Copy Code
|
IAgCrdnEvent timeEvent = provider.Events.Factory.CreateEventExtremum("MyEventExtremum", "MyDescription");
IAgCrdnEventExtremum asExtremum = timeEvent as IAgCrdnEventExtremum;
asExtremum.Calculation = provider.CalcScalars["GroundTrajectory.Detic.LLA.Altitude"];
asExtremum.ExtremumType = AgECrdnExtremumConstants.eCrdnExtremumMaximum;
IAgCrdnEventFindOccurrenceResult occurrence = timeEvent.FindOccurrence();
if (occurrence.IsValid)
{
Console.WriteLine("Event occurred at: " + occurrence.Epoch);
}
|
|
Determine if the
specified event type is supported.
[C#] |
Copy Code
|
if (provider.Events.Factory.IsTypeSupported(eventType))
{
IAgCrdnEvent @event = provider.Events.Factory.Create(
"MyEvent", string.Empty,
eventType);
}
|
|
Create and configure
fixed epoch event.
[Visual Basic .NET] |
Copy Code
|
Dim timeEvent As
IAgCrdnEvent =
provider.Events.Factory.CreateEventEpoch("MyEventFixed",
"MyDescription")
Dim asEpoch As IAgCrdnEventEpoch = TryCast(timeEvent,
IAgCrdnEventEpoch)
asEpoch.Epoch = "1 May 2016
04:00:00.000"
Dim startTime As IAgCrdnEventFindOccurrenceResult =
provider.Events("AvailabilityStartTime").FindOccurrence()
asEpoch.Epoch = startTime.Epoch
Dim occurrence As IAgCrdnEventFindOccurrenceResult =
timeEvent.FindOccurrence()
If occurrence.IsValid Then
Console.WriteLine("Event occurred at: " + occurrence.Epoch)
End If
|
|
Create and configure
fixed time offset event.
[Visual Basic .NET] |
Copy Code
|
Dim timeEvent As
IAgCrdnEvent =
provider.Events.Factory.CreateEventTimeOffset("MyEventTimeOffset", "MyDescription")
Dim asTimeOffset As IAgCrdnEventTimeOffset = TryCast(timeEvent,
IAgCrdnEventTimeOffset)
asTimeOffset.ReferenceTimeInstant = provider.Events("AvailabilityStartTime")
asTimeOffset.TimeOffset = 3
Dim occurrence As IAgCrdnEventFindOccurrenceResult =
timeEvent.FindOccurrence()
If occurrence.IsValid Then
Console.WriteLine("Event occurred at: " + occurrence.Epoch)
End If
|
|
Create and configure
signaled event.
[Visual Basic .NET] |
Copy Code
|
Dim satelliteVgtProvider As IAgCrdnProvider =
stkRoot.GetObjectFromPath("Satellite/LEO").Vgt
Dim aircraftVgtProvider As IAgCrdnProvider =
stkRoot.GetObjectFromPath("Aircraft/UAV").Vgt
Dim timeEvent As IAgCrdnEvent =
satelliteVgtProvider.Events.Factory.CreateEventSignaled("MyEventSignaled",
"MyDescription")
Dim asSignaled As IAgCrdnEventSignaled = TryCast(timeEvent,
IAgCrdnEventSignaled)
asSignaled.OriginalTimeInstant =
aircraftVgtProvider.Events("EphemerisStartTime")
asSignaled.BaseClockLocation =
satelliteVgtProvider.Points("Center")
asSignaled.TargetClockLocation =
aircraftVgtProvider.Points("Center")
asSignaled.SignalSense =
AgECrdnSignalSense.eCrdnSignalSenseTransmit
Dim basicSignalDelay As IAgCrdnSignalDelayBasic =
TryCast(asSignaled.SignalDelay, IAgCrdnSignalDelayBasic)
basicSignalDelay.SpeedOption =
AgECrdnSpeedOptions.eCrdnCustomTransmissionSpeed
basicSignalDelay.TimeDelayConvergence = 0.002
Dim occurrence As IAgCrdnEventFindOccurrenceResult =
timeEvent.FindOccurrence()
If occurrence.IsValid Then
Console.WriteLine("Event occurred at: " + occurrence.Epoch)
End If
|
|
Create and configure
start stop time event.
[Visual Basic .NET] |
Copy Code
|
Dim timeEvent As
IAgCrdnEvent =
provider.Events.Factory.CreateEventStartStopTime("MyEventStartStopTime", "MyDescription")
Dim asStartStopTime As IAgCrdnEventStartStopTime = TryCast(timeEvent,
IAgCrdnEventStartStopTime)
asStartStopTime.ReferenceEventInterval =
provider.EventIntervals("EphemerisTimeSpan")
asStartStopTime.UseStart = True
Dim occurrence As IAgCrdnEventFindOccurrenceResult =
timeEvent.FindOccurrence()
If occurrence.IsValid Then
Console.WriteLine("Event occurred at: " + occurrence.Epoch)
End If
|
|
Create and configure
extremum event.
[Visual Basic .NET] |
Copy Code
|
Dim timeEvent As
IAgCrdnEvent =
provider.Events.Factory.CreateEventExtremum("MyEventExtremum", "MyDescription")
Dim asExtremum As IAgCrdnEventExtremum = TryCast(timeEvent,
IAgCrdnEventExtremum)
asExtremum.Calculation = provider.CalcScalars("GroundTrajectory.Detic.LLA.Altitude")
asExtremum.ExtremumType =
AgECrdnExtremumConstants.eCrdnExtremumMaximum
Dim occurrence As IAgCrdnEventFindOccurrenceResult =
timeEvent.FindOccurrence()
If occurrence.IsValid Then
Console.WriteLine("Event occurred at: " + occurrence.Epoch)
End If
|
|
Determine if the
specified event type is supported.
[Visual Basic .NET] |
Copy Code
|
If
provider.Events.Factory.IsTypeSupported(eventType) Then
Dim [event]
As IAgCrdnEvent =
provider.Events.Factory.Create("MyEvent", String.Empty, eventType)
End If
|
|