Description
Returns the start time, end time, and duration of a Spacecraft's Sensor's view of celestialBody. The Access time is based on the specified sensor(s).
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
celestialBody
|
|
Description:
|
The numerical identifier for the celestial body that the calling Spacecraft is attempting to access. Body ID's 1-11 are assigned to the default Solar System objects, as shown below. Custom CelestialObjects will have body ID's starting at 12 and assigned in the order they are created.
|
Valid Values:
|
Celestial Object
|
Value
|
Mercury
|
Mercury.BodyID or 1
|
Venus
|
Venus.BodyID or 2
|
Earth
|
Earth.BodyID or 3
|
Mars
|
Mars.BodyID or 4
|
Jupiter
|
Jupiter.BodyID or 5
|
Saturn
|
Saturn.BodyID or 6
|
Uranus
|
Uranus.BodyID or 7
|
Neptune
|
Neptune.BodyID or 8
|
Pluto
|
Pluto.BodyID or 9
|
Moon
|
Moon.BodyID or 10
|
Sun
|
Sun.BodyID or 11
|
<Custom CelestialBody>
|
<Custom CelestialBody>.BodyID, starting at 12 and assigned in the order the custom CelestialObjects are created.
|
|
sensor
|
|
Description:
|
Sensor to use when calculating access.
|
Repeatable:
|
1 to 30 times
|
Return Value
Returns the start time, end time, and duration of a Spacecraft's Sensor's view of celestialBody. The Access time is based on sensor.
The FF_Preferences.IntervalEventReportingBehavior property controls whether the start and end of propagation are reported as events. By default, if the Sensor's view starts before the beginning of the propagation span, FreeFlyer will label the start of the propagation as the start of the Sensor's view. If the Sensor's view extends past the end of the propagation span, FreeFlyer labels the end of propagation as the end of the Sensor's view.
Syntax
myString1 = mySpacecraft1.Access(myVariable1, mySensor1);
|
This example shows how to generate a report of access from a Spacecraft to a Variable (representing a CelestialObject) using only the specified Sensor on the Spacecraft.
Spacecraft Spacecraft1;
// Configure Spacecraft orbit and add a Sensor to be used by the Spacecraft.Access() method
Spacecraft1.I = 0;
Spacecraft1.AddSensor("Sensor_1");
Spacecraft1.Sensors[0].BoresightUnitVector = {0, 0, -1};
// *** For Millisecond Mode Only ***
While(Spacecraft1.ElapsedDays < 0.25);
Report Spacecraft1.Access(10 /*Body ID for the Moon*/, Spacecraft1.Sensors[0]) to "Spacecraft_Access_Variable_Sensor.txt";
Step Spacecraft1;
End;
Or
// *** For Nanosecond Mode Only ***
While(Spacecraft1.ElapsedTime < TIMESPAN(0.25 days));
Report Spacecraft1.Access(10 /*Body ID for the Moon*/, Spacecraft1.Sensors[0]) to "Spacecraft_Access_Variable_Sensor.txt";
Step Spacecraft1;
End;
|
Output:
Note: Output generated using nanosecond timing precision mode.
|
See also
Spacecraft Object
Spacecraft.Access
Spacecraft Propagation Guide
Coverage and Contact Analysis Guide
|