WSF
WsfPerfectTracker.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 2003-2015 The Boeing 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 WSFPERFECTTRACKER_HPP
13#define WSFPERFECTTRACKER_HPP
14
15#include "wsf_export.h"
16
17class UtInput;
18#include "WsfProcessor.hpp"
19#include "WsfTrack.hpp"
20#include "WsfTrackId.hpp"
21
35
37{
38public:
41 ~WsfPerfectTracker() override;
42 WsfProcessor* Clone() const override;
43
44 bool Initialize2(double aSimTime) override;
45 bool ProcessInput(UtInput& aInput) override;
46 void Update(double aSimTime) override;
47
48 void SetTargetByNameId(WsfStringId aNameId);
49 void SetTargetByIndex(size_t aPlatformIndex);
50 void ClearTrackedTarget();
51
52 size_t GetTargetIndex() const { return mTargetIndex; }
53
54protected:
55 inline void NullTrack();
56 inline void SetValidityFlags();
57
58 void EstablishNewTrack(double aSimTime, WsfPlatform* aTgtPtr);
59 void UpdateExistingTrack(double aSimTime, WsfPlatform* aTgtPtr);
60
61 virtual void DegradeTrack(double /*aSimTime*/);
62
65
66 // ----- Attributes ----- :
73};
74
75#endif
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
A utility class to facilitate the tracking of a particular platform, when the simulation can safely i...
Definition WsfPerfectTracker.hpp:37
bool mChanged
Definition WsfPerfectTracker.hpp:69
WsfStringId mTgtNameId
Definition WsfPerfectTracker.hpp:67
WsfTrack mTrack
Definition WsfPerfectTracker.hpp:71
WsfPerfectTracker(WsfScenario &aScenario)
Definition WsfPerfectTracker.cpp:25
WsfTrackId mTrackId
Definition WsfPerfectTracker.hpp:70
size_t GetTargetIndex() const
Definition WsfPerfectTracker.hpp:52
void ClearTrackedTarget()
Clear the Entity ID so nothing is tracked.
Definition WsfPerfectTracker.cpp:118
void SetTargetByIndex(size_t aPlatformIndex)
Set the Entity desired to be tracked, using a Platform Index.
Definition WsfPerfectTracker.cpp:89
size_t mTargetIndex
Definition WsfPerfectTracker.hpp:68
double mLastUpdate
Definition WsfPerfectTracker.hpp:72
void SetTargetByNameId(WsfStringId aNameId)
Set the Entity desired to be tracked, using a Name ID.
Definition WsfPerfectTracker.cpp:64
WsfPerfectTracker & operator=(const WsfPerfectTracker &)=delete
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
WsfProcessor * Clone() const override=0
bool Initialize2(double aSimTime) override
Definition WsfProcessor.cpp:104
void Update(double aSimTime) override
Definition WsfProcessor.cpp:121
WsfProcessor(const WsfScenario &aScenario)
Definition WsfProcessor.cpp:25
bool ProcessInput(UtInput &aInput) override
Definition WsfProcessor.cpp:132
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfTrackId.hpp:33
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Copyrights Multiple, All Rights Reserved