4 #include "core/afv/model/atcstationmodel.h"
8 using namespace swift::core::afv;
10 namespace swift::core::afv::model
13 : m_callsign(callsign), m_transceiver(transceiver)
29 const double sqrtAltM = qSqrt(m_transceiver.
HeightMslM);
30 const double radioFactor = 4193.18014745372;
31 return radioFactor * sqrtAltM;
39 for (
const auto &station : atcStations)
41 if (!m_atcStations.contains(station)) { addStation(station); }
45 for (
int i = m_atcStations.size() - 1; i >= 0; i--)
48 if (!m_atcStations.contains(station)) { removeStationAtPosition(i); }
55 m_atcStations << atcStation;
59 void CSampleAtcStationModel::removeStationAtPosition(
int i)
62 m_atcStations.removeAt(i);
69 return m_atcStations.count();
77 if (role == CallsignRole)
return atcStation.
callsign();
78 if (role == LatitudeRole)
return atcStation.
latitude();
79 if (role == LongitudeRole)
return atcStation.
longitude();
82 if (role == FrequencyKhzRole)
return atcStation.
frequency() / 1000;
89 roles[CallsignRole] =
"callsign";
90 roles[LatitudeRole] =
"latitude";
91 roles[LongitudeRole] =
"longitude";
92 roles[RadioDistanceRole] =
"radioDistanceM";
93 roles[FrequencyRole] =
"frequencyAsString";
94 roles[FrequencyKhzRole] =
"frequencyKhz";
QString formattedFrequency() const
Getter.
const QString & callsign() const
Getter.
quint32 frequency() const
Getter.
double latitude() const
Getter.
double radioDistanceM() const
Getter.
double longitude() const
Getter.
CSampleAtcStation()=default
Ctor.
void updateAtcStations(const QVector< CSampleAtcStation > &atcStations)
Update the stations.
QHash< int, QByteArray > roleNames() const
copydoc QAbstractListModel::roleNames
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const
copydoc QAbstractListModel::data
CSampleAtcStationModel(QObject *parent=nullptr)
Ctor.
int rowCount(const QModelIndex &parent=QModelIndex()) const
copydoc QAbstractListModel::rowCount
void beginInsertRows(const QModelIndex &parent, int first, int last)
void beginRemoveRows(const QModelIndex &parent, int first, int last)
virtual QModelIndex index(int row, int column, const QModelIndex &parent) const const override
QObject * parent() const const
QString number(double n, char format, int precision)
double HeightMslM
Properties.
quint32 frequencyHz
Properties.