|
WSF
|
#include <WsfSpinSensorScheduler.hpp>


Public Member Functions | |
| WsfSpinSensorScheduler ()=default | |
| ~WsfSpinSensorScheduler () override=default | |
| Public Member Functions inherited from WsfSensorScheduler | |
| WsfSensorScheduler () | |
| virtual | ~WsfSensorScheduler ()=default |
| bool | DebugEnabled () const |
| Returns 'true' if debugging is enabled for the scheduler. | |
| void | SetDebugEnabled (bool aDebug) |
| virtual void | FrameTimeChanged (double aSimTime, WsfStringId aModeNameId) |
| virtual int | GetActiveRequestCount (WsfStringId aModeNameId) const |
| virtual int | GetMaximumRequestCount (WsfStringId aModeNameId) const |
| virtual bool | HaveRequestFor (const WsfTrackId &aRequestId) const |
| virtual void | PlatformDeleted (WsfPlatform *aPlatformPtr) |
| virtual const WsfTrack & | GetTrackForRequest (const WsfTrackId &aRequestId) const |
| virtual bool | StartTracking (double aSimTime, const WsfTrack &aTrack, WsfStringId aModeNameId) |
| virtual bool | StopTracking (double aSimTime, const WsfTrackId &aTrackId) |
| virtual void | TrackerModeChange (double aSimTime, const WsfTrackId &aRequestId, size_t aTargetIndex, WsfPlatform *aTargetPtr, const WsfTrack *aTrackPtr, WsfStringId aModeNameId) |
| WsfSimulation * | GetSimulation () const |
Static Public Member Functions | |
| static std::unique_ptr< WsfSensorScheduler > | ObjectFactory (const std::string &aTypeName) |
Common infrastructure methods. | |
| WsfSensorScheduler * | Clone () const override |
| bool | Initialize (double aSimTime, WsfSensor *aSensorPtr, WsfSensorTracker *aTrackerPtr) override |
| bool | ProcessInput (UtInput &aInput) override |
| void | ModeDeselected (double aSimTime, WsfStringId aModeNameId) override |
| void | ModeSelected (double aSimTime, WsfStringId aModeNameId) override |
| void | PlatformAdded (double aSimTime, WsfPlatform *aPlatformPtr) override |
| void | RemoveTarget (double aSimTime, size_t aTargetIndex) override |
| bool | SelectTarget (double aSimTime, double &aNextSimTime, size_t &aTargetIndex, WsfTrackId &aRequestId, WsfSensor::Settings &aSettings) override |
| void | TurnOff (double aSimTime) override |
| void | TurnOn (double aSimTime) override |
| WsfSpinSensorScheduler (const WsfSpinSensorScheduler &aSrc) | |
| WsfSpinSensorScheduler & | operator= (const WsfSpinSensorScheduler &)=delete |
Additional Inherited Members | |
| Protected Types inherited from WsfSensorScheduler | |
| using | SearchList = std::vector<size_t> |
| using | SearchListIndex = SearchList::size_type |
| Protected Member Functions inherited from WsfSensorScheduler | |
| WsfSensorScheduler (const WsfSensorScheduler &aSrc) | |
| WsfSensorScheduler & | operator= (const WsfSensorScheduler &aSrc)=delete |
| const SearchList & | GetSearchList () const |
| Protected Attributes inherited from WsfSensorScheduler | |
| WsfSensor * | mSensorPtr |
| WsfSensorTracker * | mTrackerPtr |
| SearchList | mSearchList |
The WsfSpinSensorScheduler provides a sensor scanning function that aims to capture the behavior of a spinning radar system in a temporally accurate manner. No explicit scanning or slewing of the sensor beam is visible in Mystic, as the WsfSpinSensorScheduler assumes the sensor it is scheduling has a 360 degree field of view.
|
default |
Referenced by Clone(), operator=(), WsfSpinSensorScheduler(), and ~WsfSpinSensorScheduler().
|
overridedefault |
References ObjectFactory(), WsfSensorScheduler::WsfSensorScheduler(), and WsfSpinSensorScheduler().
|
protected |
References WsfSensorScheduler::WsfSensorScheduler(), and WsfSpinSensorScheduler().
|
overridevirtual |
Clone this object.
Reimplemented from WsfSensorScheduler.
References WsfSensorScheduler::WsfSensorScheduler(), and WsfSpinSensorScheduler().
|
overridevirtual |
Initialize the scheduler.
| aSimTime | The current simulation time. |
| aSensorPtr | The sensor with which the scheduler is associated. |
| aTrackerPtr | The tracker that is associated with the sensor. This can be zero if there is no tracker. |
Reimplemented from WsfSensorScheduler.
References WsfModeList::GetDerivedModeList(), WsfSensor::GetModeList(), WsfObject::GetName(), WsfPlatformPart::GetPlatform(), WsfSimulation::GetRandom(), WsfSensorScheduler::GetSimulation(), WsfSensorScheduler::Initialize(), WsfSensorScheduler::mSensorPtr, and ok.
|
overridevirtual |
A mode has been explicitly deselected. This is called from WsfSensor::DeselectMode to indicate that a mode has been deselected.
| aSimTime | The current simulation time. |
| aModeNameId | The name (string ID) of the mode that has been deselected. |
Reimplemented from WsfSensorScheduler.
References WsfSensorScheduler::mSensorPtr.
|
overridevirtual |
A mode has been explicitly selected. This is called from WsfSensor::SelectMode to indicate that a mode has been selected.
| aSimTime | The current simulation time. |
| aModeNameId | The name (string ID) of the mode that has been selected. |
Reimplemented from WsfSensorScheduler.
References WsfSensorScheduler::mSensorPtr.
|
static |
Factory method for WsfSensorSchedulerTypes to determine if a scheduler represented by this class is being requested.
Referenced by WsfSensorTypes::WsfSensorTypes(), and ~WsfSpinSensorScheduler().
|
protecteddelete |
References WsfSpinSensorScheduler().
|
overridevirtual |
A platform has been added to the simulation.
| aSimTime | The current simulation time. |
| aPlatformPtr | A pointer to the platform that was added. |
Reimplemented from WsfSensorScheduler.
References WsfSensorScheduler::DebugEnabled(), WsfPlatform::GetIndex(), WsfPlatformPart::GetPlatform(), WsfSimulation::GetSimTime(), WsfPlatform::GetSimulation(), WsfPlatformPart::GetSimulation(), WsfSensorScheduler::GetSimulation(), WsfObserver::MoverChanged(), WsfSensorScheduler::mSearchList, WsfSensorScheduler::mSensorPtr, and WsfObserver::RouteChanged().
|
overridevirtual |
Reimplemented from WsfSensorScheduler.
References WsfSensorScheduler::ProcessInput().
|
overridevirtual |
Indicate that the specified target should be removed from further consideration. This is called from the scheduler to indicate that the target should be removed from any scheduling list.
| aSimTime | The current simulation time. |
| aTargetIndex | The object ID of the target to be removed. |
Reimplemented from WsfSensorScheduler.
References WsfSensorScheduler::mSearchList.
Referenced by SelectTarget().
|
overridevirtual |
Select a target for a detection attempt.
| aSimTime | [input] The current simulation time. |
| aNextSimTime | [output] The simulation time when the scheduler should next be called. |
| aTargetIndex | [output] The object ID of the target to be detected (typically a platform index or some other unique ID). This will not be valid if the return value from the method is false. |
| aRequestId | [output] The request ID (original track ID from StartTracking) associated with the target. aRequest.IsNull() will be true if the target is not associated with a track request. This will not be valid if the return value from the method is false. |
| aSettings | [updated] The sensor settings to be used for the detection attempt. This will not be valid if the return value from the method is false. |
Reimplemented from WsfSensorScheduler.
References WsfSensorScheduler::DebugEnabled(), WsfSimulation::GetPlatformByIndex(), WsfSensorScheduler::GetSimulation(), WsfSensorScheduler::mSearchList, WsfSensorScheduler::mSensorPtr, and RemoveTarget().
|
overridevirtual |
The sensor is being turned off.
| aSimTime | The current simulation time. |
Reimplemented from WsfSensorScheduler.
References WsfSensorScheduler::DebugEnabled(), and WsfSensorScheduler::mSensorPtr.
|
overridevirtual |
The sensor is being turned on.
| aSimTime | The current simulation time. |
Reimplemented from WsfSensorScheduler.
References WsfSensorScheduler::DebugEnabled(), WsfSimulation::GetPlatformCount(), WsfSimulation::GetPlatformEntry(), WsfSensorScheduler::GetSimulation(), and WsfSensorScheduler::mSensorPtr.