查看: 1649|回复: 11

关于操作器

[复制链接]

该用户从未签到

发表于 2012-12-21 14:37:44 | 显示全部楼层 |阅读模式
我自己编写了两个操作器 想通过按键来回切换  目前想法是 先setCameraManipulator其中一个 然后在按键响应里 set另一个 但是不知道怎么获得viewer 请指教 这种方法可行么? 怎么获得? 如果不可行 应该怎么实现? 谢谢!

该用户从未签到

发表于 2012-12-21 16:04:49 | 显示全部楼层
从写 handle( osgGA::GUIEventAdapter  osgGA::GUIActionAdapter aa )  osgViewer::Viewer dynamic_cast<&aa>

该用户从未签到

发表于 2012-12-21 19:06:43 | 显示全部楼层
干嘛要这样 直接定义一个KeySwitchMatrixManipulator 然后。。。

该用户从未签到

 楼主| 发表于 2012-12-21 21:06:51 | 显示全部楼层
liuzhiyu123 发表于 2012-12-21 16:04
从写 handle( osgGA::GUIEventAdapter  osgGA::GUIActionAdapter aa )  osgViewer::Viewer dynamic_cast

感谢回答 学习了 哈哈

该用户从未签到

 楼主| 发表于 2012-12-21 21:07:28 | 显示全部楼层
buaahc 发表于 2012-12-21 19:06
干嘛要这样 直接定义一个KeySwitchMatrixManipulator 然后。。。

记得好像是有个管理操作器的 就是忘了是什么了 非常感谢! 我去试试!

该用户从未签到

 楼主| 发表于 2012-12-21 21:44:19 | 显示全部楼层
一大波蓝猫 发表于 2012-12-21 21:07
记得好像是有个管理操作器的 就是忘了是什么了 非常感谢! 我去试试!

用这个的话 是在main里定义?
osg::ref_ptr<osgGA::KeySwitchMatrixManipulator> keyswitchManipulator = new osgGA::KeySwitchMatrixManipulator;
然后把所有的漫游器加进去
km->addMatrixManipulator( '快捷键', "名字", 漫游器);
然后运行之后 我直接按快捷键就能自动切换?

该用户从未签到

发表于 2012-12-21 21:47:37 | 显示全部楼层
对的

该用户从未签到

 楼主| 发表于 2012-12-22 12:18:39 | 显示全部楼层
buaahc 发表于 2012-12-21 21:47
对的

谢谢 确实可以切换了 不过有些问题  切换之后 初始位置不对了。。

该用户从未签到

发表于 2012-12-22 15:07:16 | 显示全部楼层
一大波蓝猫 发表于 2012-12-22 12:18
谢谢 确实可以切换了 不过有些问题  切换之后 初始位置不对了。。

你写的两个操作器之间如果没有联系,从一个切换到另一个是连不上的,意思是两个是独立工作的

该用户从未签到

 楼主| 发表于 2012-12-23 11:13:12 | 显示全部楼层
buaahc 发表于 2012-12-22 15:07
你写的两个操作器之间如果没有联系,从一个切换到另一个是连不上的,意思是两个是独立工作的

明白 不过我的这个问题是 如果 我不用切换 直接setCameraManipulator(A)  初始位置是我自己设定的一个位置 然后用切换这个切到A操作器的时候 按空格的初始位置 就不一样了  

该用户从未签到

发表于 2012-12-23 14:31:11 | 显示全部楼层
哦 明白你的意思了 ,那只有设置断点调试,看看按下空格调用的函数执行情况,无他。。。goodluck~

该用户从未签到

 楼主| 发表于 2012-12-23 17:56:07 | 显示全部楼层
buaahc 发表于 2012-12-23 14:31
哦 明白你的意思了 ,那只有设置断点调试,看看按下空格调用的函数执行情况,无他。。。goodluck~

嗯 谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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