void BoatModel::setHeading(const qreal& theValue, bool update) {
    if (theValue != m_heading) {
        m_heading = fmod(theValue+360.0,360.0);
        if (update) {
            emit headingChanged(m_heading);
            m_track->changingTrack(m_track);
        }
    }
}
void LegendGroup::setHeading(const QString &heading)
{
    if (m_heading == heading)
    {
        return;
    }

    m_heading = heading;
    emit headingChanged(m_heading);
}
Exemple #3
0
void MasterThread::Decoding(QString comdata)
{
    QString header = comdata.left(6);
    if (header == "$GPGGA")
    {
        QStringList list = comdata.split(',');
        QString time = list.at(1);
        int time_hour = time.mid(0, 2).toInt();
        int time_minute = time.mid(2, 2).toInt();
        int time_second = time.mid(4, 2).toInt();
        int time_msec = time.right(3).toInt();
        QString latlon = list.at(2) + ',' +list.at(4).mid(1);
        qDebug()<<"latLon"<<latlon;
        QString timeStr = QString("%1:%2:%3:%4").arg(time_hour).arg(time_minute).arg(time_second).arg(time_msec);
        qDebug()<<"timeStr"<<timeStr;
        emit positionChanged(QVariant::fromValue(latlon));
        emit timeChanged(QVariant::fromValue(timeStr));
    }
    else if (header == "$GPRMC")
    {
        QStringList list = comdata.split(',');

        QString time = list.at(1);
        int time_hour = time.mid(0, 2).toInt();
        int time_minute = time.mid(2, 2).toInt();
        int time_second = time.mid(4, 2).toInt();
        int time_msec = time.right(3).toInt();
        QString timeStr = QString("%1:%2:%3:%4").arg(time_hour).arg(time_minute).arg(time_second).arg(time_msec);
        emit timeChanged(QVariant::fromValue(timeStr));
        QString state = list.at(2);
        QString lat = DMTODMS(list.at(3));
        QString lon = DMTODMS(list.at(5));
        QString latlon = lat + "," + lon;
        QString speed = QString::number(list.at(7).toDouble() * 1.852) + "km/h";
        QString heading = list.at(8);
//        emit stateChanged(QVariant::fromValue(state));
        emit positionChanged(QVariant::fromValue(latlon));
        emit speedChanged(QVariant::fromValue(speed));
        emit headingChanged(QVariant::fromValue(heading));

        double dLat = DMTodecimalDegrees(list.at(3));
        double dLon = DMTodecimalDegrees(list.at(5));
        emit avaliblePosition(dLat, dLon, heading.toDouble());

    }
}
Exemple #4
0
void EQPlayer::playerUpdate(const playerUpdateStruct *pupdate, bool client)
{
  if (!client && (pupdate->spawnId != m_playerID))
    return;
  else if (client)
    setPlayerID(pupdate->spawnId);
 
  m_xPos = pupdate->xPos;
  m_yPos = pupdate->yPos;
  m_zPos = pupdate->zPos;
  m_deltaX = pupdate->deltaX;
  m_deltaY = pupdate->deltaY;
  m_deltaZ = pupdate->deltaZ;
  m_heading = 360 - (pupdate->heading * 360) / 256;
  
  emit headingChanged(m_heading);
  emit posChanged(m_xPos, m_yPos, m_zPos, 
		  m_deltaX, m_deltaY, m_deltaZ, m_heading);
}