说明
osgearth 原有漫游器EarthManipulator 不支持此功能,所以需要修改此漫游器代码,其中主要原理就是在缩放的同时也要改变当前漫游器中心焦点的位置,从而保持鼠标指定点的位置缩放是不改变。
核心代码修改部分
EarthManipulator 的头文件zoom方法添加参数view
/**
* Zoom the camera using deltas (dy only)
*/
virtual void zoom( double dx, double dy, osg::View* view);
EarthManipulator 的cpp 文件zoom方法修改
void
EarthManipulator::zoom( double dx, double dy, osg::View* view)
{
// in normal (non-tethered mode) we need a valid zoom point.

本文介绍如何修改osgEarth的EarthManipulator漫游器,使其支持在缩放时保持鼠标指定点位置不变的功能。通过核心代码修改,实现缩放过程中中心焦点位置的动态调整。
最低0.47元/天 解锁文章
925

被折叠的 条评论
为什么被折叠?



