WSF
WsfScriptedOrbitalDynamicsTerm.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 WSFSCRIPTEDORBITALDYNAMICSTERM_HPP
13#define WSFSCRIPTEDORBITALDYNAMICSTERM_HPP
14
15#include <string>
16
18
19class UtCalendar;
20class UtInput;
21class UtScript;
22
24{
25public:
27
30 , mScriptName{aOther.mScriptName}
31 , mScriptPtr{nullptr}
32 {
33 }
34
35 ~WsfScriptedOrbitalDynamicsTerm() override = default;
36
38
39 bool ProcessInput(UtInput& aInput) override;
40
42
43 const char* GetScriptClassName() const override { return "WsfScriptedDynamicsTerm"; }
44
45 UtVec3d ComputeAcceleration(double aMass,
46 const UtCalendar& aTime,
47 const UtVec3d& aPosition,
48 const UtVec3d& aVelocity) const override;
49
50 std::string GetTermType() const override { return cTYPE; }
51
52 bool Initialize(const WsfOrbitalDynamics& aDynamics) override;
53
54 const std::string& GetScriptName() const { return mScriptName; }
55 void SetScriptName(const std::string& aName) { mScriptName = aName; }
56
57 constexpr static const char* cTYPE{"scripted"};
58
59private:
60 bool FindScript();
61
62 std::string mScriptName{};
63 mutable UtScript* mScriptPtr{nullptr};
64};
65
66#endif // WSFSCRIPTEDORBITALDYNAMICSTERM_HPP
WsfOrbitalDynamicsTerm()
Definition WsfOrbitalDynamicsTerm.hpp:34
Definition WsfOrbitalDynamics.hpp:32
UtVec3d ComputeAcceleration(double aMass, const UtCalendar &aTime, const UtVec3d &aPosition, const UtVec3d &aVelocity) const override
Definition WsfScriptedOrbitalDynamicsTerm.cpp:43
~WsfScriptedOrbitalDynamicsTerm() override=default
static constexpr const char * cTYPE
Definition WsfScriptedOrbitalDynamicsTerm.hpp:57
WsfScriptedOrbitalDynamicsTerm * Clone() const override
Definition WsfScriptedOrbitalDynamicsTerm.hpp:41
const char * GetScriptClassName() const override
Definition WsfScriptedOrbitalDynamicsTerm.hpp:43
WsfScriptedOrbitalDynamicsTerm(const WsfScriptedOrbitalDynamicsTerm &aOther)
Definition WsfScriptedOrbitalDynamicsTerm.hpp:28
void SetScriptName(const std::string &aName)
Definition WsfScriptedOrbitalDynamicsTerm.hpp:55
bool Initialize(const WsfOrbitalDynamics &aDynamics) override
Definition WsfScriptedOrbitalDynamicsTerm.cpp:81
WsfScriptedOrbitalDynamicsTerm & operator=(const WsfScriptedOrbitalDynamicsTerm &aOther)=delete
std::string GetTermType() const override
Return a string indicating the type of term.
Definition WsfScriptedOrbitalDynamicsTerm.hpp:50
bool ProcessInput(UtInput &aInput) override
Definition WsfScriptedOrbitalDynamicsTerm.cpp:31
const std::string & GetScriptName() const
Definition WsfScriptedOrbitalDynamicsTerm.hpp:54
Copyrights Multiple, All Rights Reserved