|
WSF
|
#include <WsfSpaceOrbitalMissionSimulationContext.hpp>


Public Member Functions | |
| OrbitalMissionSimulationContext (WsfSpaceMoverBase &aMover) | |
| OrbitalMissionSimulationContext (WsfSpaceMoverBase &aMover, const OrbitalMissionSimulationContext &aOther) | |
| OrbitalMissionSimulationContext (const OrbitalMissionSimulationContext &aOther)=delete | |
| ~OrbitalMissionSimulationContext () override=default | |
| void | Update (const UtCalendar &aEpoch) override |
| Update the MissionEvents state to the specified absolute time. | |
| bool | Initialize (const UtCalendar &aEpoch) override |
| const UtOrbitalPropagatorBase & | GetPropagator () const override |
| WsfSimulation * | GetSimulation () const override |
| WsfSpaceMoverBase * | GetSpaceMover () const override |
| void | InitiateMissionEvent (const UtCalendar &aEpoch, const WsfOrbitalEvent &aMissionEvent) const override |
| void | UpdateMissionEvent (const UtCalendar &aEpoch, const WsfOrbitalEvent &aMissionEvent) const override |
| void | CompleteMissionEvent (const UtCalendar &aEpoch, const WsfOrbitalEvent &aMissionEvent) const override |
| void | CancelMissionEvent (const UtCalendar &aEpoch, const WsfOrbitalEvent &aMissionEvent) const override |
| bool | Maneuver (const UtCalendar &aEpoch, const UtVec3d &aCommandedDeltaV, UtVec3d &aActualDeltaV) const override |
| double | GetAvailableDeltaV () const override |
| Get the available delta-v in the executing context. | |
| double | GetRequiredDeltaV (double aDuration) const override |
Get the delta-v required to maneuver for the given aDuration. | |
| bool | PerformStagingOperation () const override |
| Perform a staging operation. | |
| std::string | GetName () const override |
| Get a name identifying this orbital mission context. | |
| double | GetManeuverDuration (const UtCalendar &aEpoch, const WsfOrbitalManeuver &aManeuver, double aDeltaV) const override |
| bool | ProcessInput (UtInput &aInput) |
| This method will read in a mission sequence from input. | |
| UtCalendar | GetLastUpdateTime () const |
| void | Schedule (WsfOrbitalEvent *aMissionEventPtr) |
| Schedule the given orbital event as a simulation event. | |
| void | ScheduleMission (const UtCalendar &aEpoch, std::unique_ptr< WsfOrbitalMissionSequence > aMissionEventsPtr) |
| const WsfOrbitalMissionSequence & | GetMissionEvents () const |
| Return the mission events configured for this context. | |
| Public Member Functions inherited from wsf::space::OrbitalMissionContext | |
| OrbitalMissionContext ()=default | |
| virtual | ~OrbitalMissionContext ()=default |
The simulation mission context is used for misson sequence execution during a simulation.
This orbital mission context connects to simulation objects during the execution of the mission sequence during the simulation. Additionally, this context stores the mission sequence for space movers.
|
explicit |
Referenced by OrbitalMissionSimulationContext(), and OrbitalMissionSimulationContext().
| wsf::space::OrbitalMissionSimulationContext::OrbitalMissionSimulationContext | ( | WsfSpaceMoverBase & | aMover, |
| const OrbitalMissionSimulationContext & | aOther ) |
References OrbitalMissionSimulationContext().
|
delete |
References OrbitalMissionSimulationContext().
|
overridedefault |
|
overridevirtual |
Indicate that an orbital mission event was cancelled.
This method offers a means for this context to take action whenever a mission event is cancelled, such as triggering observers.
| aEpoch | The epoch at which point a mission event was cancelled. |
| aMissionEvent | The mission event being cancelled. |
Reimplemented from wsf::space::OrbitalMissionContext.
References GetSimulation(), GetSpaceMover(), WsfObserver::OrbitalManeuverCanceled(), and simTime.
|
overridevirtual |
Indicate that an orbital mission event was completed.
This method offers a means for this context to take action whenever a mission event is completed, such as triggering observers.
| aEpoch | The epoch at which point a mission event was completed. |
| aMissionEvent | The mission event being completed. |
Reimplemented from wsf::space::OrbitalMissionContext.
References GetSimulation(), GetSpaceMover(), WsfObserver::OrbitalManeuverCompleted(), and simTime.
|
overridevirtual |
Get the available delta-v in the executing context.
Reimplemented from wsf::space::OrbitalMissionContext.
|
inline |
|
overridevirtual |
Return the duration of the given maneuver for the given delta-v in this context.
| aEpoch | The epoch at which the maneuver is executing. |
| aManeuver | The maneuver in question. |
| aDeltaV | The delta-v to be expended in the maneuver. |
Reimplemented from wsf::space::OrbitalMissionContext.
| const WsfOrbitalMissionSequence & wsf::space::OrbitalMissionSimulationContext::GetMissionEvents | ( | ) | const |
Return the mission events configured for this context.
|
overridevirtual |
Get a name identifying this orbital mission context.
Reimplemented from wsf::space::OrbitalMissionContext.
|
overridevirtual |
Return the propagator representing the current state of the executing platform.
In some contexts, this will not be a propagator owned by any platform, but will instead be the propagator a platform would have were it executing the mission sequence during a simulation.
Implements wsf::space::OrbitalMissionContext.
|
overridevirtual |
Get the delta-v required to maneuver for the given aDuration.
Reimplemented from wsf::space::OrbitalMissionContext.
|
overridevirtual |
Return the simulation to which this context refers.
Some OrbitalMissionContexts will be associated with a simulation, either because the mission is executing in the simulation, or because the simulation is available as a source of information.
Reimplemented from wsf::space::OrbitalMissionContext.
Referenced by CancelMissionEvent(), CompleteMissionEvent(), InitiateMissionEvent(), Schedule(), ScheduleMission(), and UpdateMissionEvent().
|
overridevirtual |
Return the space mover to which this context refers.
Some OrbitalMissionContexts will be associtated with a space mover, typically because the context is on in which a space mover's state is actually being updated by the mission sequence.
Reimplemented from wsf::space::OrbitalMissionContext.
Referenced by CancelMissionEvent(), CompleteMissionEvent(), InitiateMissionEvent(), and UpdateMissionEvent().
|
overridevirtual |
Initialize the context at the given aEpoch.
| aEpoch | The epoch at which this context is being initialized. |
Implements wsf::space::OrbitalMissionContext.
References WsfOrbitalEvent::GetCurrentMissionEvent(), ok, and Schedule().
|
overridevirtual |
Indicate that an orbital mission event was initiated.
This method offers a means for this context to take action whenever a mission event is initiated, such as triggering observers.
| aEpoch | The epoch at which point a mission event was initiated. |
| aMissionEvent | The mission event being initiated. |
Reimplemented from wsf::space::OrbitalMissionContext.
References GetSimulation(), GetSpaceMover(), WsfObserver::OrbitalManeuverInitiated(), and simTime.
|
overridevirtual |
Command a maneuver at the given epoch.
Indicate to the context that a maneuver should occur at the given aEpoch and there should be a change in ECI velocity of the given aCommandedDeltaV. The actual execution of the maneuver may be unable to achieve the commanded delta-v, so the actually achieved delta-v is returned via aActualDeltaV. If the maneuver was unsuccessful completely, false is returned.
| aEpoch | The epoch at which the maneuver is to occur. |
| aCommandedDeltaV | The delta-v commanded for the maneuver. |
| aActualDeltaV | [out] The actual delta-v that was possible. |
Reimplemented from wsf::space::OrbitalMissionContext.
References WsfSpaceMoverBase::Maneuver().
|
overridevirtual |
Perform a staging operation.
Reimplemented from wsf::space::OrbitalMissionContext.
| bool wsf::space::OrbitalMissionSimulationContext::ProcessInput | ( | UtInput & | aInput | ) |
This method will read in a mission sequence from input.
| void wsf::space::OrbitalMissionSimulationContext::Schedule | ( | WsfOrbitalEvent * | aMissionEventPtr | ) |
Schedule the given orbital event as a simulation event.
References WsfSimulation::AddEvent(), GetSimulation(), and WsfOrbitalEvent::GetStartTime().
Referenced by Initialize().
| void wsf::space::OrbitalMissionSimulationContext::ScheduleMission | ( | const UtCalendar & | aEpoch, |
| std::unique_ptr< WsfOrbitalMissionSequence > | aMissionEventsPtr ) |
Set the MissionEvent sequence using an event that executes at the current simulation time (necessary because a scripted event can schedule a new sequence, thus potentially deleting itself). Then, initialize and schedule the first event in the new sequence.
| aEpoch | The current epoch, to be used as the basis for scheduling mission. |
| aMissionEventsPtr | The new mission events sequence to be executed. |
References WsfSimulation::AddEvent(), and GetSimulation().
|
overridevirtual |
Update the MissionEvents state to the specified absolute time.
Implements wsf::space::OrbitalMissionContext.
References simTime.
|
overridevirtual |
Indicate that an orbital mission event was updated.
This method offers a means for this context to take action whenever a mission event is updated, such as triggering observers.
| aEpoch | The epoch at which point a mission event was updated. |
| aMissionEvent | The mission event being updated. |
Reimplemented from wsf::space::OrbitalMissionContext.
References GetSimulation(), GetSpaceMover(), WsfObserver::OrbitalManeuverUpdated(), and simTime.