12#ifndef WSFORBITALMISSIONEVENT_HPP
13#define WSFORBITALMISSIONEVENT_HPP
15#include "wsf_space_export.h"
17#include "UtCalendar.hpp"
18#include "UtCloneablePtr.hpp"
19#include "UtException.hpp"
21class UtOrbitalPropagatorBase;
22#include "UtScriptClassDefine.hpp"
23#include "UtUnitTypes.hpp"
67 virtual bool VerifyCondition()
const;
73 virtual bool ValidateParameterRanges(
const std::string& aExecutingPlatformName)
const;
111 void SetCondition(std::unique_ptr<wsf::space::OrbitalPropagatorCondition> aConditionPtr)
130 void SetDuration(
const UtTimeValue& aDuration);
131 void SetOnlyDuration(
const UtTimeValue& aDuration);
164 virtual double GetRequiredDeltaV(
const UtOrbitalPropagatorBase& aPropagator)
const {
return 0.0; }
170 virtual bool GetNextExecutionTime(
const UtCalendar& aCurrentTime,
171 const UtOrbitalPropagatorBase& aPropagator,
172 UtCalendar& aNextExecutionTime);
180 const UtCalendar& aEvaluationTime,
192 virtual bool EvaluateCompletion(
const UtCalendar& aEpoch,
const UtOrbitalPropagatorBase& aPropagator);
196 ut::CloneablePtr<wsf::space::OrbitalPropagatorCondition>
mCondition{};
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
WsfObject()
This is the constructor for the WsfObject class.
Definition WsfObject.cpp:88
virtual bool ProcessInput(UtInput &aInput)
Definition WsfObject.cpp:140
Definition WsfOrbitalEventVisitor.hpp:41
AdvanceMissionEventException()
Definition WsfOrbitalEvent.cpp:194
Definition WsfOrbitalEvent.hpp:50
bool mDebug
Definition WsfOrbitalEvent.hpp:201
UtTimeValue GetUpdateInterval() const
For finite events, return the interval at which the event is to be re-evaluated.
Definition WsfOrbitalEvent.hpp:134
bool IsCanceled() const
Return whether the event is canceled.
Definition WsfOrbitalEvent.hpp:79
UtTimeValue GetDuration() const
Return the full duration of the event. If the event is impulsive, this method returns 0.
Definition WsfOrbitalEvent.hpp:128
static WsfOrbitalEvent * Create(const WsfScenario &aScenario, UtInput &aInput, bool aIgnoreSomeExceptions=false)
Definition WsfOrbitalEvent.cpp:90
void SetCanceled()
Mark the event as canceled.
Definition WsfOrbitalEvent.hpp:82
virtual double GetDeltaV() const
Get the delta V expended to execute this event; the default is to return 0.0.
Definition WsfOrbitalEvent.hpp:167
void SetUpdateInterval(const UtTimeValue &aUpdateInterval)
Set the update interval for which the event is to be re-evaluated.
Definition WsfOrbitalEvent.hpp:137
virtual bool ExecuteEvent(const UtCalendar &aCurrentTime, wsf::space::OrbitalMissionContext &aContext)=0
virtual bool EvaluateCompletion(const UtCalendar &aEpoch, const UtOrbitalPropagatorBase &aPropagator)
Definition WsfOrbitalEvent.cpp:351
void SetFinite(bool aIsFinite)
Set whether the event is finite.
Definition WsfOrbitalEvent.hpp:93
const UtCalendar & GetEvaluationTime() const
Return the nominal time to execute the event impulsively.
Definition WsfOrbitalEvent.hpp:125
virtual bool IsSequence() const
Is this MissionEvent a MissionEvent sequence (WsfMissionEventSequence)?
Definition WsfOrbitalEvent.hpp:161
bool HasExecuted() const
Return whether the event has executed at least once (i.e., Execute() has been called).
Definition WsfOrbitalEvent.hpp:96
bool mIsComplete
Definition WsfOrbitalEvent.hpp:199
virtual WsfOrbitalEvent * GetCurrentMissionEvent()
Definition WsfOrbitalEvent.hpp:145
virtual void Accept(WsfOrbitalEventVisitor *aVisitorPtr)=0
bool mIsFinite
Definition WsfOrbitalEvent.hpp:197
UtCalendar mStartTime
Can this event be verified without running in a simulation?
Definition WsfOrbitalEvent.hpp:203
void SetStartTime(const UtCalendar &aStartTime)
Set the start time to begin event execution.
Definition WsfOrbitalEvent.hpp:122
bool mCanVerify
Definition WsfOrbitalEvent.hpp:202
WsfStringId GetConditionString() const
Return the condition string for event execution.
Definition WsfOrbitalEvent.hpp:108
const WsfScenario & mScenario
Definition WsfOrbitalEvent.hpp:207
WsfOrbitalEvent(const WsfOrbitalEvent &aSrc)
Definition WsfOrbitalEvent.cpp:361
bool CanVerify() const
Return whether this event can be verified.
Definition WsfOrbitalEvent.hpp:65
virtual const WsfOrbitalEvent * GetCurrentMissionEvent() const
Definition WsfOrbitalEvent.hpp:141
bool IsComplete() const
Return whether the event is complete.
Definition WsfOrbitalEvent.hpp:76
WsfOrbitalEvent & operator=(const WsfOrbitalEvent &)=delete
UtTimeValue mDuration
Definition WsfOrbitalEvent.hpp:205
virtual bool Initialize(const UtCalendar &aEpoch, const wsf::space::OrbitalMissionContext &aContext)
Definition WsfOrbitalEvent.cpp:202
bool mHasExecuted
Definition WsfOrbitalEvent.hpp:198
void SetCondition(std::unique_ptr< wsf::space::OrbitalPropagatorCondition > aConditionPtr)
Set the condition for execution.
Definition WsfOrbitalEvent.hpp:111
bool IsFinite() const
Definition WsfOrbitalEvent.hpp:90
WsfOrbitalEvent * Clone() const override=0
Make a copy of this object.
UtCalendar mEvaluationTime
Definition WsfOrbitalEvent.hpp:204
virtual bool InitializeTimes(const UtCalendar &aEpoch, const wsf::space::OrbitalMissionContext &aContext)
Definition WsfOrbitalEvent.cpp:283
~WsfOrbitalEvent() override=default
const char * GetScriptClassName() const override
Definition WsfOrbitalEvent.hpp:86
UtTimeValue mUpdateInterval
Definition WsfOrbitalEvent.hpp:206
virtual double GetRequiredDeltaV(const UtOrbitalPropagatorBase &aPropagator) const
Return the minimum required delta-v needed to complete this event; the default is to return 0....
Definition WsfOrbitalEvent.hpp:164
const wsf::space::OrbitalPropagatorCondition & GetCondition() const
Return the condition for event execution (const).
Definition WsfOrbitalEvent.hpp:99
ut::CloneablePtr< wsf::space::OrbitalPropagatorCondition > mCondition
Definition WsfOrbitalEvent.hpp:196
wsf::space::OrbitalPropagatorCondition & GetCondition()
Return the condition for event execution (non-const).
Definition WsfOrbitalEvent.hpp:102
bool mIsCanceled
Definition WsfOrbitalEvent.hpp:200
virtual bool InitializeVariables(const UtCalendar &aCurrentTime, const UtCalendar &aEvaluationTime, const wsf::space::OrbitalMissionContext &aContext)
Definition WsfOrbitalEvent.cpp:340
const UtCalendar & GetStartTime() const
Return the time at which the event will begin executing.
Definition WsfOrbitalEvent.hpp:119
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfSpaceMoverBase.hpp:70
WsfUniqueId()
Construtor initializes the unique identifier to 0.
Definition WsfUniqueId.hpp:38
Definition WsfSpaceOrbitalMissionContext.hpp:38
Definition WsfSpaceOrbitalPropagatorCondition.hpp:38
Definition WsfAtmosphere.cpp:23
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32