Example #1
0
void SyncRunFileLog::logLap(const QString &name)
{
    _out << "#=#=#=#=# " << name << " " << dateTimeStr(QDateTime::currentDateTimeUtc())
         << " (last step: " << _lapDuration.restart() << " msec"
         << ", total: " << _totalDuration.elapsed() << " msec)" << endl;
}
Example #2
0
QString dateTimeStr(qint64 nTime)
{
    return dateTimeStr(QDateTime::fromTime_t((qint32)nTime));
}
bool EphemerisModel_readLocalData(osg::Object& obj, osgDB::Input& fr)
{
    bool itAdvanced = false;
    osgEphemeris::EphemerisModel &em = static_cast<osgEphemeris::EphemerisModel &>(obj);

    if( fr[0].matchWord("Latitude")) 
    {
        ++fr;
        double latitude = atof( fr[0].getStr() );
        ++fr;
        em.setLatitude( latitude );
        itAdvanced = true;
    }

    if( fr[0].matchWord("Longitude")) 
    {
        ++fr;
        double longitude = atof( fr[0].getStr() );
        ++fr;
        em.setLongitude( longitude );
        itAdvanced = true;
    }

    if( fr[0].matchWord("DateTime" ))
    {
        ++fr;
        std::string dateTimeStr(fr[0].getStr());
        ++fr;
        int year  = 0, 
            month = 0, 
            day   = 0, 
            hour  = 0, 
            min   = 0, 
            sec   = 0;

        if( dateTimeStr.length() >= 4 )
            year  = atoi( dateTimeStr.substr(0,4).c_str());
        if( dateTimeStr.length() >= 6 )
            month = atoi( dateTimeStr.substr(4,2).c_str());
        if( dateTimeStr.length() >= 8 )
            day   = atoi( dateTimeStr.substr(6,2).c_str());
        if( dateTimeStr.length() >= 10 )
            hour  = atoi( dateTimeStr.substr(8,2).c_str());
        if( dateTimeStr.length() >= 12 )
            min   = atoi( dateTimeStr.substr(10,2).c_str());
        if( dateTimeStr.length() >= 14 )
            sec   = atoi( dateTimeStr.substr(12,2).c_str());

        em.setDateTime( osgEphemeris::DateTime( 
                    year, month, day,
                    hour, min, sec ));

        itAdvanced = true;
    }

    if( fr[0].matchWord("SkyDomeRadius")) 
    {
        ++fr;
        double radius = atof( fr[0].getStr() );
        ++fr;
        em.setSkyDomeRadius( radius );
        itAdvanced = true;
    }

    if( fr[0].matchWord("SkyDomeCenter")) 
    {
        ++fr;
        double x = atof( fr[0].getStr() );
        double y = atof( fr[1].getStr() );
        double z = atof( fr[2].getStr() );
        ++fr; ++fr; ++fr;
        
        em.setSkyDomeCenter( osg::Vec3(x,y,z) );
        itAdvanced = true;
    }

    if( fr[0].matchWord( "AutoDateTime" ))
    {
        ++fr;
#ifdef _MSC_VER
		bool flag = (!_stricmp( fr[0].getStr(), "True" )) || atoi(fr[0].getStr());
#else
        bool flag = (!strcasecmp( fr[0].getStr(), "True" )) || atoi(fr[0].getStr());
#endif
        em.setAutoDateTime( flag );
        ++fr;
        itAdvanced = true;
    }

    if( fr[0].matchWord( "MirrorSouthernHemisphere" ))
    {
        ++fr;
#ifdef _MSC_VER
		bool flag = (!_stricmp( fr[0].getStr(), "True" )) || atoi(fr[0].getStr());
#else
        bool flag = (!strcasecmp( fr[0].getStr(), "True" )) || atoi(fr[0].getStr());
#endif
        em.setSkyDomeMirrorSouthernHemisphere( flag );
        ++fr;
        itAdvanced = true;
    }

    if( fr[0].matchWord( "UseSouthernHemisphere" ))
    {
        ++fr;
#ifdef _MSC_VER
		bool flag = (!_stricmp( fr[0].getStr(), "True" )) || atoi(fr[0].getStr());
#else
        bool flag = (!strcasecmp( fr[0].getStr(), "True" )) || atoi(fr[0].getStr());
#endif
        em.setSkyDomeUseSouthernHemisphere( flag );
        ++fr;
        itAdvanced = true;
    }

    if( fr[0].matchWord( "MoveWithEyePoint" ))
    {
        ++fr;
#ifdef _MSC_VER
        bool flag = (!_stricmp( fr[0].getStr(), "True" )) || atoi(fr[0].getStr());
#else
        bool flag = (!strcasecmp( fr[0].getStr(), "True" )) || atoi(fr[0].getStr());
#endif
       em.setMoveWithEyePoint( flag );
        ++fr;
        itAdvanced = true;
    }

    if( fr[0].matchWord( "SunLightNumber" ))
    {
        ++fr;
        int lightNum = atoi( fr[0].getStr() );
        em.setSunLightNum( lightNum );
        ++fr;
        itAdvanced = true;
    }
    if( fr[0].matchWord( "UpdateCallback" ))
    {
        ++fr;
        std::string callbackName(fr[0].getStr());
        std::string tlibName = callbackName.substr( 0, callbackName.find_first_of(":"));
        std::string procName = callbackName.substr( callbackName.find_last_of(":")+1);
        std::string libName = osgDB::findLibraryFile( tlibName );
         osgDB::DynamicLibrary::loadLibrary( libName );
         osgEphemeris::EphemerisUpdateCallback *cb = 
             osgEphemeris::EphemerisUpdateCallbackRegistry::instance()->getUpdateCallback( procName );
         if( cb != 0L )
             em.setEphemerisUpdateCallback( cb );

        ++fr;
        itAdvanced = true;
    }
    if( fr[0].matchWord( "SunFudgeScale" ))
    {
        ++fr;
        double sunFudgeScale = atof( fr[0].getStr() );
        em.setSunFudgeScale( sunFudgeScale );
        ++fr;
        itAdvanced = true;
    }

    if( fr[0].matchWord( "MoonFudgeScale" ))
    {
        ++fr;
        double moonFudgeScale = atof( fr[0].getStr() );
        em.setMoonFudgeScale( moonFudgeScale );
        ++fr;
        itAdvanced = true;
    }


    return itAdvanced;
}