osgGA.EventVisitor 是 OpenSceneGraph 中的一个访问器类,用于遍历场景中所有与时间相关的事件和动作,这些事件和动作包括键盘输入、鼠标输入、拖放、摄像机控制、动画更新等。该类是所有事件访问器的基类。
osg::Referenced → osg::NodeVisitor → osgGA::EventVisitor
EventVisitor();
EventVisitor(const EventVisitor& ev, const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY);
virtual ~EventVisitor();
void performEvent(osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa);
virtual void handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa);
virtual void reset();
构造函数。
复制构造函数。
虚析构函数。
执行事件。
处理事件的虚函数。可根据需要重载该函数,以实现特定的事件响应。
重置函数,用于清除 Visitor 状态并重新开始遍历。
osgGA::GUIEventHandler osgGA::TrackballManipulator osgGA::TerrainManipulator osgGA::FlightManipulator osgGA::DriveManipulator osgGA::KeySwitchMatrixManipulator
osgViewer::Viewer viewer;
osg::ref_ptr<osgGA::EventVisitor> eventVisitor = new osgGA::EventVisitor;
while(!viewer.done())
{
viewer.eventTraversal(*eventVisitor);
viewer.updateTraversal();
viewer.render();
}