Class GroundStation
- Namespace
- NominalSystems.Universe
- Assembly
- NominalSystems.Universe.dll
[Nominal] A ground station is able to track objects in space and determine access between these objects and ground stations. Objects can include spacecraft, planets, the Sun, or other ground stations. It is also a ground body, meaning it can be placed on the world.
public class GroundStation : GroundObject
- Inheritance
-
GroundStation
- Extension Methods
Constructors
GroundStation()
Default constructor
protected GroundStation()
Fields
Out_GroundStationMsg
The Ground Station message contains all the information about the current configuration of the ground station.
public GroundStationMessage? Out_GroundStationMsg
Field Value
TargetAccessMsgDict
The mapping of all access messages for a particular universe object and the ground station. This is used to compute the access for each object over time.
[Hidden]
public Dictionary<UniverseObject?, AccessMessage> TargetAccessMsgDict
Field Value
Properties
MaximumRange
The maximum range that the spacecraft can be away to be accessed. If less than or equal to 0, then this is ignored.
[Unit(UnitType.METRE)]
[Range(0, 1.7976931348623157E+308)]
[Metadata(ContainedIn = "Out_GroundStationMsg")]
public double MaximumRange { get; set; }
Property Value
MinimumElevation
The minimum elevation a craft needs to be to be tracked above the horizon
[Unit(UnitType.DEGREE)]
[Range(0, 90)]
[Metadata(ContainedIn = "Out_GroundStationMsg")]
public double MinimumElevation { get; set; }
Property Value
NumTracking
The number of spacecraft that the ground station has currently started tracking.
[Unit(UnitType.NONE)]
[Metadata(ContainedIn = "Out_GroundStationMsg")]
public int NumTracking { get; }
Property Value
OverrideAccess
A flag that overrides the access and ignores all lines of sight for accessing the ground station and assumes the access is true.
[Metadata(ContainedIn = "Out_GroundStationMsg")]
public bool OverrideAccess { get; set; }
Property Value
Methods
OnCreate()
Called when the 'Component' is created from the controller.
protected override void OnCreate()
OnFinish(double)
Called when the object is deleted from the simulation and can handle any cleanup of variables.
protected override void OnFinish(double time)
Parameters
time
double[s] The current clock time when deleted
OnSave()
Called before the object is saved into the save state. This ensures that any additional metadata can be saved on the object before it is automatically serialized.
protected override void OnSave()
OnUpdate(double, double)
Called when the object should update from the simulation tick. This will take in a time and a step, where the time is the time of the clock before updating the object.
protected override void OnUpdate(double time, double step)
Parameters
time
double[s] Current time of the simulation before the update
step
double[s] The time-step to update during this tick
StopTracking(UniverseObject)
Stops tracking a particular object and removes the access message from the system.
public void StopTracking(UniverseObject target)
Parameters
target
UniverseObjectThe target to stop tracking
TrackObject(UniverseObject)
Starts to track a particular object and returns the access message that is created between this ground station and the object.
public AccessMessage TrackObject(UniverseObject target)
Parameters
target
UniverseObjectThe target object to track
Returns
- AccessMessage
The access message between the object and the ground station