12#ifndef WSFORBITALLAUNCHCOMPUTER_HPP
13#define WSFORBITALLAUNCHCOMPUTER_HPP
15#include "wsf_mil_export.h"
33 static std::string
BaseTypeName() {
return "WSF_ORBITAL_LAUNCH_COMPUTER"; }
67 return WsfGeoPoint(mLastResult.mLat, mLastResult.mLon, mLastResult.mAlt);
76 void GetOrbitalElements(
double aResults[6])
const;
109 void Print(ut::log::MessageStream& aOut)
const;
115 static bool ReadOrbits(
const std::string& aFileName, std::list<Orbit>& aOrbits);
122 UtCalendar& aCalendar);
126 const double aLocECI[3],
127 const double aVelECI[3],
128 UtCalendar& aCalendar);
140 void InterpolateOrbits(Orbit& aResult,
const Orbit& aOrbit1,
const Orbit& aOrbit2, Variable aFunction,
double aValue)
const;
142 bool InterpolateAlongLaunchHeading(Orbit& aResult, OrbitListIter aBestIter,
double aAltitude)
const;
145 std::string mLEO_DataFileName;
146 std::list<Orbit> mLEO_Data;
Definition WsfArticulatedPart.hpp:36
Definition WsfGeoPoint.hpp:29
const char * GetScriptClassName() const override
Definition WsfLaunchComputer.cpp:525
WsfLaunchComputer()
Definition WsfLaunchComputer.cpp:44
virtual double EstimatedTimeToIntercept(double aSimTime, const WsfTrack &aTrack, double aLaunchDelayTime)
Definition WsfLaunchComputer.cpp:749
WsfLaunchComputer * Clone() const override
Definition WsfLaunchComputer.cpp:518
bool ProcessInput(UtInput &aInput) override
Definition WsfLaunchComputer.cpp:171
virtual bool Initialize(double aSimTime, WsfWeapon *aWeaponPtr)
Definition WsfLaunchComputer.cpp:393
Define the data for a particular orbit.
Definition WsfOrbitalLaunchComputer.hpp:81
double mTimeOfFlight
Definition WsfOrbitalLaunchComputer.hpp:96
double mLoftAngle
Definition WsfOrbitalLaunchComputer.hpp:88
double mHeading
Definition WsfOrbitalLaunchComputer.hpp:102
double mSpeedFixed
Definition WsfOrbitalLaunchComputer.hpp:101
double mAlt
Definition WsfOrbitalLaunchComputer.hpp:99
Orbit()
Definition WsfOrbitalLaunchComputer.cpp:579
double mFlightPathAngle
Definition WsfOrbitalLaunchComputer.hpp:103
double mResidualDeltaV
Definition WsfOrbitalLaunchComputer.hpp:104
double mLat
Definition WsfOrbitalLaunchComputer.hpp:97
double mInclination
Definition WsfOrbitalLaunchComputer.hpp:92
double mSpeedECI
Definition WsfOrbitalLaunchComputer.hpp:100
double mTimeRemaining
Definition WsfOrbitalLaunchComputer.hpp:106
double mLon
Definition WsfOrbitalLaunchComputer.hpp:98
void Print(ut::log::MessageStream &aOut) const
Definition WsfOrbitalLaunchComputer.cpp:598
double mLaunchHeading
Definition WsfOrbitalLaunchComputer.hpp:87
double mFuelRemaining
Definition WsfOrbitalLaunchComputer.hpp:105
A launch computer implementation for launch-to-orbit.
Definition WsfOrbitalLaunchComputer.hpp:30
static std::string BaseTypeName()
The basic type name (needed by weapon_tools and launch computer processor).
Definition WsfOrbitalLaunchComputer.hpp:33
WsfOrbitalLaunchComputer()
Definition WsfOrbitalLaunchComputer.cpp:38
static bool ReadOrbits(const std::string &aFileName, std::list< Orbit > &aOrbits)
Definition WsfOrbitalLaunchComputer.cpp:313
double GetInclination() const
Definition WsfOrbitalLaunchComputer.hpp:63
WsfOrbitalLaunchComputer(const WsfOrbitalLaunchComputer &aSrc)=default
static void ComputeOrbitalElements(const ut::CentralBody &aCentralBody, double aResults[6], const Orbit &aOrbit, UtCalendar &aCalendar)
Definition WsfOrbitalLaunchComputer.cpp:267
Variable
Definition WsfOrbitalLaunchComputer.hpp:135
@ cALTITUDE
Definition WsfOrbitalLaunchComputer.hpp:136
@ cINCLINATION
Definition WsfOrbitalLaunchComputer.hpp:137
double GetLaunchHeading() const
Definition WsfOrbitalLaunchComputer.hpp:61
double GetInsertionHeading() const
Definition WsfOrbitalLaunchComputer.hpp:71
static bool WriteOrbits(WsfArticulatedPart *aSystemPtr, const std::string &aFileName, const std::list< Orbit > &aOrbits)
Definition WsfOrbitalLaunchComputer.cpp:357
bool ComputeLEO_Insertion(double aSimTime, double aAltitude, double aInclination)
Definition WsfOrbitalLaunchComputer.cpp:103
double GetInsertionPitch() const
Definition WsfOrbitalLaunchComputer.hpp:72
WsfOrbitalLaunchComputer & operator=(const WsfOrbitalLaunchComputer &)=delete
double GetInsertionSpeed() const
Definition WsfOrbitalLaunchComputer.hpp:69
double GetInsertionTimeRemaining() const
Definition WsfOrbitalLaunchComputer.hpp:75
double GetInsertionFuelRemaining() const
Definition WsfOrbitalLaunchComputer.hpp:74
double GetInsertionResidualDeltaV() const
Definition WsfOrbitalLaunchComputer.hpp:73
std::list< Orbit > OrbitList
Definition WsfOrbitalLaunchComputer.hpp:112
double GetInsertionSpeedFixed() const
Definition WsfOrbitalLaunchComputer.hpp:70
std::list< Orbit >::const_iterator OrbitListIter
Definition WsfOrbitalLaunchComputer.hpp:113
~WsfOrbitalLaunchComputer() override=default
double GetInsertionTimeOfFlight() const
Definition WsfOrbitalLaunchComputer.hpp:64
bool InitializeTTIData() override
Definition WsfOrbitalLaunchComputer.hpp:132
WsfGeoPoint GetInsertionLocation() const
Definition WsfOrbitalLaunchComputer.hpp:65
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Definition WsfWeapon.hpp:63
Definition WsfSensorErrorModel.hpp:21