WSF
WsfTrackExtrapolation.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 WSFTRACKEXTRAPOLATION_HPP
13#define WSFTRACKEXTRAPOLATION_HPP
14
15#include "wsf_export.h"
16
17#include "UtAttribute.hpp"
18#include "UtAttributeBase.hpp"
19#include "UtMemory.hpp"
20class WsfMeasurement;
21#include "WsfObject.hpp"
22
23namespace wsf
24{
25
28{
29static constexpr const char* cDEFAULT_KINEMATIC_STATE_EXTRAPOLATION = "DEFAULT_KINEMATIC_STATE_EXTRAPOLATION";
30static constexpr const char* cSPACE_KINEMATIC_STATE_EXTRAPOLATION = "SPACE_KINEMATIC_STATE_EXTRAPOLATION";
31}; // namespace TrackExtrapolationIds
32
35{
36public:
39 TrackExtrapolationBase* Clone() const override = 0;
40
41 ~TrackExtrapolationBase() override = default;
42};
43
45template<typename T>
47{
48public:
49 TrackExtrapolation() = default;
50 TrackExtrapolation(const TrackExtrapolation& aSrc) = default;
51 ~TrackExtrapolation() override = default;
52
58 virtual std::unique_ptr<UtAttribute<T>> Extrapolate(double aSimTime, const WsfMeasurement& aData) const = 0;
60 static T Type() { return T(); }
61};
62
63} // namespace wsf
64
65#endif
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
A measurement class that provides WSF-specific interfaces and data extrapolation.
Definition WsfMeasurement.hpp:32
WsfObject()
This is the constructor for the WsfObject class.
Definition WsfObject.cpp:88
TrackExtrapolationBase(const TrackExtrapolationBase &aSrc)=default
TrackExtrapolationBase * Clone() const override=0
~TrackExtrapolationBase() override=default
~TrackExtrapolation() override=default
static T Type()
Return an instance of the extrapolated type (useful for more transparent type deduction).
Definition WsfTrackExtrapolation.hpp:60
TrackExtrapolation(const TrackExtrapolation &aSrc)=default
virtual std::unique_ptr< UtAttribute< T > > Extrapolate(double aSimTime, const WsfMeasurement &aData) const =0
A simple set of standard extrapolation types to be supported.
Definition WsfTrackExtrapolation.hpp:28
static constexpr const char * cDEFAULT_KINEMATIC_STATE_EXTRAPOLATION
Definition WsfTrackExtrapolation.hpp:29
static constexpr const char * cSPACE_KINEMATIC_STATE_EXTRAPOLATION
Definition WsfTrackExtrapolation.hpp:30
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Copyrights Multiple, All Rights Reserved