12#ifndef WSFLASERDESIGNATOR_HPP
13#define WSFLASERDESIGNATOR_HPP
15#include "wsf_mil_export.h"
17#include "UtVec3dX.hpp"
54 void Update(
double aSimTime)
override;
57 void TurnOff(
double aSimTime)
override;
58 void TurnOn(
double aSimTime)
override;
82 void Deselect(
double aSimTime)
override;
83 void Select(
double aSimTime)
override;
92 size_t GetDesignatedEntityIndex()
const;
120 bool Consider(
double aSimTime,
121 const UtVec3dX& aEmitterLocWCS,
122 const UtVec3dX& aLOS_UnitVectorWCS,
123 const UtVec3dX& aLaserSpotLocWCS,
126 void Remove(
size_t aIndex);
127 bool Update(
double aSimTime);
137 void Lase(
double aSimTime,
double aFrequency,
double aPower);
aObjectPtr Update(simTime)
Definition WsfEM_Antenna.hpp:49
Definition WsfEM_Xmtr.hpp:55
Definition WsfLaserDesignations.hpp:86
Definition WsfLaserDesignations.hpp:83
Definition WsfLaserDesignator.hpp:96
size_t mIndex
Definition WsfLaserDesignator.hpp:106
double mDist2BeamSqd
Definition WsfLaserDesignator.hpp:108
double mLastCloseTime
Definition WsfLaserDesignator.hpp:107
double mDist2SpotSqd
Definition WsfLaserDesignator.hpp:109
Consideration(size_t aIndex)
Definition WsfLaserDesignator.hpp:98
void Select(double aSimTime) override
Definition WsfLaserDesignator.cpp:517
bool Initialize(double aSimTime) override
Definition WsfLaserDesignator.cpp:445
void Deselect(double aSimTime) override
Definition WsfLaserDesignator.cpp:509
LaserDesignationMode & operator=(const LaserDesignationMode &)=delete
bool ProcessInput(UtInput &aInput) override
Definition WsfLaserDesignator.cpp:467
LaserDesignationMode()
Definition WsfLaserDesignator.cpp:418
bool AttemptToDetect(double aSimTime, WsfPlatform *aTargetPtr, Settings &aSettings, WsfSensorResult &aResult) override
Definition WsfLaserDesignator.cpp:499
WsfMode * Clone() const override
Create an exact duplicate of this mode.
Definition WsfLaserDesignator.cpp:438
WsfEM_Xmtr mXmtr
Definition WsfLaserDesignator.hpp:88
WsfLaserDesignator * mLD_Ptr
Definition WsfLaserDesignator.hpp:85
WsfEM_Antenna mAntenna
Definition WsfLaserDesignator.hpp:87
Definition WsfLaserDesignator.hpp:113
size_t GetIndex() const
Definition WsfLaserDesignator.hpp:118
double mNearestLimitSquared
Definition WsfLaserDesignator.hpp:131
void Clear()
Definition WsfLaserDesignator.cpp:621
double mTimeoutInterval
Definition WsfLaserDesignator.hpp:130
TargetAssociation()
Definition WsfLaserDesignator.cpp:606
std::vector< Consideration * > mConsiderations
Definition WsfLaserDesignator.hpp:132
size_t mCurrentPlatIndex
Definition WsfLaserDesignator.hpp:129
void Lase(double aSimTime, double aFrequency, double aPower)
Definition WsfLaserDesignator.cpp:359
WsfLaserDesignator(WsfScenario &aScenario)
Definition WsfLaserDesignator.cpp:37
WsfLaserDesignations::Spot mLaserSpot
Definition WsfLaserDesignator.hpp:162
int GetLaserCode() const
Definition WsfLaserDesignator.hpp:65
TargetAssociation mAssociation
Definition WsfLaserDesignator.hpp:161
WsfLaserDesignations * mLaserDesignationsPtr
Definition WsfLaserDesignator.hpp:139
double mTerrainFloatDistance
Definition WsfLaserDesignator.hpp:154
void Extinguish(double aSimTime)
Definition WsfLaserDesignator.cpp:377
bool mSpotIsPlaced
Definition WsfLaserDesignator.hpp:158
double mPower
Definition WsfLaserDesignator.hpp:152
int mLaserCode
Definition WsfLaserDesignator.hpp:144
unsigned int mUpdateCount
Definition WsfLaserDesignator.hpp:145
std::vector< LaserDesignationMode * > mLD_ModeList
The sensor-specific list of modes (not valid until Initialize is called).
Definition WsfLaserDesignator.hpp:142
UtVec3dX mSpotLocationWCS
Definition WsfLaserDesignator.hpp:149
double mFrequency
Definition WsfLaserDesignator.hpp:151
WsfLaserDesignator & operator=(const WsfLaserDesignator &)=delete
bool mPrivateDebug
Definition WsfLaserDesignator.hpp:156
bool mSpotIsExtinguished
Definition WsfLaserDesignator.hpp:159
UtVec3dX mUnitLOS_WCS
Definition WsfLaserDesignator.hpp:148
double mMaximumRange
Definition WsfLaserDesignator.hpp:153
bool IsEmitting() const
Definition WsfLaserDesignator.hpp:91
void SetLaserCode(int aLaserCode)
Definition WsfLaserDesignator.hpp:66
wsf::Terrain * mTerrain
Definition WsfLaserDesignator.hpp:163
bool mIsEmitting
Definition WsfLaserDesignator.hpp:157
UtVec3dX mEmitterLocWCS
Definition WsfLaserDesignator.hpp:147
WsfMode()
Definition WsfMode.cpp:15
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
WsfSensorMode()
Definition WsfSensorMode.cpp:47
Definition WsfSensorResult.hpp:27
Definition WsfSensor.hpp:133
bool ProcessInput(UtInput &aInput) override
Definition WsfSensor.cpp:380
void Update(double aSimTime) override
Definition WsfSensor.cpp:497
WsfSensor(const WsfScenario &aScenario)
Definition WsfSensor.cpp:52
void PlatformDeleted(WsfPlatform *aPlatformPtr) override
Definition WsfSensor.cpp:355
WsfSensor * Clone() const override=0
virtual WsfEM_Xmtr & GetEM_Xmtr(size_t aIndex) const
Definition WsfSensor.cpp:714
bool Initialize(double aSimTime) override
Definition WsfSensor.cpp:255
virtual size_t GetEM_XmtrCount() const
Definition WsfSensor.cpp:700
virtual void PerformScheduledDetections(double aSimTime)
Definition WsfSensor.cpp:1415
void TurnOff(double aSimTime) override
Definition WsfSensor.cpp:523
void TurnOn(double aSimTime) override
Definition WsfSensor.cpp:563
Definition WsfTerrain.hpp:336