osgGA::EventQueue
1、在osgViewer::View创建时创建。
osgViewer/View.cpp
View::View():
_fusionDistanceMode(osgUtil::SceneView::PROPORTIONAL_TO_SCREEN_DISTANCE),
_fusionDistanceValue(1.0f)
{
// OSG_NOTICE<<"Constructing osgViewer::View"<<std::endl;
_startTick = 0;
_frameStamp = new osg::FrameStamp;
_frameStamp->setFrameNumber(0);
_frameStamp->setReferenceTime(0);
_frameStamp->setSimulationTime(0);
_scene = new Scene;
// make sure View is safe to reference multi-threaded.
setThreadSafeRefUnref(true);
// need to attach a Renderer to the master camera which has been default constructed
getCamera()->setRenderer(createRenderer(getCamera()));
setEventQueue(new osgGA::EventQueue);
setStats(new osg::Stats("View"));
}
2、在GraphicsWindow创建时
osgViewer/GraphicsWindow
GraphicsWindow() { _eventQueue = new osgGA::EventQueue; _eventQueue->setGraphicsContext(this); }