void TestSseAstro::testSunPosition()
{
   cout << "testSunPosition" << endl;
   time_t positionTime(1103665980);  // Tue Dec 21 21:53:00 GMT 2004

   double raRads;
   double decRads;
   SseAstro::sunPosition(positionTime, &raRads, &decRads);

   cout << "calculated sun pos: " << endl;
   printRaRadsInHms(raRads);
   printDecRadsInDms(decRads);

   // expected value from JPL Horizons
   // geocentric observer
   // 2004-Dec-21 21:53 UT, RA (hms)=18 01 25.93, Dec (dms) = -23 26 17.5

   double expectedSunRaRads(SseAstro::hoursToRadians(
      SseAstro::hoursToDecimal(18, 01, 25.93)));
    
   double expectedSunDecRads(SseAstro::degreesToRadians(
      SseAstro::degreesToDecimal('-',-23,26,17.5)));

   cout << "expected sun pos: " << endl;
   printRaRadsInHms(expectedSunRaRads);
   printDecRadsInDms(expectedSunDecRads);
                                                        
   //double tolRads(1e-4);  // 1e-4 rads = ~21 arcsecs
   double tolRads(2e-3);  // 1e-3 rads = ~220 arcsecs

   assertDoublesEqual(expectedSunRaRads, raRads, tolRads);
   assertDoublesEqual(expectedSunDecRads, decRads, tolRads);
}
Exemple #2
0
void PlayerWidget::getPlayInfo()
{
    qint64 duration = player->duration();
    qint64 position = player->position();
    int percent = position*1000/duration;
    progressBar->setValue(percent);

    QTime durationTime(0,0,0,0);
    durationTime = durationTime.addMSecs(duration);
    QString t1 = durationTime.toString("mm:ss");

    QTime positionTime(0,0,0,0);
    positionTime = positionTime.addMSecs(position);
    QString t2 = positionTime.toString("mm:ss");

    durationLbl->setText(t2+"|"+t1);
}
Exemple #3
0
void Player::tick(qint64 time)
{
    QTime displayTime(0, (time / 60000) % 60, (time / 1000) % 60);

    m_timeLcd->display(displayTime.toString("mm:ss"));

    if(m_mediaPlayer->duration()!=0)
    {
       // qDebug() << "time:" << time << m_seekSlider->maximum();
        emit positionTime(time);
    }
    else
    {
        next();
    }
    //  out << mediaObject->totalTime() << " " << time << endl;
    //	if(mediaObject->totalTime()==time)
    //		next();
}
void TestSseAstro::testMoonPosition()
{
   cout << "testMoonPosition" << endl;
   time_t positionTime(1165011780); // 2006-12-01 22:23:00 UTC

   /*
     JPL Horizons, geocentric
     2006-Dec-01 22:23 UTC, RA(hms) = 01 39 51.80 dec (dms) = +13 32 45.1,
   */

   double raRads;
   double decRads;
   SseAstro::moonPosition(positionTime, &raRads, &decRads);

   cout << "calculated moon pos: " << endl;
   printRaRadsInHms(raRads);
   printDecRadsInDms(decRads);

   double expectedMoonRaRads(SseAstro::hoursToRadians(
      SseAstro::hoursToDecimal(01, 39, 51.80)));
    
   double expectedMoonDecRads(SseAstro::degreesToRadians(
      SseAstro::degreesToDecimal(PlusSign,13,32,45.1)));

   cout << "expected moon pos: " << endl;
   printRaRadsInHms(expectedMoonRaRads);
   printDecRadsInDms(expectedMoonDecRads);

   //double tolRads(2e-4);  // 2e-4 rads = ~41 arcsecs
   //double tolRads(0.002);  // 0.002 rads = ~410 arcsecs
   double tolRads(0.003);  // 0.003 rads = 10 arcmin

   assertDoublesEqual(expectedMoonRaRads, raRads, tolRads);
   assertDoublesEqual(expectedMoonDecRads, decRads, tolRads);
    
   // try 5 years later
   positionTime=1322880000;  // 2011-12-03 02:40:00 UTC

   /*
     JPL Horizons position (geocentric)
     2011-Dec-03 02:40 UT, RA (hms) = 23 08 24.93  dec (dms) = +00 12 07.6
   */

   SseAstro::moonPosition(positionTime, &raRads, &decRads);

   cout << "calculated moon pos: " << endl;
   printRaRadsInHms(raRads);
   printDecRadsInDms(decRads);

   expectedMoonRaRads = SseAstro::hoursToRadians(
      SseAstro::hoursToDecimal(23, 8, 24.93));
    
   expectedMoonDecRads = SseAstro::degreesToRadians(
      SseAstro::degreesToDecimal(PlusSign,00,12,7.6));

   cout << "expected moon pos: " << endl;
   printRaRadsInHms(expectedMoonRaRads);
   printDecRadsInDms(expectedMoonDecRads);

   assertDoublesEqual(expectedMoonRaRads, raRads, tolRads);
   assertDoublesEqual(expectedMoonDecRads, decRads, tolRads);
}