|
WSF
|
#include <WsfSectorScanSensorScheduler.hpp>


Public Member Functions | |
| WsfSectorScanSensorScheduler () | |
| ~WsfSectorScanSensorScheduler () override=default | |
| WsfSensorScheduler * | Clone () const override |
| bool | ProcessInput (UtInput &aInput) override |
| bool | Initialize (double aSimTime, WsfSensor *aSensorPtr, WsfSensorTracker *aTrackerPtr) override |
| void | TransitionSector (double aSimTime) |
| 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 |
| 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) |
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 Sector Scan Sensor Scheduler provides a sensor scanning function that is more temporally correct for choosing detection targets than the default scheduler. It also allows for definition of scan "sectors" in azimuth and elevation, such as for multi-bar radar scans or as a scan pattern for an optical sensor. The sensor is cued to the instantaneous scan location, so script and visualizations have the correct pointing location.
| WsfSectorScanSensorScheduler::WsfSectorScanSensorScheduler | ( | ) |
References WsfSensorScheduler::WsfSensorScheduler().
Referenced by Clone(), and ~WsfSectorScanSensorScheduler().
|
overridedefault |
|
overridevirtual |
Reimplemented from WsfSensorScheduler.
References WsfSectorScanSensorScheduler(), and WsfSensorScheduler::WsfSensorScheduler().
|
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 WsfArticulatedPart::cSLEW_AZ_EL, WsfModeList::GetDerivedModeList(), WsfSensor::GetModeList(), WsfArticulatedPart::GetSlewMode(), WsfSensor::GetUpdateInterval(), 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 ~WsfSectorScanSensorScheduler().
|
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 WsfPlatform::GetIndex(), and WsfSensorScheduler::mSearchList.
|
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.
|
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 WsfPlatform::GetIndex(), WsfSimulation::GetPlatformByIndex(), WsfSensorScheduler::GetSimulation(), WsfSensor::Settings::mModeIndex, WsfSensorScheduler::mSearchList, WsfSensorScheduler::mSensorPtr, WsfTrackId::Null(), and WsfPlatform::Update().
| void WsfSectorScanSensorScheduler::TransitionSector | ( | double | aSimTime | ) |
Transition to the next scanning sector and begin scanning.
| aSimTime | The current simulation time. |
Referenced by ~WsfSectorScanSensorScheduler().
|
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.