WSF
WsfTimeOffsetTargetPoint.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 WSFTIMEOFFSETTARGETPOINT_HPP
13#define WSFTIMEOFFSETTARGETPOINT_HPP
14
15#include "wsf_space_export.h"
16
17#include "UtCloneablePtr.hpp"
18#include "UtOrbitalPropagatorBase.hpp"
20
21namespace wsf
22{
23namespace space
24{
25
33class WSF_SPACE_EXPORT TimeOffsetTargetPoint : public OrbitalTargetPoint
34{
35public:
36 TimeOffsetTargetPoint(std::unique_ptr<OrbitalTargetPoint> aTargetPoint,
37 std::unique_ptr<UtOrbitalPropagatorBase> aPropagator,
38 double aTimeOffset);
39
40 ~TimeOffsetTargetPoint() override = default;
41
42 TimeOffsetTargetPoint* Clone() const override { return new TimeOffsetTargetPoint{*this}; }
43
44 void Update(const UtCalendar& aEpoch) override;
45 ut::OrbitalStateVector GetOrbitalStateVectorInertial() const override;
46 UtVec3d GetPositionECI() const override;
47 UtVec3d GetVelocityECI() const override;
48 UtCalendar GetEpoch() const override;
49 double GetCharacteristicTime() const override;
50
51 double GetTimeOffset() const { return mTimeOffset; }
52 void SetTimeOffset(double aTimeOffset) { mTimeOffset = aTimeOffset; }
53
54private:
55 void Retrodict();
56
57 ut::CloneablePtr<OrbitalTargetPoint> mTargetPoint;
58 ut::CloneablePtr<UtOrbitalPropagatorBase> mPropagator;
59 double mTimeOffset;
60};
61
62} // namespace space
63} // namespace wsf
64
65#endif // WSFTIMEOFFSETTARGETPOINT_HPP
aObjectPtr Update(simTime)
TimeOffsetTargetPoint(std::unique_ptr< OrbitalTargetPoint > aTargetPoint, std::unique_ptr< UtOrbitalPropagatorBase > aPropagator, double aTimeOffset)
Definition WsfTimeOffsetTargetPoint.cpp:21
void SetTimeOffset(double aTimeOffset)
Definition WsfTimeOffsetTargetPoint.hpp:52
TimeOffsetTargetPoint * Clone() const override
Create a copy of this target point.
Definition WsfTimeOffsetTargetPoint.hpp:42
~TimeOffsetTargetPoint() override=default
double GetTimeOffset() const
Definition WsfTimeOffsetTargetPoint.hpp:51
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