WSF
WsfSpaceKinematicStateTargetPoint.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 2021 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 WSFSPACEKINEMATICSTATETARGETPOINT_HPP
13#define WSFSPACEKINEMATICSTATETARGETPOINT_HPP
14
15#include "wsf_space_export.h"
16
17#include "UtVec3.hpp"
19
20namespace wsf
21{
22namespace space
23{
24
26class WSF_SPACE_EXPORT KinematicStateTargetPoint : public OrbitalTargetPoint
27{
28public:
29 KinematicStateTargetPoint(const UtVec3d& aPositionECI, const UtVec3d& aVelocityECI)
31 , mInertialState(aPositionECI, aVelocityECI)
32 {
33 }
35 ~KinematicStateTargetPoint() override = default;
36
37 KinematicStateTargetPoint* Clone() const override { return new KinematicStateTargetPoint{*this}; }
38 void Update(const UtCalendar& aEpoch) override { mEpoch = aEpoch; }
39 ut::OrbitalStateVector GetOrbitalStateVectorInertial() const override { return mInertialState; }
40 UtVec3d GetPositionECI() const override { return mInertialState.GetLocation(); }
41 UtVec3d GetVelocityECI() const override { return mInertialState.GetVelocity(); }
42 UtCalendar GetEpoch() const override { return mEpoch; }
43
44 double GetCharacteristicTime() const override;
45
46private:
47 ut::OrbitalStateVector mInertialState;
48 UtCalendar mEpoch{};
49};
50
51} // namespace space
52} // namespace wsf
53
54#endif // WSFSPACEKINEMATICSTATETARGETPOINT_HPP
KinematicStateTargetPoint(const KinematicStateTargetPoint &aOther)=default
KinematicStateTargetPoint(const UtVec3d &aPositionECI, const UtVec3d &aVelocityECI)
Definition WsfSpaceKinematicStateTargetPoint.hpp:29
KinematicStateTargetPoint * Clone() const override
Create a copy of this target point.
Definition WsfSpaceKinematicStateTargetPoint.hpp:37
~KinematicStateTargetPoint() override=default
UtVec3d GetVelocityECI() const override
Return the ECI velocity of this point at this object's current epoch.
Definition WsfSpaceKinematicStateTargetPoint.hpp:41
ut::OrbitalStateVector GetOrbitalStateVectorInertial() const override
Return the combined inertial position and velocity of this point at this object's current epoch.
Definition WsfSpaceKinematicStateTargetPoint.hpp:39
UtVec3d GetPositionECI() const override
Return the ECI position of this point at this object's current epoch.
Definition WsfSpaceKinematicStateTargetPoint.hpp:40
UtCalendar GetEpoch() const override
Return the current epoch of this point.
Definition WsfSpaceKinematicStateTargetPoint.hpp:42
void Update(const UtCalendar &aEpoch) override
Update the point to the given aEpoch.
Definition WsfSpaceKinematicStateTargetPoint.hpp:38
Definition WsfAtmosphere.cpp:23
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Copyrights Multiple, All Rights Reserved