osgengine.cpp:277:14: error: no member named 'setEventQueueMode' in 'osgViewer::Viewer'
时间: 2023-07-29 10:06:06 浏览: 78
OSG.rar_OpenSceneGraph_osg_osg视频教程_site:www.pudn.com
这个错误是因为`setEventQueueMode`函数是在OSG 3.6.5版本中引入的,如果您使用的是较旧的版本,该函数可能不可用。您可以尝试使用以下代码来替代`setEventQueueMode`函数:
```cpp
osg::ref_ptr<osgViewer::GraphicsWindow> gw =
dynamic_cast<osgViewer::GraphicsWindow*>(viewer->getCamera()->getGraphicsContext());
if (gw.valid())
{
gw->getEventQueue()->getCurrentEventState()->setWindowRectangle(0, 0, width, height);
gw->getEventQueue()->getCurrentEventState()->setMouseYOrientation(osgGA::GUIEventAdapter::Y_INCREASING_DOWNWARDS);
}
```
这段代码将获取当前的事件队列,并设置窗口矩形和鼠标方向。请注意,这段代码需要您的`viewer`对象已经创建了一个合适的图形窗口。如果您的程序中没有创建图形窗口,您需要先创建一个图形窗口,并将其设置为`viewer`对象的场景数据。
阅读全文