查看: 1401|回复: 1

osgearth如何定位到某个模型对方或定位到某个经纬度范围

[复制链接]
  • TA的每日心情
    开心
    2020-3-20 17:50
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-3-5 11:38:25 | 显示全部楼层 |阅读模式
    1 osgearth如何定位到某个模型对方
       当前办法是获取模型经纬度之后定位,这样有时候模型大小有关总是不准

    2定位到某个经纬度范围
       现在需要解决这个问题,如同其他定位一样都能实现(西南 东北)的地理经纬度范围来实现精准定位
    mp->setViewpoint(Viewpoint("Home", Jd, Wd, Gd, 30.0, -60, 45000), duration)    这个不准
  • TA的每日心情
    开心
    2020-3-20 17:50
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2020-3-5 12:30:01 | 显示全部楼层
    本帖最后由 liyihongcug 于 2020-3-6 09:40 编辑

    void setTetherNode(osg::Node* node, double duration_s =0.0);  这个方法把对象锁住
    EarthManipulator* em = new EarthManipulator();
        viewer.setCameraManipulator( em );

        em->setTetherNode( app.geo );

        osgEarth::Viewpoint vp;
        vp.setNode( app.geo );
        vp.heading()->set( -45.0, Units:EGREES );
        vp.pitch()->set( -20.0, Units::DEGREES );
        vp.range()->set( model->getBound().radius()*10.0, Units::METERS );
        em->setViewpoint( vp );


    基本搞定, 不使用setTetherNode viewer->getCameraManipulator()
    mp->getViewpoint();
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    OSG中国官方论坛-有您OSG在中国才更好

    网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

    联系我们

    • 工作时间:09:00--18:00
    • 反馈邮箱:1315785073@qq.com
    快速回复 返回顶部 返回列表