19#include "UtAzElLookup.hpp"
20#include "UtAzElTable.hpp"
21#include "UtCallbackHolder.hpp"
47 double MinEl()
const {
return mTable.mElValues.Get(0); }
48 double MaxEl()
const {
return mTable.mElValues.Get(mTable.mElValues.GetSize() - 1); }
49 double MinAz()
const {
return mTable.mAzValues.Get(0); }
50 double MaxAz()
const {
return mTable.mAzValues.Get(mTable.mAzValues.GetSize() - 1); }
51 size_t NumAzimuths()
const {
return mTable.mAzValues.GetSize(); }
67 size_t Size() {
return mTgtMaxSpdAndTables.size(); }
74 std::vector<TgtMaxSpdAndTable> mTgtMaxSpdAndTables;
87 virtual bool Add(
Table* aTablePtr) {
return false; }
89 virtual double LookUp(
WsfStringId aTargetTypeId,
double aAzimuth,
double aElevation,
double aWeaponSpeed,
double aTargetSpeed);
99 virtual bool CanAdd()
const {
return true; }
110 void Increment(
int& i,
int& j,
int& k,
int& m,
int& total);
128 bool Add(
Table* aTablePtr)
override;
130 double LookUp(
WsfStringId aTargetType,
double aAzimuth,
double aElevation,
double aWeaponSpeed,
double aTargetSpeed)
override;
138 bool CanAdd()
const override;
161 bool Add(
Table* aTablePtr);
163 UtCallbackHolder mCallbacks;
164 std::vector<Table*> mTables;
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
WsfNamed()
Definition WsfNamed.cpp:17
TableManager()
Definition WsfPkTable.cpp:122
Table * FindTargetType(WsfStringId aTargetType)
Definition WsfPkTable.cpp:75
~TableManager()
Definition WsfPkTable.cpp:129
Table * FindTableName(WsfStringId aNameId)
Definition WsfPkTable.cpp:105
bool ProcessInput(UtInput &aInput)
Definition WsfPkTable.cpp:139
size_t TableSetSize() const override
Definition WsfPkTable.hpp:140
WsfStringId TargetTypeOfIndex(unsigned int aIndex) override
Definition WsfPkTable.cpp:564
std::vector< Table * > mTablePtrs
Definition WsfPkTable.hpp:144
bool CanAdd() const override
Definition WsfPkTable.cpp:571
bool Add(Table *aTablePtr) override
Definition WsfPkTable.cpp:617
TableSet()
Definition WsfPkTable.cpp:547
bool ProcessInput(UtInput &aInput)
Definition WsfPkTable.cpp:588
const Table & Get(int aTgtTypeId) const
double LookUp(WsfStringId aTargetType, double aAzimuth, double aElevation, double aWeaponSpeed, double aTargetSpeed) override
Definition WsfPkTable.cpp:640
bool IsTableSet() const override
Definition WsfPkTable.hpp:134
~TableSet() override
Definition WsfPkTable.cpp:554
Definition WsfPkTable.hpp:78
std::vector< WpnSpdSet > mWpnSpdSets
Definition WsfPkTable.hpp:117
virtual size_t TableSetSize() const
Definition WsfPkTable.hpp:101
virtual bool CanAdd() const
Definition WsfPkTable.hpp:99
bool ProcessInput(UtInput &aInput)
Definition WsfPkTable.cpp:209
virtual WsfStringId TargetType()
Definition WsfPkTable.hpp:91
void SetTargetType(WsfStringId aTargetType)
Definition WsfPkTable.hpp:95
Table & operator=(const Table &aRhs)=delete
Table()
Definition WsfPkTable.cpp:194
WpnSpdSet & Get(int aIndex)
Definition WsfPkTable.hpp:96
virtual bool IsTableSet() const
Definition WsfPkTable.hpp:100
virtual double LookUp(WsfStringId aTargetTypeId, double aAzimuth, double aElevation, double aWeaponSpeed, double aTargetSpeed)
Definition WsfPkTable.cpp:399
void SetPkValuesP(const std::vector< std::vector< double > > &aValues)
static bool LoadUtAzElTable(UtInput &aInput, UtAzElTable *&aTablePtr)
Definition WsfPkTable.cpp:329
WsfStringId mTargetType
Definition WsfPkTable.hpp:116
static bool LoadTable(UtInput &aInput, Table *&aTablePtr, Table *aParentTable=nullptr)
Definition WsfPkTable.cpp:281
virtual WsfStringId TargetTypeOfIndex(unsigned int aIndex)
Definition WsfPkTable.cpp:203
virtual bool Add(Table *aTablePtr)
Definition WsfPkTable.hpp:87
void GetWpnSpdSetsFor(double aWeaponSpeed, WpnSpdSet *&aLowerPtr, WpnSpdSet *&aUpperPtr)
Definition WsfPkTable.cpp:526
size_t SpeedsSize()
Definition WsfPkTable.hpp:97
void Increment(int &i, int &j, int &k, int &m, int &total)
~Table() override=default
Definition WsfPkTable.hpp:41
bool ProcessInput(UtInput &aInput)
size_t NumElevations() const
Definition WsfPkTable.hpp:52
UtAzElTable * GetTable()
Definition WsfPkTable.hpp:53
static bool LoadTgtMaxSpdAndTable(UtInput &aInput, TgtMaxSpdAndTable *&aTablePtr)
Definition WsfPkTable.cpp:672
double TgtSpeedLimit() const
Definition WsfPkTable.hpp:46
double MaxEl() const
Definition WsfPkTable.hpp:48
size_t NumAzimuths() const
Definition WsfPkTable.hpp:51
TgtMaxSpdAndTable(double aTgtMaxSpeed, UtAzElTable &aTable)
Definition WsfPkTable.cpp:708
double MinEl() const
Definition WsfPkTable.hpp:47
double MaxAz() const
Definition WsfPkTable.hpp:50
double MinAz() const
Definition WsfPkTable.hpp:49
Definition WsfPkTable.hpp:61
static bool LoadWpnSpdSet(UtInput &aInput, WpnSpdSet *&aWpnSpdSetPtr)
Definition WsfPkTable.cpp:717
size_t Size()
Definition WsfPkTable.hpp:67
TgtMaxSpdAndTable & Get(int aIndex)
Definition WsfPkTable.hpp:66
bool Add(const TgtMaxSpdAndTable &aNewTableSet)
Definition WsfPkTable.cpp:795
void GetTgtSpdSetsFor(double aTargetSpeed, TgtMaxSpdAndTable *&aLowerPtr, TgtMaxSpdAndTable *&aUpperPtr)
Definition WsfPkTable.cpp:775
double WpnSpeedLimit() const
Definition WsfPkTable.hpp:69
bool ProcessInput(UtInput &aInput)
WpnSpdSet(double aWpnMaxSpeed)
Definition WsfPkTable.cpp:768