WSF
WsfSensorScheduler.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 WSFSENSORSCHEDULER_HPP
13#define WSFSENSORSCHEDULER_HPP
14
15#include "wsf_export.h"
16
17class UtInput;
18class WsfPlatform;
19#include "WsfSensor.hpp"
21#include "WsfTrackId.hpp"
22
29{
30public:
32 virtual ~WsfSensorScheduler() = default;
33
34 virtual WsfSensorScheduler* Clone() const;
35
37 bool DebugEnabled() const { return mDebugEnabled; }
38 void SetDebugEnabled(bool aDebug) { mDebugEnabled = aDebug; }
39
40 virtual void FrameTimeChanged(double aSimTime, WsfStringId aModeNameId);
41
42 virtual int GetActiveRequestCount(WsfStringId aModeNameId) const;
43
44 virtual int GetMaximumRequestCount(WsfStringId aModeNameId) const;
45
46 virtual bool HaveRequestFor(const WsfTrackId& aRequestId) const;
47
48 virtual bool Initialize(double aSimTime, WsfSensor* aSensorPtr, WsfSensorTracker* aTrackerPtr);
49
50 virtual void ModeDeselected(double aSimTime, WsfStringId aModeNameId);
51
52 virtual void ModeSelected(double aSimTime, WsfStringId aModeNameId);
53
54 virtual void PlatformAdded(double aSimTime, WsfPlatform* aPlatformPtr);
55
56 virtual void PlatformDeleted(WsfPlatform* aPlatformPtr);
57
58 virtual bool ProcessInput(UtInput& aInput);
59
60 virtual void RemoveTarget(double aSimTime, size_t aTargetIndex);
61
62 virtual const WsfTrack& GetTrackForRequest(const WsfTrackId& aRequestId) const;
63
64 virtual bool SelectTarget(double aSimTime,
65 double& aNextSimTime,
66 size_t& aTargetIndex,
67 WsfTrackId& aRequestId,
68 WsfSensor::Settings& aSettings);
69
70 virtual bool StartTracking(double aSimTime, const WsfTrack& aTrack, WsfStringId aModeNameId);
71
72 virtual bool StopTracking(double aSimTime, const WsfTrackId& aTrackId);
73
74 virtual void TrackerModeChange(double aSimTime,
75 const WsfTrackId& aRequestId,
76 size_t aTargetIndex,
77 WsfPlatform* aTargetPtr,
78 const WsfTrack* aTrackPtr,
79 WsfStringId aModeNameId);
80
81 virtual void TurnOff(double aSimTime);
82
83 virtual void TurnOn(double aSimTime);
84
85 WsfSimulation* GetSimulation() const;
86
87protected:
90
91 using SearchList = std::vector<size_t>;
92 using SearchListIndex = SearchList::size_type;
93 const SearchList& GetSearchList() const { return mSearchList; }
94
97
101
102private:
104 bool mDebugEnabled;
105};
106
107#endif
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
Definition WsfSensorScheduler.hpp:29
const SearchList & GetSearchList() const
Definition WsfSensorScheduler.hpp:93
SearchList mSearchList
Definition WsfSensorScheduler.hpp:100
virtual ~WsfSensorScheduler()=default
WsfSensorScheduler()
Definition WsfSensorScheduler.cpp:26
WsfSensorTracker * mTrackerPtr
Definition WsfSensorScheduler.hpp:96
std::vector< size_t > SearchList
Definition WsfSensorScheduler.hpp:91
void SetDebugEnabled(bool aDebug)
Definition WsfSensorScheduler.hpp:38
SearchList::size_type SearchListIndex
Definition WsfSensorScheduler.hpp:92
WsfSensor * mSensorPtr
Definition WsfSensorScheduler.hpp:95
virtual WsfSensorScheduler * Clone() const
Definition WsfSensorScheduler.cpp:45
WsfSensorScheduler & operator=(const WsfSensorScheduler &aSrc)=delete
bool DebugEnabled() const
Returns 'true' if debugging is enabled for the scheduler.
Definition WsfSensorScheduler.hpp:37
Definition WsfSensorTracker.hpp:75
Definition WsfSensor.hpp:133
Definition WsfSensor.hpp:92
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfTrackId.hpp:33
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Copyrights Multiple, All Rights Reserved