查看: 1505|回复: 4

如何实现沿路径漫游的退出?

[复制链接]

该用户从未签到

发表于 2010-9-3 16:52:45 | 显示全部楼层 |阅读模式
我在程序中定义了两条自动漫游的路径:
void Czjtosg001View::OnPath1()
{
// TODO: 在此添加命令处理程序代码
osg::ref_ptr<osgGA::AnimationPathManipulator>apm = new osgGA::AnimationPathManipulator("saved_animation1.path");
mOSG->getViewer()->setCameraManipulator(apm.get());

}
void Czjtosg001View::OnPath2()
{
// TODO: 在此添加命令处理程序代码
osg::ref_ptr<osgGA::AnimationPathManipulator>apm = new osgGA::AnimationPathManipulator("saved_animation2.path");
mOSG->getViewer()->setCameraManipulator(apm.get());

}
每次触发后 路径漫游都是循环一遍又一遍的自动漫游

现在我想设置一个按键 能够退出路径自动的漫游,回到可以用鼠标键盘来交互操作的状态。

void Czjtosg001View::OnExit()
{
// TODO: 在此添加命令处理程序代码
  
}这个函数该如何来写啊??

该用户从未签到

发表于 2010-9-3 17:18:47 | 显示全部楼层
我想您可以派生AnimationPathManipulator并在重写的虚函数中实现这样的功能

该用户从未签到

 楼主| 发表于 2010-9-3 17:27:45 | 显示全部楼层
太感谢“黄河水”了!
这个问题解决了!

该用户从未签到

发表于 2011-7-20 11:06:20 | 显示全部楼层
回复 3# Michaelzha


    我现在也遇到了同样的问题,请问你是怎么解决的呢?期待你的回答!

该用户从未签到

发表于 2011-7-20 23:31:56 | 显示全部楼层
可以参照海军教程里的代码!那里就有相机跟踪NOde,同时还有切换到普通的TrackballManipulator模式下造作的例子!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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