Description
Determines the entry time, exit time, and duration of a Spacecraft's pass through the shadow of a central body. Events are reported for umbral shadow conditions only. If the specified body is a member of the Earth-Moon system, the counterpart not specified will also be considered in shadow evaluation.
Timing Precision Mode
This page describes functionality in nanosecond timing precision mode.
Click here to see the documentation for this object in millisecond timing precision mode.
Note: This is an interval method. See the Interval Methods page for more information.
Note: This method has a state. See the Methods and Properties with State page for more information.
Method Signature
Arguments
EventTime
|
|
Description:
|
The time that the event occurred.
The FF_Preferences.IntervalEventReportingBehavior property controls whether the start of propagation is reported as an event. By default, if the time in shadow starts before the beginning of the propagation span, FreeFlyer will label the start of the propagation as the start of the time in shadow.
|
EventType
|
|
Description:
|
The type of the event that occurred. Event type == 101 is entry into umbral shadow. Event type == 102 is exit from umbral shadow.
|
Return Value
Returns the number of elements filled into EventType and EventTime arrays.
Syntax
myVariable1 = mySpacecraft1.UmbralShadowTimes(myTimeSpanArray1, myArray1);
|
This example demonstrates how to generate a report of a Spacecraft's passes through its central body's umbral shadow.
Spacecraft Spacecraft1;
Variable i;
Variable shadowTimes;
TimeSpanArray EventTime;
Array EventType;
String scEventType;
String scEventTime;
DataTableWindow scReport({scEventType, scEventTime});
While (Spacecraft1.ElapsedTime < TIMESPAN(1 days));
shadowTimes = Spacecraft1.UmbralShadowTimes(EventTime, EventType);
If(shadowTimes > 0) then;
For i = 0 to shadowTimes - 1 step 1;
Switch (EventType[i]);
Case 101:
scEventType = "Entry into Umbral Shadow: ";
scEventTime = EventTime[i].ConvertToCalendarDate();
Update scReport;
Break;
Case 102:
scEventType = "Exit from Umbral Shadow: ";
scEventTime = EventTime[i].ConvertToCalendarDate();
Update scReport;
End;
End;
End;
Step Spacecraft1;
End;
|
Output:
|
See also
Spacecraft Object
Spacecraft.UmbralShadowTimes
Spacecraft Propagation Guide
Coverage and Contact Analysis Guide
|