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