Description
The factory creates events.
Object Model
Public Methods
Public Properties
Today | Returns Today time instant. |
Tomorrow | Returns Tomorrow time instant. |
Example
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.
[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);
}
|
|
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
|
|