mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-12 07:15:34 +08:00
Move Math constants into class (to be consistent with other constants), tested against minGW / gcc 4.7.2 and fixed various issues (mainly initializer lists, unused variables). BlackMisc compiles now in MinGW, but still issues (especially with qDebug() friend methods)
This commit is contained in:
@@ -18,139 +18,131 @@ typedef QVector<QString> QStringVector;
|
||||
|
||||
namespace FSD
|
||||
{
|
||||
class FSD_MSG : public BlackMisc::IMessage
|
||||
class FSD_MSG : public BlackMisc::IMessage
|
||||
{
|
||||
public:
|
||||
FSD_MSG(QString id) : IMessage(id)
|
||||
{
|
||||
public:
|
||||
FSD_MSG(QString id) : IMessage(id)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void setSource(const QString &source) {m_source = source; }
|
||||
void setDest(const QString &destination) {m_destination = destination; }
|
||||
void setSource(const QString &source) {m_source = source; }
|
||||
void setDest(const QString &destination) {m_destination = destination; }
|
||||
|
||||
protected:
|
||||
qint32 unpack(const QString &line, QStringVector &tokens);
|
||||
QString pack(const QStringVector &tokens) const;
|
||||
protected:
|
||||
qint32 unpack(const QString &line, QStringVector &tokens);
|
||||
QString pack(const QStringVector &tokens) const;
|
||||
|
||||
QString m_destination;
|
||||
QString m_source;
|
||||
};
|
||||
QString m_destination;
|
||||
QString m_source;
|
||||
};
|
||||
|
||||
class FSD_MSG_AddPilot : public FSD_MSG
|
||||
class FSD_MSG_AddPilot : public FSD_MSG
|
||||
{
|
||||
public:
|
||||
FSD_MSG_AddPilot() : FSD_MSG("#AP"), m_rating(1), m_revision(VATSIM_PROTOCOL_REV) {}
|
||||
void setUserID(const QString &userID) { m_userID = userID; }
|
||||
void setPassword(const QString &password) { m_password = password; }
|
||||
void setSimulator(const quint16 &simulator) { m_simulator = simulator; }
|
||||
void setRealName(const QString &name) { m_realName = name; }
|
||||
|
||||
virtual QDataStream &operator<< (QDataStream &in) { return in; }
|
||||
virtual QDataStream &operator>> (QDataStream &out) const { return out; }
|
||||
|
||||
virtual QTextStream &operator<< (QTextStream &in)
|
||||
{ return in; }
|
||||
virtual QTextStream &operator>> (QTextStream &out) const
|
||||
{
|
||||
public:
|
||||
FSD_MSG_AddPilot() : FSD_MSG("#AP"), m_revision(VATSIM_PROTOCOL_REV),
|
||||
m_rating(1)
|
||||
{
|
||||
}
|
||||
QStringVector tokens;
|
||||
tokens << m_source << m_destination << m_userID << m_password;
|
||||
tokens << QString("%1").arg(m_rating) << QString("%1").arg(m_revision);
|
||||
tokens << QString("%1").arg(m_simulator) << m_realName;
|
||||
out << pack(tokens);
|
||||
return out;
|
||||
}
|
||||
|
||||
void setUserID(const QString &userID) { m_userID = userID; }
|
||||
void setPassword(const QString &password) { m_password = password; }
|
||||
void setSimulator(const quint16 &simulator) { m_simulator = simulator; }
|
||||
void setRealName(const QString &name) { m_realName = name; }
|
||||
private:
|
||||
|
||||
virtual QDataStream& operator<< (QDataStream& in) { return in; }
|
||||
virtual QDataStream& operator>> (QDataStream& out) const { return out; }
|
||||
QString m_userID;
|
||||
QString m_password;
|
||||
quint16 m_rating;
|
||||
quint16 m_revision;
|
||||
quint16 m_simulator;
|
||||
QString m_realName;
|
||||
};
|
||||
|
||||
virtual QTextStream& operator<< ( QTextStream& in)
|
||||
{ return in; }
|
||||
virtual QTextStream& operator>> (QTextStream& out) const
|
||||
{
|
||||
QStringVector tokens;
|
||||
tokens << m_source << m_destination << m_userID << m_password;
|
||||
tokens << QString("%1").arg(m_rating) << QString("%1").arg(m_revision);
|
||||
tokens << QString("%1").arg(m_simulator) << m_realName;
|
||||
out << pack(tokens);
|
||||
return out;
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
QString m_userID;
|
||||
QString m_password;
|
||||
quint16 m_rating;
|
||||
quint16 m_revision;
|
||||
quint16 m_simulator;
|
||||
QString m_realName;
|
||||
};
|
||||
|
||||
class FSD_MSG_TextMessage : public FSD_MSG
|
||||
class FSD_MSG_TextMessage : public FSD_MSG
|
||||
{
|
||||
public:
|
||||
FSD_MSG_TextMessage() : FSD_MSG(QString("#TM")) {}
|
||||
virtual QDataStream &operator<< (QDataStream &in) { return in; }
|
||||
virtual QDataStream &operator>> (QDataStream &out) const { return out;}
|
||||
virtual QTextStream &operator<< (QTextStream &in)
|
||||
{
|
||||
public:
|
||||
FSD_MSG_TextMessage() : FSD_MSG(QString("#TM"))
|
||||
{
|
||||
}
|
||||
QString message = in.readAll();
|
||||
QStringVector tokens;
|
||||
|
||||
virtual QDataStream& operator<< (QDataStream& in) { return in; }
|
||||
virtual QDataStream& operator>> (QDataStream& out) const { return out;}
|
||||
//tokens.resize(3);
|
||||
unpack(message, tokens);
|
||||
m_source = tokens.at(0);
|
||||
m_destination = tokens.at(1);
|
||||
int size = tokens.size();
|
||||
QString m_textmessage;
|
||||
for (int ii = 2; ii < size; ++ii)
|
||||
m_textmessage += tokens.at(ii);
|
||||
bAppInfo << m_textmessage;
|
||||
return in;
|
||||
}
|
||||
|
||||
virtual QTextStream& operator<< ( QTextStream& in)
|
||||
{
|
||||
QString message = in.readAll();
|
||||
QStringVector tokens;
|
||||
|
||||
//tokens.resize(3);
|
||||
unpack(message, tokens);
|
||||
m_source = tokens.at(0);
|
||||
m_destination = tokens.at(1);
|
||||
int size = tokens.size();
|
||||
QString m_textmessage;
|
||||
for ( int ii = 2; ii < tokens.size(); ++ii)
|
||||
m_textmessage += tokens.at(ii);
|
||||
bAppInfo << m_textmessage;
|
||||
return in;
|
||||
}
|
||||
|
||||
virtual QTextStream& operator>> (QTextStream& out) const
|
||||
{
|
||||
QStringVector tokens;
|
||||
tokens << m_source << m_destination;
|
||||
out << pack(tokens);
|
||||
return out;
|
||||
}
|
||||
};
|
||||
|
||||
class FSD_MSG_Plane_Position : public FSD_MSG
|
||||
virtual QTextStream &operator>> (QTextStream &out) const
|
||||
{
|
||||
public:
|
||||
QStringVector tokens;
|
||||
tokens << m_source << m_destination;
|
||||
out << pack(tokens);
|
||||
return out;
|
||||
}
|
||||
};
|
||||
|
||||
FSD_MSG_Plane_Position() : FSD_MSG(QString("@"))
|
||||
{
|
||||
m_message_tokens.resize(10);
|
||||
}
|
||||
class FSD_MSG_Plane_Position : public FSD_MSG
|
||||
{
|
||||
public:
|
||||
|
||||
inline QString SquawkMode() const { return m_message_tokens.at(0); }
|
||||
inline QString Callsign() const { return m_message_tokens.at(1); }
|
||||
inline QString Squawk() const { return m_message_tokens.at(2); }
|
||||
inline quint16 Rating() const { return m_message_tokens.at(3).toUInt(); }
|
||||
inline double Latitude() const { return m_message_tokens.at(4).toDouble(); }
|
||||
inline double Longitude() const { return m_message_tokens.at(5).toDouble(); }
|
||||
inline double Altitude() const { return m_message_tokens.at(6).toDouble(); }
|
||||
inline qint32 Speed() const { return m_message_tokens.at(7).toInt(); }
|
||||
inline quint32 PBH() const { return m_message_tokens.at(8).toUInt(); }
|
||||
inline qint32 AltDiff() const { return m_message_tokens.at(9).toInt(); }
|
||||
FSD_MSG_Plane_Position() : FSD_MSG(QString("@"))
|
||||
{
|
||||
m_message_tokens.resize(10);
|
||||
}
|
||||
|
||||
inline void setSquawkMode( const QString &squawk_mode) { m_message_tokens.replace(0, squawk_mode); }
|
||||
inline void setCallsign ( const QString &callsign) { m_message_tokens.replace(1, callsign); }
|
||||
inline void setSquawk ( const QString &squawk) { m_message_tokens.replace(2, squawk); }
|
||||
inline void setRating ( const quint16 rating) { m_message_tokens.replace(3, QString("%1").arg(rating)); }
|
||||
inline void setLatitude ( const double latitude) { m_message_tokens.replace(4, QString("%1").arg(latitude)); }
|
||||
inline void setLongitude ( const double longitude) { m_message_tokens.replace(5, QString("%1").arg(longitude)); }
|
||||
inline void setAltitude ( const double altitude) { m_message_tokens.replace(6, QString("%1").arg(altitude)); }
|
||||
inline void setSpeed ( const qint32 speed) { m_message_tokens.replace(7, QString("%1").arg(speed)); }
|
||||
inline void setPBH ( const quint32 pbh) { m_message_tokens.replace(8, QString("%1").arg(pbh)); }
|
||||
inline void setAltDiff ( const qint32 altdiff) { m_message_tokens.replace(9, QString("%1").arg(altdiff)); }
|
||||
inline QString SquawkMode() const { return m_message_tokens.at(0); }
|
||||
inline QString Callsign() const { return m_message_tokens.at(1); }
|
||||
inline QString Squawk() const { return m_message_tokens.at(2); }
|
||||
inline quint16 Rating() const { return m_message_tokens.at(3).toUInt(); }
|
||||
inline double Latitude() const { return m_message_tokens.at(4).toDouble(); }
|
||||
inline double Longitude() const { return m_message_tokens.at(5).toDouble(); }
|
||||
inline double Altitude() const { return m_message_tokens.at(6).toDouble(); }
|
||||
inline qint32 Speed() const { return m_message_tokens.at(7).toInt(); }
|
||||
inline quint32 PBH() const { return m_message_tokens.at(8).toUInt(); }
|
||||
inline qint32 AltDiff() const { return m_message_tokens.at(9).toInt(); }
|
||||
|
||||
virtual QTextStream& operator<< ( QTextStream& in);
|
||||
virtual QTextStream& operator>> (QTextStream& out) const;
|
||||
inline void setSquawkMode(const QString &squawk_mode) { m_message_tokens.replace(0, squawk_mode); }
|
||||
inline void setCallsign(const QString &callsign) { m_message_tokens.replace(1, callsign); }
|
||||
inline void setSquawk(const QString &squawk) { m_message_tokens.replace(2, squawk); }
|
||||
inline void setRating(const quint16 rating) { m_message_tokens.replace(3, QString("%1").arg(rating)); }
|
||||
inline void setLatitude(const double latitude) { m_message_tokens.replace(4, QString("%1").arg(latitude)); }
|
||||
inline void setLongitude(const double longitude) { m_message_tokens.replace(5, QString("%1").arg(longitude)); }
|
||||
inline void setAltitude(const double altitude) { m_message_tokens.replace(6, QString("%1").arg(altitude)); }
|
||||
inline void setSpeed(const qint32 speed) { m_message_tokens.replace(7, QString("%1").arg(speed)); }
|
||||
inline void setPBH(const quint32 pbh) { m_message_tokens.replace(8, QString("%1").arg(pbh)); }
|
||||
inline void setAltDiff(const qint32 altdiff) { m_message_tokens.replace(9, QString("%1").arg(altdiff)); }
|
||||
|
||||
virtual QDataStream& operator<< (QDataStream& in) { return in; }
|
||||
virtual QDataStream& operator>> (QDataStream& out) const { return out;}
|
||||
virtual QTextStream &operator<< (QTextStream &in);
|
||||
virtual QTextStream &operator>> (QTextStream &out) const;
|
||||
|
||||
private:
|
||||
QStringVector m_message_tokens;
|
||||
};
|
||||
virtual QDataStream &operator<< (QDataStream &in) { return in; }
|
||||
virtual QDataStream &operator>> (QDataStream &out) const { return out;}
|
||||
|
||||
private:
|
||||
QStringVector m_message_tokens;
|
||||
};
|
||||
|
||||
} // namespace FSD
|
||||
|
||||
|
||||
@@ -142,7 +142,7 @@ bool CInterpolator::stateNow(TPlaneState *state)
|
||||
CAngle CInterpolator::normalizeRadians(const CAngle &angle) const
|
||||
{
|
||||
double radian = angle.value(CAngleUnit::rad());
|
||||
radian = radian - BlackMisc::Math::TwoPI * floor(0.5 + radian / BlackMisc::Math::TwoPI);
|
||||
radian = radian - BlackMisc::Math::CMath::PI2() * floor(0.5 + radian / BlackMisc::Math::CMath::PI2());
|
||||
return CAngle(radian, CAngleUnit::rad());
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace BlackCore
|
||||
/*
|
||||
* Default constructor
|
||||
*/
|
||||
CPlane::CPlane() : m_interpolator(nullptr), m_driver(nullptr) { }
|
||||
CPlane::CPlane() : m_interpolator(0), m_driver(0) { }
|
||||
|
||||
/*
|
||||
* Constructor
|
||||
|
||||
@@ -10,7 +10,16 @@
|
||||
#include "blackmisc/coordinategeodetic.h"
|
||||
#include "blackmisc/mathvector3d.h"
|
||||
#include <QString>
|
||||
#include <functional>
|
||||
|
||||
|
||||
#if defined(_MSC_VER) && _MSC_VER >= 1600
|
||||
# include <unordered_map>
|
||||
# include <functional>
|
||||
#else
|
||||
# include <tr1/unordered_map>
|
||||
# include <tr1/functional>
|
||||
#endif
|
||||
|
||||
|
||||
#define SHARED_LIBRARY_NAME_FS9 "bb_driver_fs9"
|
||||
#define SHARED_LIBRARY_NAME_FSX "bb_driver_fsx"
|
||||
|
||||
Reference in New Issue
Block a user