WSF
WsfSixDOF_GuidanceComputer.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 2020 Infoscitex, a DCS 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 WSFSIXDOFGUIDANCECOMPUTER_HPP
13#define WSFSIXDOFGUIDANCECOMPUTER_HPP
14
15#include "wsf_six_dof_export.h"
16
18#include "WsfSixDOF_Mover.hpp"
19
20namespace wsf
21{
22namespace six_dof
23{
31
32class WSF_SIX_DOF_EXPORT GuidanceComputer : public WsfGuidanceComputer
33{
34public:
35 GuidanceComputer() = delete;
36 explicit GuidanceComputer(WsfScenario& aScenarioPtr);
37 ~GuidanceComputer() = default;
39
40 WsfProcessor* Clone() const override;
41
42 bool Initialize(double aSimTime) override;
43
44 void TurnOff(double aSimTime) override;
45 void TurnOn(double aSimTime) override;
46
47 void UpdateGuidance(double aSimTime, double aCurTime, double aEndTime) override;
48
52
53 bool StopEngines() override;
54
55 void RouteChanged(double aSimTime) override;
56
57 void StageIgnition(double aSimTime, double aEventTime) override;
58
59 void StageBurnout(double aSimTime, double aEventTime) override;
60
61 void StageSeparation(double aSimTime, double aEventTime) override;
62
63protected:
65
66 void SelectPhase(double aSimTime, double aChangeTime, WsfStringId aPhaseName) override;
67
68 void SelectWaypoint(double aSimTime, double aChangeTime, unsigned int aNewIndex) override;
69
70 bool UpdateAimpoint(double aCurTime, const Phase& aPhase) override;
71
72 void UpdateTargetPerception(double aCurTime) override;
73
74 void UpdateWeaponPerception(double aCurTime) override;
75
76 void UpdateTerrainFollowing(const Phase& aPhase);
77
78 void UpdateRouteFollowing(const Phase& aPhase);
79
80 void CheckForWaypointChange(double aSimTime, double aEndTime) override;
81
83};
84} // namespace six_dof
85} // namespace wsf
86
87
88#endif
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
bool mAllowRouteFollowing
Definition WsfGuidanceComputer.hpp:346
double mCommandedAlt
Definition WsfGuidanceComputer.hpp:318
double mCommandedSpeed
Definition WsfGuidanceComputer.hpp:322
Phase & GetCurrentPhase()
Definition WsfGuidanceComputer.hpp:423
WsfGuidanceComputer(WsfScenario &aScenarioPtr)
Definition WsfGuidanceComputer.cpp:80
WsfProcessor(const WsfScenario &aScenario)
Definition WsfProcessor.cpp:25
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfSixDOF_GuidanceComputer.hpp:33
void UpdateGuidance(double aSimTime, double aCurTime, double aEndTime) override
Definition WsfSixDOF_GuidanceComputer.cpp:198
WsfProcessor * Clone() const override
Definition WsfSixDOF_GuidanceComputer.cpp:62
double GetCommandedSpeed()
Definition WsfSixDOF_GuidanceComputer.hpp:50
bool Initialize(double aSimTime) override
Definition WsfSixDOF_GuidanceComputer.cpp:67
void TurnOff(double aSimTime) override
Definition WsfSixDOF_GuidanceComputer.cpp:441
Mover * mVehicleMoverPtr
Definition WsfSixDOF_GuidanceComputer.hpp:82
bool GetAllowRouteFollowing()
Definition WsfSixDOF_GuidanceComputer.hpp:51
double GetCommandedAltitude()
Definition WsfSixDOF_GuidanceComputer.hpp:49
GuidanceComputer & operator=(const GuidanceComputer &other)=delete
void TurnOn(double aSimTime) override
Definition WsfSixDOF_GuidanceComputer.cpp:420
This is a base class for detailed air movers. This umbrella can cover RB6 or PM6 models.
Definition WsfSixDOF_Mover.hpp:58
Definition WsfSA_Processor.hpp:35
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Copyrights Multiple, All Rights Reserved