12#ifndef WSFSPACEORBITALMISSIONVERIFICATIONCONTEXT_HPP
13#define WSFSPACEORBITALMISSIONVERIFICATIONCONTEXT_HPP
15#include "wsf_space_export.h"
19#include "UtMemory.hpp"
20#include "UtOrbitalPropagatorBase.hpp"
42 const UtOrbitalPropagatorBase& aPropagator,
44 const std::string& aPlatformName)
45 : mManeuveringPtr{
ut::clone(aManeuvering)}
46 , mPropagatorPtr{
ut::clone(aPropagator)}
47 , mMissionEventsPtr{
ut::clone(aMissionEvents)}
48 , mPlatformName{aPlatformName}
54 void Update(
const UtCalendar& aEpoch)
override;
56 bool Initialize(
const UtCalendar& aEpoch)
override;
58 const UtOrbitalPropagatorBase&
GetPropagator()
const override {
return *(mPropagatorPtr); }
65 bool Maneuver(
const UtCalendar& aEpoch,
const UtVec3d& aCommandedDeltaV, UtVec3d& aActualDeltaV)
const override;
66 double GetAvailableDeltaV()
const override;
67 double GetRequiredDeltaV(
double aDuration)
const override;
68 bool PerformStagingOperation()
const override;
69 std::string GetName()
const override;
70 double GetManeuverDuration(
const UtCalendar& aEpoch,
const WsfOrbitalManeuver& aManeuver,
double aDeltaV)
const override;
81 verify::PostOperation aPostVerifyOp = verify::PostOperation{});
92 std::unique_ptr<WsfOrbitalManeuvering> mManeuveringPtr;
93 std::unique_ptr<UtOrbitalPropagatorBase> mPropagatorPtr;
94 std::unique_ptr<WsfOrbitalMissionSequence> mMissionEventsPtr;
95 std::string mPlatformName;
aObjectPtr Update(simTime)
Definition WsfOrbitalEvent.hpp:50
Definition WsfOrbitalManeuver.hpp:34
Definition WsfOrbitalManeuvering.hpp:30
Definition WsfOrbitalMissionSequence.hpp:32
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfSpaceMoverBase.hpp:70
OrbitalMissionContext()=default
void InitiateMissionEvent(const UtCalendar &aEpoch, const WsfOrbitalEvent &aMissionEvent) const override
Definition WsfSpaceOrbitalMissionVerificationContext.hpp:61
void UpdateMissionEvent(const UtCalendar &aEpoch, const WsfOrbitalEvent &aMissionEvent) const override
Definition WsfSpaceOrbitalMissionVerificationContext.hpp:62
OrbitalMissionVerificationContext(const WsfOrbitalManeuvering &aManeuvering, const UtOrbitalPropagatorBase &aPropagator, const WsfOrbitalMissionSequence &aMissionEvents, const std::string &aPlatformName)
Definition WsfSpaceOrbitalMissionVerificationContext.hpp:41
~OrbitalMissionVerificationContext() override=default
WsfSpaceMoverBase * GetSpaceMover() const override
Definition WsfSpaceOrbitalMissionVerificationContext.hpp:60
void CancelMissionEvent(const UtCalendar &aEpoch, const WsfOrbitalEvent &aMissionEvent) const override
Definition WsfSpaceOrbitalMissionVerificationContext.hpp:64
void CompleteMissionEvent(const UtCalendar &aEpoch, const WsfOrbitalEvent &aMissionEvent) const override
Definition WsfSpaceOrbitalMissionVerificationContext.hpp:63
const UtOrbitalPropagatorBase & GetPropagator() const override
Definition WsfSpaceOrbitalMissionVerificationContext.hpp:58
WsfSimulation * GetSimulation() const override
Definition WsfSpaceOrbitalMissionVerificationContext.hpp:59
bool Initialize(const UtCalendar &aEpoch) override
Definition WsfSpaceOrbitalMissionVerificationContext.cpp:26
Definition WsfSensorErrorModel.hpp:21
std::function< void(int, const WsfOrbitalEvent *, const UtCalendar &, const UtOrbitalElements &, double)> PreOperation
Definition WsfSpaceVerifyTypes.hpp:37
Definition WsfAtmosphere.cpp:23
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32