HI Paul,

Which version of the OSG are you using?  There was a bug in OSG-3.2.0 that
caused event handling problems with some combination of CompositeView usage.

A fix for this issue was merged with svn/trunk and the OSG-3.2 branch, so
OSG-3.2.1 shouldn't exhibit this problem.

Robert.

On 9 September 2014 21:51, Paul <[email protected]> wrote:

> I'm using the CompositeViewer to create a window of a scene. I then add a
> viewport of another scene on top. I'm having problems with events.
>
> If I created the the viewport window first, mouse events work for both,
> but keyboard events only only work for the mainwindow.
>
> Code:
>
> osgViewer::CompositeViewer* viewer = new osgViewer::CompositeViewer;
>
> osg::ref_ptr<osg::GraphicsContext::Traits> traits = new
> osg::GraphicsContext::Traits;
> traits->x = 100;
> traits->y = 100;
> traits->width = 1000;
> traits->height = 800;
> traits->windowDecoration = true;
> traits->doubleBuffer = true;
>
> osg::ref_ptr<osg::GraphicsContext> gc =
> osg::GraphicsContext::createGraphicsContext(traits.get());
>
> //PIP window
> {
> osgViewer::View* view = new osgViewer::View;
> view->getCamera()->setRenderOrder(osg::Camera::POST_RENDER,1);
> viewer->addView(view);
> view->setSceneData(osgDB::readNodeFile("cessnafire.osgt"));
> view->getCamera()->setViewport(new osg::Viewport(traits->width/2,0,
> traits->width/2, traits->height/2));
> view->getCamera()->setGraphicsContext(gc.get());
> view->setCameraManipulator(new osgGA::TrackballManipulator);
> }
>
> //Main window
> {
> osgViewer::View* view = new osgViewer::View;
> viewer->addView(view);
> view->setSceneData(osgDB::readNodeFile("cessnafire.osgt"));
> view->getCamera()->setViewport(new osg::Viewport(0, 0, traits->width,
> traits->height));
> view->getCamera()->setGraphicsContext(gc.get());
> view->setCameraManipulator(new osgGA::TrackballManipulator);
> }
>
> return viewer->run();
>
>
>
>
>
> If i create the mainwindow first, keyboard events work for both, but mouse
> events only work on the mainwindow.
>
> Code:
>
> //Main window
> {
> osgViewer::View* view = new osgViewer::View;
> viewer->addView(view);
> view->setSceneData(osgDB::readNodeFile("cessnafire.osgt"));
> view->getCamera()->setViewport(new osg::Viewport(0, 0, traits->width,
> traits->height));
> view->getCamera()->setGraphicsContext(gc.get());
> view->setCameraManipulator(new osgGA::TrackballManipulator);
> }
>
> //PIP window
> {
> osgViewer::View* view = new osgViewer::View;
> viewer->addView(view);
> view->setSceneData(osgDB::readNodeFile("cessnafire.osgt"));
> view->getCamera()->setViewport(new osg::Viewport(traits->width/2,0,
> traits->width/2, traits->height/2));
> view->getCamera()->setGraphicsContext(gc.get());
> view->setCameraManipulator(new osgGA::TrackballManipulator);
> }
>
>
>
>
> ------------------
> Read this topic online here:
> http://forum.openscenegraph.org/viewtopic.php?p=60995#60995
>
>
>
>
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to