WSF
WsfParabolicMover.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFPARABOLICMOVER_HPP
13#define WSFPARABOLICMOVER_HPP
14
15#include "wsf_mil_export.h"
16
17#include "WsfMover.hpp"
18
32
33class WSF_MIL_EXPORT WsfParabolicMover : public WsfMover
34{
35public:
36 static WsfStringId TypeId();
37
39 ~WsfParabolicMover() override;
41
42 WsfMover* Clone() const override;
43
44 bool Initialize(double aSimTime) override;
45 bool ProcessInput(UtInput& aInput) override;
46 void Update(double aSimTime) override;
47
49
50 bool SetBallistic();
51 bool SetCurrentTarget();
52 bool SetImpactTOFAndLLA(double aTOF, double aLat, double aLon, double aAlt);
53 bool SetImpactTOFAndLL(double aTOF, double aLat, double aLon);
54
55protected:
63
65
66 void InitShot(double aSimTime);
67 void ToWCSLocation(double aFinalWCSLocation[]);
68 void SetAccelerations();
69
70private:
71 double mLastUpdate;
72 double mPlannedFlightTime;
73 double mPlannedFinalLatDeg;
74 double mPlannedFinalLonDeg;
75 double mPlannedFinalAlt;
76 double mGreatCircleDist;
77 double mStraightLineDist;
78 double mGroundSpeed; // Constant ONLY in the case of a cSIMPLE_GRAVITY trajectory
79 double mHeadingDeg; // Constant ONLY in the case of a cSIMPLE_GRAVITY trajectory
80 double mStartFlightTime;
81 double mAccelNED[3]; // Always assumed constant, for all trajectory types (simplification)
82 double mCurVelNED[3]; // Initialized at launch, and varies during trajectory.
83 double mTotalDeltaNED[3]; // NED vector from launch point to desired impact point
84 bool mInitialized;
85 bool mInFlight;
86 TrajectoryType mTrajType;
87};
88
89#endif
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
WsfSpatialDomain
A collection of enumerations and type definitions that are used across a number of components.
Definition WsfTypes.hpp:32
@ WSF_SPATIAL_DOMAIN_AIR
Cars, trucks, buildings, etc.
Definition WsfTypes.hpp:35
bool ProcessInput(UtInput &aInput) override
Definition WsfMover.cpp:138
bool Initialize(double aSimTime) override
Definition WsfMover.cpp:108
WsfMover * Clone() const override=0
WsfMover()=delete
void Update(double aSimTime) override
Definition WsfMover.cpp:310
Definition WsfParabolicMover.hpp:34
WsfSpatialDomain GetSpatialDomain() const override
Definition WsfParabolicMover.hpp:48
WsfParabolicMover(WsfScenario &aScenario)
Definition WsfParabolicMover.cpp:34
WsfParabolicMover & operator=(const WsfParabolicMover &)=delete
TrajectoryType
Definition WsfParabolicMover.hpp:57
@ cSIMPLE_GRAVITY
Definition WsfParabolicMover.hpp:59
@ cUNDETERMINED
Definition WsfParabolicMover.hpp:58
@ cLLA_IMPACT
Definition WsfParabolicMover.hpp:60
@ cCURRENT_TARGET
Definition WsfParabolicMover.hpp:61
static WsfStringId TypeId()
Definition WsfParabolicMover.cpp:29
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Copyrights Multiple, All Rights Reserved