// Create the observers and target
GroundStation gs;
Spacecraft sc;
Variable i;
// Create the VisibilityCalculator and Segments
VisibilityCalculator VisibilityCalc;
VisibilityCalc.AddSegment("GS-to-Moon");
VisibilityCalc.AddSegment("GS-to-Sun");
VisibilityCalc.AddSegment("GS-to-SC");
// Set up the Segments
For i = 0 to VisibilityCalc.Segments.Count-1 step 1;
VisibilityCalc.Segments[i].SetObserver(gs);
End;
VisibilityCalc.GetSegmentByLabel("GS-to-Moon").SetTarget(Moon);
VisibilityCalc.GetSegmentByLabel("GS-to-Sun").SetTarget(Sun);
VisibilityCalc.GetSegmentByLabel("GS-to-SC").SetTarget(sc);
// Propagate and determine visibility times when *any* of the Sensors can see the GroundStation
While (sc.ElapsedTime < TIMESPAN(1 days));
Report sc.EpochText, VisibilityCalc.Visibility(sc.Epoch), VisibilityCalc.GetSegmentByLabel("GS-to-Moon").Visibility(sc.Epoch),
VisibilityCalc.GetSegmentByLabel("GS-to-Sun").Visibility(sc.Epoch),
VisibilityCalc.GetSegmentByLabel("GS-to-SC").Visibility(sc.Epoch);
View sc, gs;
Step sc;
End;
|