|
- viewer->setSceneData(gp); //把根节点加入场景中
-
- viewer->realize();
-
- while(!viewer->done())
- {
-
- viewer->getCamera()->setViewMatrixAsLookAt(osg::Vec3f(0,-40,0),osg::Vec3f(0,0,0),osg::Vec3f(0,0,1));
- viewer->frame();
- }
- return 0 ;
复制代码 我想按下键盘上的"1"、“2”、“3”将同一个场景切换到不同视点(该场景添加了点选物体某个部位触发事件class CPickHandler:public osgGA::GUIEventHandler,由于场景较大,为方便进行这些部位的点击,需要通过键盘触发,快速到达便于观察该部位的视点,然后点选该部位触发事件,免去鼠标缩放,拖拽物体到达指定位置的漫长过程)
现遇到困难如下:
如上加入该设置视点位置代码后,初始视点是改变了,可是鼠标不能对场景进行拖拽平移等操作了,这是什么原因,该如何解决?(如果用viewer->run()就又可以用鼠标拖拽并点选场景触发响应事件了),请各位前辈能给予解答,已经纠结好久了,晚辈不胜感激啊!谢谢各位了
|
|