Osgearth2 10之新增指北針

2021-10-23 02:32:54 字數 817 閱讀 9051

基於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座標的參考...