WSF
WsfOrbitalDynamicsTerm.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 WSFORBITALDYNAMICSTERM_HPP
13#define WSFORBITALDYNAMICSTERM_HPP
14
15#include <string>
16
17#include "UtCalendar.hpp"
18#include "UtVec3.hpp"
19#include "WsfObject.hpp"
21
32{
33public:
38
40 : WsfObject(aOther)
41 , mDynamicsPtr{nullptr}
42 {
43 }
44
46
47 WsfOrbitalDynamicsTerm* Clone() const override = 0;
48
49 const char* GetScriptClassName() const override { return "WsfOrbitalDynamicsTerm"; }
50
64 virtual UtVec3d ComputeAcceleration(double aMass,
65 const UtCalendar& aTime,
66 const UtVec3d& aPosition,
67 const UtVec3d& aVelocity) const = 0;
68
70 virtual std::string GetTermType() const = 0;
71
78 virtual bool Initialize(const WsfOrbitalDynamics& aDynamics)
79 {
80 mDynamicsPtr = &aDynamics;
81 return true;
82 }
83
84protected:
85 const WsfOrbitalDynamics* GetDynamics() const { return mDynamicsPtr; }
86
87private:
88 const WsfOrbitalDynamics* mDynamicsPtr{nullptr};
89};
90
91#endif // WSFORBITALDYNAMICSTERM_HPP
WsfObject()
This is the constructor for the WsfObject class.
Definition WsfObject.cpp:88
virtual std::string GetTermType() const =0
Return a string indicating the type of term.
WsfOrbitalDynamicsTerm()
Definition WsfOrbitalDynamicsTerm.hpp:34
virtual bool Initialize(const WsfOrbitalDynamics &aDynamics)
Definition WsfOrbitalDynamicsTerm.hpp:78
virtual UtVec3d ComputeAcceleration(double aMass, const UtCalendar &aTime, const UtVec3d &aPosition, const UtVec3d &aVelocity) const =0
const char * GetScriptClassName() const override
Definition WsfOrbitalDynamicsTerm.hpp:49
WsfOrbitalDynamicsTerm * Clone() const override=0
const WsfOrbitalDynamics * GetDynamics() const
Definition WsfOrbitalDynamicsTerm.hpp:85
WsfOrbitalDynamicsTerm & operator=(const WsfOrbitalDynamicsTerm &aOther)=delete
WsfOrbitalDynamicsTerm(const WsfOrbitalDynamicsTerm &aOther)
Definition WsfOrbitalDynamicsTerm.hpp:39
Definition WsfOrbitalDynamics.hpp:32
Copyrights Multiple, All Rights Reserved