基於osgearth物件使用osgearth::util::controls::imagecontrol新增指北針,**如下:
osg::ref_ptrpcompass = osgdb::readimagefile(「指北針影象」
);if (pcompass.valid())
osg::ref_ptrpcs = osgearth::util::controls::controlcanvas::getorcreate(m_mainviewer);
m_imagecontrol = new osgearth::util::controls::imagecontrol(pcompass.get());
m_imagecontrol->sethorizalign(osgearth::util::controls::control::align_right);
m_imagecontrol->setvertalign(osgearth::util::controls::control::align_top);
m_imagecontrol->setfixsizeforrotation(true);//指北針旋轉過程中保持尺寸不變
m_imagecontrol->setmargin(osgearth::util::gutter(40,40,40,40));
pcs->addcontrol(m_imagecontrol.get());
繼承osgga::guieventhandler實現自定義類,通過m_mainviewer->addeventhandler(),當viewpoint發生變化時,使用m_imagecontrol->setrotation()旋轉指北針。
Osgearth2 10之新增三維模型
通過modelnode新增三維模型到地圖,實現如下 m annogroup new osg group m mapnode addchild m annogroup osg ref ptrpplanenode osgdb readnodefile m planepath m planepath是三維...
OsgEarth下給地球新增網格 鷹眼
根據世界座標去經緯度座標 osg vec3d getlonlat const osg vec3d worldpos private 顯示的區域 int m ix int m iy int m iwidth int m iheight hud相機 osg ref ptrm phudcamera gra...
為OSG新增乙個數字球 非OSGEarth方式
中,在空曠的世界中只新增了cow,顯得空曠,由於最近在做osgearth相關的開發,於是想著在osg中怎麼來新增乙個數字球呢?於是,來研究了下。發現,比我想象中的簡單很多。思路是 在osg中新增乙個球,這個用osg sphere實現 給新添的球設定乙個半徑為地球的半徑,具體的就是wgs84座標的參考...