refs #827, use matching logs (CMatchingUtils) with score functions

This commit is contained in:
Klaus Basan
2017-03-10 04:02:29 +01:00
committed by Mathew Sutcliffe
parent 8d198a9174
commit 88a5b54ef6
2 changed files with 8 additions and 2 deletions

View File

@@ -8,6 +8,7 @@
*/ */
#include "blackmisc/simulation/aircraftmodellist.h" #include "blackmisc/simulation/aircraftmodellist.h"
#include "blackmisc/simulation/matchingutils.h"
#include "blackmisc/aviation/aircrafticaocode.h" #include "blackmisc/aviation/aircrafticaocode.h"
#include "blackmisc/aviation/callsign.h" #include "blackmisc/aviation/callsign.h"
#include "blackmisc/aviation/livery.h" #include "blackmisc/aviation/livery.h"
@@ -15,6 +16,7 @@
#include "blackmisc/iterator.h" #include "blackmisc/iterator.h"
#include "blackmisc/range.h" #include "blackmisc/range.h"
#include "blackmisc/statusmessage.h" #include "blackmisc/statusmessage.h"
#include "blackmisc/stringutils.h"
#include <QJsonValue> #include <QJsonValue>
#include <QList> #include <QList>
@@ -584,12 +586,16 @@ namespace BlackMisc
} }
} }
ScoredModels CAircraftModelList::scoreFull(const CAircraftModel &remoteModel, bool ignoreZeroScores) const ScoredModels CAircraftModelList::scoreFull(const CAircraftModel &remoteModel, bool ignoreZeroScores, CStatusMessageList *log) const
{ {
ScoredModels scoreMap; ScoredModels scoreMap;
// prefer colors if there is no airline // prefer colors if there is no airline
const bool hasAirlineDesignator = remoteModel.hasAirlineDesignator() && this->contains(&CAircraftModel::getAirlineIcaoCodeDesignator, remoteModel.getAirlineIcaoCodeDesignator()); const bool hasAirlineDesignator = remoteModel.hasAirlineDesignator() && this->contains(&CAircraftModel::getAirlineIcaoCodeDesignator, remoteModel.getAirlineIcaoCodeDesignator());
const bool preferColorLiveries = !hasAirlineDesignator; const bool preferColorLiveries = !hasAirlineDesignator;
// prefer colors if there is no airline
CMatchingUtils::addLogDetailsToList(log, remoteModel.getCallsign(), QString("Prefer color liveries: %1, airline: '%2'").arg(boolToYesNo(preferColorLiveries), remoteModel.getAirlineIcaoCodeDesignator()));
for (const CAircraftModel &model : *this) for (const CAircraftModel &model : *this)
{ {
const int score = model.calculateScore(remoteModel, preferColorLiveries); const int score = model.calculateScore(remoteModel, preferColorLiveries);

View File

@@ -226,7 +226,7 @@ namespace BlackMisc
void normalizeFileNamesForDb(); void normalizeFileNamesForDb();
//! Score by aircraft ICAO code //! Score by aircraft ICAO code
ScoredModels scoreFull(const CAircraftModel &remoteModel, bool ignoreZeroScores = true) const; ScoredModels scoreFull(const CAircraftModel &remoteModel, bool ignoreZeroScores = true, CStatusMessageList *log = nullptr) const;
//! Completer strings //! Completer strings
QStringList toCompleterStrings(bool sorted = true) const; QStringList toCompleterStrings(bool sorted = true) const;