admin管理员组文章数量:1794759
osgearth
- 功能
设置时间改变太阳和星空的位置,显示当前太阳和月球的星下点;
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
版权声明:本文标题:osgearth 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1696376023a328294.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论