admin管理员组

文章数量:1794759

osgearth

osgearth

  1. 功能
    设置时间改变太阳和星空的位置,显示当前太阳和月球的星下点;
    2.代码解析

设置时间

 SkyNode* sky;sky = osgEarth::findTopMostNodeOfType<SkyNode>(node);sky->setDateTime(DateTime(t));

获取星下点

//获取星历表ephemeris=sky->getEphemeris();if ( ephemeris ){const DateTime& dt = sky->getDateTime();CelestialBody sun = ephemeris->getSunPosition(dt);GeoPoint sunPos;sunPos.fromWorld(mapNode->getMapSRS(), sun.geocentric);sunPos.alt() = 0.0;app.sunPos->setPosition( sunPos );app.sunPos->setText( "Sun\n" + llf.format(sunPos) );CelestialBody moon = ephemeris->getMoonPosition(dt);GeoPoint moonPos;moonPos.fromWorld(mapNode->getMapSRS(), moon.geocentric);moonPos.alt() = 0.0;app.moonPos->setPosition( moonPos );app.moonPos->setText( "Moon\n" + llf.format(moonPos) );}

本文标签: osgearth