|
| | WsfOrbitalMissionSequence (const WsfScenario &aScenario) |
| | WsfOrbitalMissionSequence (const WsfOrbitalMissionSequence &aSrc) |
| WsfOrbitalMissionSequence & | operator= (const WsfOrbitalMissionSequence &)=delete |
| | ~WsfOrbitalMissionSequence () override=default |
| WsfOrbitalMissionSequence * | Clone () const override |
| | Make a copy of this object.
|
| bool | ProcessInput (UtInput &aInput) override |
| bool | Initialize (const UtCalendar &aEpoch, const wsf::space::OrbitalMissionContext &aContext) override |
| const WsfOrbitalEvent * | GetCurrentMissionEvent () const override |
| WsfOrbitalEvent * | GetCurrentMissionEvent () override |
| WsfOrbitalEvent * | AdvanceMissionEvent (const UtCalendar &aEpoch, const wsf::space::OrbitalMissionContext &aContext) override |
| UtCalendar | ComputeContraintEpoch (const UtCalendar &aEpoch, const UtOrbitalPropagatorBase &aPropagator, bool &aSuccess) const |
| const MissionEvents & | GetSequence () const |
| | Return the actual sequence (std::list) of maneuvers (WsfOrbitalEvent).
|
| void | AddMissionEvent (std::unique_ptr< WsfOrbitalEvent > &&aMissionEventPtr) |
| double | GetRequiredDeltaV (const UtOrbitalPropagatorBase &aPropagator) const override |
| double | GetDeltaV () const override |
| bool | IsSequence () const override |
| | Is this MissionEvent a MissionEvent sequence (WsfMissionEventSequence)?
|
| const char * | GetScriptClassName () const override |
| MissionEvents & | GetSequence () |
| | Return the actual sequence (std::list) of maneuvers (WsfOrbitalEvent).
|
| void | Accept (WsfOrbitalEventVisitor *aVisitorPtr) override |
| bool | ProcessInputWithIgnore (UtInput &aInput, bool aIgnoreSomeExceptions) |
| template<typename Callable> |
| bool | PreOrderTraversal (Callable aOperation) |
| bool | IsEmpty () const |
| | WsfOrbitalEvent (const WsfOrbitalEvent &aSrc) |
| WsfOrbitalEvent & | operator= (const WsfOrbitalEvent &)=delete |
| | ~WsfOrbitalEvent () override=default |
| bool | CanVerify () const |
| | Return whether this event can be verified.
|
| virtual bool | VerifyCondition () const |
| virtual bool | EvaluatePreconditions (const wsf::space::OrbitalMissionContext &aContext) const |
| virtual bool | EvaluatePostconditions (const wsf::space::OrbitalMissionContext &aContext) const |
| virtual bool | ValidateParameterRanges (const std::string &aExecutingPlatformName) const |
| bool | IsComplete () const |
| | Return whether the event is complete.
|
| bool | IsCanceled () const |
| | Return whether the event is canceled.
|
| void | SetCanceled () |
| | Mark the event as canceled.
|
| bool | Execute (const UtCalendar &aEpoch, wsf::space::OrbitalMissionContext &aContext) |
| const char * | GetScriptClassName () const override |
| bool | IsFinite () const |
| void | SetFinite (bool aIsFinite) |
| | Set whether the event is finite.
|
| bool | HasExecuted () const |
| | Return whether the event has executed at least once (i.e., Execute() has been called).
|
| const wsf::space::OrbitalPropagatorCondition & | GetCondition () const |
| | Return the condition for event execution (const).
|
| wsf::space::OrbitalPropagatorCondition & | GetCondition () |
| | Return the condition for event execution (non-const).
|
| WsfStringId | GetConditionString () const |
| | Return the condition string for event execution.
|
| void | SetCondition (std::unique_ptr< wsf::space::OrbitalPropagatorCondition > aConditionPtr) |
| | Set the condition for execution.
|
| const UtCalendar & | GetStartTime () const |
| | Return the time at which the event will begin executing.
|
| void | SetStartTime (const UtCalendar &aStartTime) |
| | Set the start time to begin event execution.
|
| const UtCalendar & | GetEvaluationTime () const |
| | Return the nominal time to execute the event impulsively.
|
| UtTimeValue | GetDuration () const |
| | Return the full duration of the event. If the event is impulsive, this method returns 0.
|
| void | SetDuration (const UtTimeValue &aDuration) |
| | Set the full duration of the event. A value of 0 implies and impulsive event; otherwise it is finite.
|
| void | SetOnlyDuration (const UtTimeValue &aDuration) |
| UtTimeValue | GetUpdateInterval () const |
| | For finite events, return the interval at which the event is to be re-evaluated.
|
| void | SetUpdateInterval (const UtTimeValue &aUpdateInterval) |
| | Set the update interval for which the event is to be re-evaluated.
|
| virtual bool | GetNextExecutionTime (const UtCalendar &aCurrentTime, const UtOrbitalPropagatorBase &aPropagator, UtCalendar &aNextExecutionTime) |
| | For finite events, return the next time the event should be executed.
|
| | WsfUniqueId () |
| | Construtor initializes the unique identifier to 0.
|
| | WsfUniqueId (const WsfUniqueId &) |
| | Copy constructor initializes the unique identifier to 0.
|
| WsfUniqueId & | operator= (const WsfUniqueId &) |
| unsigned int | GetUniqueId () const |
| | Get the unique identifier assigned to this object.
|
| template<typename T> |
| void | Serialize (T &aBuff) |
| | For XIO (de)serialization.
|
| | WsfObject () |
| | This is the constructor for the WsfObject class.
|
| | ~WsfObject () override |
| | This is the destructor for the WsfObject class.
|
| const char * | GetScriptClassName () const override |
| const std::string & | GetType () const |
| WsfStringId | GetTypeId () const |
| | Get the string ID of the 'type' of the object.
|
| void | SetType (WsfStringId aType) |
| const std::string & | GetBaseType () const |
| WsfStringId | GetBaseTypeId () const |
| const TypeList & | GetTypeList () const |
| bool | IsA_TypeOf (WsfStringId aType) const |
| WsfObject & | operator= (const WsfObject &aRhs) |
| | Assignment operator.
|
| template<typename T> |
| void | Serialize (T &aBuff) |
| | For XIO (de)serialization.
|
| const std::string & | GetName () const |
| WsfStringId | GetNameId () const |
| void | SetName (WsfStringId aName) |
A sequence of maneuvers. A maneuver sequence is aggregated by a WsfManeuvering object, which can execute maneuver sequences for capable derived propagator types, or for space mover types that aggregates a capable derived propagator. Currently the sole capable propagator is the UtOrbitalPropagator, and the only mover capable of executing maneuvers is the WsfSpaceMover.
Advance to the "next" MissionEvent in the MissionEvent sequence, after the current MissionEvent. (see WsfOrbitalMissionSequence::GetCurrentMissionEvent, above). The next MissionEvent may also be a MissionEvent sequence (e.g. a Hohmann transfer). The progression of calls to AdvanceMissionEvent is to return a MissionEvent sequence once, followed by aggregated MissionEvents: in the example of the Hohmann transfer, the aggregate Hohmann transfer is first returned, followed by the two "atomic" MissionEvents that first change to the transfer orbit, and second change to the final orbit. It is the responsibility of the caller to call Execute() on the returned MissionEvent before calling this method again. This is to allow propagation to occur up to the execution time of the MissionEvent. For instance, a Hohmann transfer may have a constraint upon it to execute at a relative time. In that case, calling Execute() will advance the MissionEvent to the proper time to begin execution of the two actual transfer burns associated with the MissionEvent.
- Parameters
-
| aEpoch | The current epoch, to be used as the basis for evaluating the next MissionEvent in the sequence. |
| aContext | The orbital mission context in which this event is being executed. |
- Returns
- A pointer to the next (non-sequence) MissionEvent object, or zero if there is no next MissionEvent.
- Note
- Do not call Initialize on the returned MissionEvent object, as it will have already been initialized.
-
Call this method in a try ... catch block. If the next MissionEvent cannot be initialized, an AdvanceMissionEventExeption will be thrown. Throwing the exception, as opposed to returning a bool or some other mechanism, is done to properly unwind the stack.
Reimplemented from WsfOrbitalEvent.
References WsfOrbitalEvent::AdvanceMissionEvent(), wsf::space::OrbitalMissionContext::CompleteMissionEvent(), WsfObject::GetType(), WsfOrbitalEvent::mDebug, WsfOrbitalEvent::mIsComplete, and WsfOrbitalEvent::WsfOrbitalEvent().