WSF
WsfTrackExtrapolationStrategy.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 WSFTRACKEXTRAPOLATIONSTRATEGY_HPP
13#define WSFTRACKEXTRAPOLATIONSTRATEGY_HPP
14
15#include "wsf_export.h"
16
17#include <map>
18
19#include "UtCloneablePtr.hpp"
20class UtInput;
21#include "WsfObject.hpp"
22class WsfMeasurement;
23#include "WsfStringId.hpp"
24
25namespace wsf
26{
29
32{
33public:
36 bool ProcessInput(UtInput& aInput) override { return false; }
37
42 virtual void InitializeExtrapolation(const WsfMeasurement& aMeasurement, TrackExtrapolators& aExtrapolators) const = 0;
43
45 void RegisterExtrapolation(const WsfStringId aExtrapolatorId,
46 std::unique_ptr<wsf::TrackExtrapolationBase> aExtrapolationPtr)
47 {
48 mPrototypeExtrapolators.emplace(std::make_pair(aExtrapolatorId, std::move(aExtrapolationPtr)));
49 }
50
51protected:
52 std::map<WsfStringId, ut::CloneablePtr<wsf::TrackExtrapolationBase>> mPrototypeExtrapolators;
53};
54} // namespace wsf
55
56#endif
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
A measurement class that provides WSF-specific interfaces and data extrapolation.
Definition WsfMeasurement.hpp:32
WsfUncloneableObject()
Definition WsfObject.hpp:148
A common base class of track extrapolation objects.
Definition WsfTrackExtrapolation.hpp:35
A base class used to configure a measurement or track with extrapolation objects (wsf::TrackExtrapola...
Definition WsfTrackExtrapolationStrategy.hpp:32
bool ProcessInput(UtInput &aInput) override
Definition WsfTrackExtrapolationStrategy.hpp:36
void RegisterExtrapolation(const WsfStringId aExtrapolatorId, std::unique_ptr< wsf::TrackExtrapolationBase > aExtrapolationPtr)
Register a wsf::TrackExtrapolation type for (typically, from an external plug-in.).
Definition WsfTrackExtrapolationStrategy.hpp:45
std::map< WsfStringId, ut::CloneablePtr< wsf::TrackExtrapolationBase > > mPrototypeExtrapolators
Definition WsfTrackExtrapolationStrategy.hpp:52
virtual void InitializeExtrapolation(const WsfMeasurement &aMeasurement, TrackExtrapolators &aExtrapolators) const =0
An encapsulation of a map of wsf::TrackExtrapolation objects.
Definition WsfTrackExtrapolators.hpp:28
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Copyrights Multiple, All Rights Reserved