12#ifndef WSFGUIDANCEPROGRAM_HPP
13#define WSFGUIDANCEPROGRAM_HPP
15#include "wsf_mil_export.h"
91 virtual void Start(
double aSimTime,
double aCurTime);
108 void AltitudeGuidance(State& aState, Phase& aPhase,
double& aZ_Accel);
110 void AngleOffsetGuidance(State& aState, Phase& aPhase,
double& aY_Accel,
double& aZ_Accel);
112 static void ApplyGravityBias(UtEntity& aEntity,
double aGravityBiasFactor,
double& aY_Accel,
double& aZ_Accel);
114 static void ApplyLateralBias(UtEntity& aEntity,
double aLateralBiasFactor,
double& aY_Accel,
double& aZ_Accel);
116 static void ComputeGravitationalAcceleration(
const double aLocWCS[3],
double aGravAclWCS[3]);
118 bool FlightPathAngleAchieved(
const State& aState,
double aCommandedFlightPathAngle)
const;
120 void FlightPathAngleGuidance(State& aState, Phase& aPhase,
double aCommandedFlightPathAngle,
double& aY_Accel,
double& aZ_Accel);
122 void ProNavGuidance(State& aState,
double aProNavGain,
bool aAugmented,
double& aY_Accel,
double& aZ_Accel);
124 void PursuitGuidance(State& aState,
double aPursuitGain,
double& aY_Accel,
double& aZ_Accel);
Definition WsfGuidanceComputer.hpp:412
A class that defines the guidance parameters for a phase of flight.
Definition WsfGuidanceComputer.hpp:284
Definition WsfGuidanceComputer.hpp:366
Definition WsfGuidanceComputer.hpp:52
std::list< FactoryPtr > ObjectFactoryList
Definition WsfGuidanceProgram.hpp:37
WsfGuidanceProgramTypes()
Definition WsfGuidanceProgram.hpp:38
WSF_MIL_EXPORT WsfGuidanceProgram * CreateInstance(const std::string &aTypeName) const
Definition WsfGuidanceProgram.cpp:2157
WSF_MIL_EXPORT void AddObjectFactory(FactoryPtr aFactoryPtr)
Definition WsfGuidanceProgram.cpp:2151
static WsfGuidanceProgram * PredefinedObjectFactory(const std::string &aTypeName)
The object factory for predefined guidance program types.
Definition WsfGuidanceProgram.cpp:2178
WsfGuidanceProgram *(*)(const std::string &) FactoryPtr
Definition WsfGuidanceProgram.hpp:36
static WSF_MIL_EXPORT WsfGuidanceProgramTypes & Get(WsfScenario &aScenario)
Return a modifiable reference to the type list associated with the specified scenario.
Definition WsfGuidanceProgram.cpp:2136
ObjectFactoryList mObjectFactoryList
The list of object factories.
Definition WsfGuidanceProgram.hpp:46
Base class for the guidance programs (maneuvers) used by WsfGuidanceComputer.
Definition WsfGuidanceProgram.hpp:51
Axis
Definition WsfGuidanceProgram.hpp:73
@ cZ_AXIS
Definition WsfGuidanceProgram.hpp:76
@ cX_AXIS
Definition WsfGuidanceProgram.hpp:74
@ cY_AXIS
Definition WsfGuidanceProgram.hpp:75
WsfGuidanceComputer * mComputerPtr
Definition WsfGuidanceProgram.hpp:126
virtual void Terminate(double aSimTime)
Terminate the program.
Definition WsfGuidanceProgram.cpp:110
Status
The return status for the Execute method.
Definition WsfGuidanceProgram.hpp:67
@ cCONTINUE
The program should be continued to be called (remains in the active program list).
Definition WsfGuidanceProgram.hpp:68
@ cCOMPLETE
The program is complete and no longer needs to be called (removed from the active program list).
Definition WsfGuidanceProgram.hpp:69
bool mDebugEnabled
True if debug output is enabled.
Definition WsfGuidanceProgram.hpp:128
static const char * cGC_BURN_TIME_REMAINING
Definition WsfGuidanceProgram.hpp:62
WsfGuidanceProgram()
Constructor.
Definition WsfGuidanceProgram.cpp:63
double mStartTime
Simulation time when this program was started.
Definition WsfGuidanceProgram.hpp:127
virtual bool Initialize(double aSimTime, WsfGuidanceComputer *aComputerPtr)
Definition WsfGuidanceProgram.cpp:75
WsfGuidanceComputer * GetComputer()
Definition WsfGuidanceProgram.hpp:105
WsfGuidanceProgram * Clone() const override=0
Virtual copy constructor.
virtual void Start(double aSimTime, double aCurTime)
Start using the program.
Definition WsfGuidanceProgram.cpp:103
~WsfGuidanceProgram() override=default
static const char * cGC_ORBIT_DECLARED
Definition WsfGuidanceProgram.hpp:60
virtual Status Execute(State &aState, Commands &aCommands)=0
WsfGuidanceComputer::Phase Phase
Definition WsfGuidanceProgram.hpp:56
WsfGuidanceComputer::State State
Definition WsfGuidanceProgram.hpp:54
WsfGuidanceComputer::Commands Commands
Definition WsfGuidanceProgram.hpp:55
WsfGuidanceProgram(const WsfGuidanceProgram &aSrc)=default
static const char * cGC_FUEL_REMAINING
Definition WsfGuidanceProgram.hpp:63
WsfGuidanceProgram & operator=(const WsfGuidanceProgram &)=delete
WsfPlatform * GetPlatform()
A convenience method for getting the pointer to the platform.
Definition WsfGuidanceProgram.hpp:103
static const char * cGC_DELTA_V_REMAINING
Definition WsfGuidanceProgram.hpp:61
WsfObject()
This is the constructor for the WsfObject class.
Definition WsfObject.cpp:88
virtual bool ProcessInput(UtInput &aInput)
Definition WsfObject.cpp:140
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfScriptContext.hpp:71