|
WSF
|
#include <WsfSpaceOrbitalMissionContext.hpp>

Public Member Functions | |
| OrbitalMissionContext ()=default | |
| virtual | ~OrbitalMissionContext ()=default |
| virtual void | Update (const UtCalendar &aEpoch)=0 |
| virtual bool | Initialize (const UtCalendar &aEpoch)=0 |
| virtual const UtOrbitalPropagatorBase & | GetPropagator () const =0 |
| virtual WsfSimulation * | GetSimulation () const |
| virtual WsfSpaceMoverBase * | GetSpaceMover () const |
| virtual void | InitiateMissionEvent (const UtCalendar &aEpoch, const WsfOrbitalEvent &aMissionEvent) const |
| virtual void | UpdateMissionEvent (const UtCalendar &aEpoch, const WsfOrbitalEvent &aMissionEvent) const |
| virtual void | CompleteMissionEvent (const UtCalendar &aEpoch, const WsfOrbitalEvent &aMissionEvent) const |
| virtual void | CancelMissionEvent (const UtCalendar &aEpoch, const WsfOrbitalEvent &aMissionEvent) const |
| virtual bool | Maneuver (const UtCalendar &aEpoch, const UtVec3d &aCommandedDeltaV, UtVec3d &aActualDeltaV) const |
| virtual double | GetAvailableDeltaV () const |
| Get the available delta-v in the executing context. | |
| virtual double | GetRequiredDeltaV (double aDuration) const |
Get the delta-v required to maneuver for the given aDuration. | |
| virtual bool | PerformStagingOperation () const |
| Perform a staging operation. | |
| virtual std::string | GetName () const |
| Get a name identifying this orbital mission context. | |
| virtual double | GetManeuverDuration (const UtCalendar &aEpoch, const WsfOrbitalManeuver &aManeuver, double aDeltaV) const |
This class defines the interface for an execution context for orbital missions.
Concrete subclasses of this class provides the needed data for orbital mission execution for a particular use case. For example, one subclass will provide the needed dependencies when executing the mission in the simulation, and one will provide the needed dependencies when executing the mission when verifying it.
|
default |
|
virtualdefault |
|
inlinevirtual |
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 in wsf::space::OrbitalMissionSimulationContext, and wsf::space::OrbitalMissionVerificationContext.
|
inlinevirtual |
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 in wsf::space::OrbitalMissionSimulationContext, and wsf::space::OrbitalMissionVerificationContext.
Referenced by WsfOrbitalMissionSequence::AdvanceMissionEvent(), and WsfOrbitalEvent::Execute().
|
inlinevirtual |
Get the available delta-v in the executing context.
Reimplemented in wsf::space::OrbitalMissionSimulationContext, and wsf::space::OrbitalMissionVerificationContext.
Referenced by WsfOrbitalManeuver::EvaluatePostconditions(), and WsfOrbitalManeuver::InitializeTimes().
|
inlinevirtual |
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 in wsf::space::OrbitalMissionSimulationContext, and wsf::space::OrbitalMissionVerificationContext.
Referenced by WsfOrbitalManeuver::InitializeTimes().
|
inlinevirtual |
Get a name identifying this orbital mission context.
Reimplemented in wsf::space::OrbitalMissionSimulationContext, and wsf::space::OrbitalMissionVerificationContext.
Referenced by WsfOrbitalManeuver::InitializeTimes().
|
pure virtual |
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.
Implemented in wsf::space::OrbitalMissionSimulationContext, and wsf::space::OrbitalMissionVerificationContext.
Referenced by WsfOrbitalManeuver::EvaluatePostconditions(), WsfOrbitalEvent::Execute(), WsfOrbitalManeuver::ExecuteEvent(), WsfOrbitalManeuver::GetTargetPropagatorPerception(), WsfOrbitalMissionSequence::Initialize(), WsfOrbitalEvent::InitializeTimes(), and WsfOrbitalManeuver::InitializeTimes().
|
inlinevirtual |
Get the delta-v required to maneuver for the given aDuration.
Reimplemented in wsf::space::OrbitalMissionSimulationContext, and wsf::space::OrbitalMissionVerificationContext.
|
inlinevirtual |
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 in wsf::space::OrbitalMissionSimulationContext, and wsf::space::OrbitalMissionVerificationContext.
Referenced by WsfOrbitalScriptEvent::ExecuteEvent(), WsfOrbitalManeuver::GetTargetPropagatorPerception(), WsfOrbitalEvent::Initialize(), WsfOrbitalMissionSequence::Initialize(), and WsfOrbitalScriptEvent::Initialize().
|
inlinevirtual |
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 in wsf::space::OrbitalMissionSimulationContext, and wsf::space::OrbitalMissionVerificationContext.
Referenced by WsfOrbitalAttitudeChangeEvent::ExecuteEvent(), WsfOrbitalScriptEvent::ExecuteEvent(), WsfOrbitalAttitudeChangeEvent::Initialize(), and WsfOrbitalScriptEvent::Initialize().
|
pure virtual |
Initialize the context at the given aEpoch.
| aEpoch | The epoch at which this context is being initialized. |
Implemented in wsf::space::OrbitalMissionSimulationContext, and wsf::space::OrbitalMissionVerificationContext.
|
inlinevirtual |
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 in wsf::space::OrbitalMissionSimulationContext, and wsf::space::OrbitalMissionVerificationContext.
Referenced by WsfOrbitalEvent::Execute().
|
inlinevirtual |
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 in wsf::space::OrbitalMissionSimulationContext, and wsf::space::OrbitalMissionVerificationContext.
Referenced by WsfOrbitalManeuver::ExecuteEvent().
|
inlinevirtual |
Perform a staging operation.
Reimplemented in wsf::space::OrbitalMissionSimulationContext, and wsf::space::OrbitalMissionVerificationContext.
Referenced by WsfOrbitalStagingEvent::ExecuteEvent().
|
pure virtual |
Update to the given aEpoch.
This typically will update member variables for those subclasses that hold any.
| aEpoch | The epoch to which to update this context. |
Implemented in wsf::space::OrbitalMissionSimulationContext, and wsf::space::OrbitalMissionVerificationContext.
Referenced by WsfOrbitalManeuver::ExecuteEvent().
|
inlinevirtual |
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 in wsf::space::OrbitalMissionSimulationContext, and wsf::space::OrbitalMissionVerificationContext.
Referenced by WsfOrbitalEvent::Execute().