void KisLightSource::setAltitude(qreal altitude) { if (m_altitude != altitude) m_altitude = altitude; emit altitudeChanged(altitude); emit orbitMoved(m_azimuth, altitude); }
void QDeclarativeCoordinate::setAltitude(double altitude) { if (m_coordinate.altitude() != altitude) { m_coordinate.setAltitude(altitude); emit altitudeChanged(m_coordinate.altitude()); } }
void QmlAltimeterReading::readingUpdate() { qreal altitude = m_sensor->reading()->altitude(); if (m_altitude != altitude) { m_altitude = altitude; Q_EMIT altitudeChanged(); } }
void KisLightSource::moveOrbit(qreal azimuth, qreal altitude) { if (m_azimuth != azimuth) m_azimuth = azimuth; if (m_altitude != altitude) m_altitude = altitude; emit azimuthChanged(azimuth); emit altitudeChanged(altitude); emit orbitMoved(azimuth, altitude); }
void QmlBarometerAltimeterReading::set_altitude_offset(qreal offset) { qInfo() << "set_altitude_offset" << offset; qreal old_altitude_offset = m_altitude_offset; m_altitude_offset = offset; Q_EMIT altitudeOffsetChanged(); m_altitude += offset - old_altitude_offset; Q_EMIT altitudeChanged(); // versus readingUpdate ? }
void QmlBarometerAltimeterReading::set_sea_level_pressure(qreal sea_level_pressure) { qInfo() << "set_sea_level_pressure" << sea_level_pressure << m_sea_level_pressure; if (!qFuzzyCompare(sea_level_pressure, m_sea_level_pressure)) { qInfo() << "set_sea_level_pressure yes"; m_sea_level_pressure = sea_level_pressure; Q_EMIT pressureSeaLevelChanged(); m_altitude = pressure_to_altitude(m_pressure); Q_EMIT altitudeChanged(); // versus readingUpdate ? } }
void KisLightSource::mouseMoveEvent(QMouseEvent* event) { m_moving = true; qreal newX = parentWidget()->mapFromGlobal(event->globalPos()).x(); qreal newY = parentWidget()->mapFromGlobal(event->globalPos()).y(); qreal newRelativeX = newX - qreal(parentWidget()->width() / 2); qreal newRelativeY = newY - qreal(parentWidget()->height() / 2); //Normalize newRelativeX /= (parentWidget()->width() / 2); newRelativeY /= (parentWidget()->height() / 2); if (!(newRelativeX == 0 && newRelativeY == 0)) { // TODO BUG reverse the symbols here later m_azimuth = -atan2(newRelativeX, newRelativeY) + M_PI / 2; // In radians m_azimuth *= (180 / M_PI); // To degrees } else { m_azimuth = 0; } //Pitagoras qreal newM = sqrt(pow(newRelativeX, 2) + pow(newRelativeY, 2)); if (newM > 1) { // Adjust coordinates to make newM be worth 1 newRelativeX = cos(m_azimuth * M_PI / 180 ); newRelativeY = sin(m_azimuth * M_PI / 180 ); newM = 1; // 1 is the current result of sqrt(pow(newRelativeX, 2) + pow(newRelativeY, 2)); } m_altitude = acos(newM); // In radians m_altitude *= (180 / M_PI); // To degrees qDebug() << "newM: " << newM; qDebug() << "new Inclination: " << m_altitude; // Set the base vector values lightVector.setX( newRelativeX ); lightVector.setY( newRelativeY ); lightVector.setZ( sin( m_altitude * M_PI / 180 ) ); m_moving = false; update(); qDebug() << lightVector; emit moved(); emit azimuthChanged(m_azimuth); emit altitudeChanged(m_altitude); emit orbitMoved(m_azimuth, m_altitude); }
void QmlBarometerAltimeterReading::calibrate(qreal altitude) { if (!qFuzzyCompare(altitude, m_altitude)) { qInfo() << "calibrate" << altitude; altitude -= m_altitude_offset; m_sea_level_pressure = m_pressure / qPow(1 - ALPHA*altitude, BETA); qInfo() << "sea_level_pressure" << m_sea_level_pressure; Q_EMIT pressureSeaLevelChanged(); m_altitude = altitude; Q_EMIT altitudeChanged(); // versus readingUpdate ? } }
void QmlBarometerAltimeterReading::readingUpdate() { qreal pressure = m_sensor->reading()->pressure(); if (m_pressure != pressure) { m_pressure = pressure; Q_EMIT pressureChanged(); m_altitude = pressure_to_altitude(pressure); Q_EMIT altitudeChanged(); } qreal temperature = m_sensor->reading()->temperature(); if (m_temperature != temperature) { m_temperature = temperature; Q_EMIT temperatureChanged(); } }
void QDeclarativeCoordinate::setCoordinate(const QGeoCoordinate &coordinate) { QGeoCoordinate previousCoordinate = m_coordinate; m_coordinate = coordinate; // Comparing two NotANumbers is false which is not wanted here if (coordinate.altitude() != previousCoordinate.altitude() && !(qIsNaN(coordinate.altitude()) && qIsNaN(previousCoordinate.altitude()))) { emit altitudeChanged(m_coordinate.altitude()); } if (coordinate.latitude() != previousCoordinate.latitude() && !(qIsNaN(coordinate.latitude()) && qIsNaN(previousCoordinate.latitude()))) { emit latitudeChanged(m_coordinate.latitude()); } if (coordinate.longitude() != previousCoordinate.longitude() && !(qIsNaN(coordinate.longitude()) && qIsNaN(previousCoordinate.longitude()))) { emit longitudeChanged(m_coordinate.longitude()); } }