Hi, everybody,

I used viewer->setUpViewerAsEmbeddedInWindow way as Robert suggested to embed 
an OSG window in OpenGL context.

Then I tried to setup Manipulator like Trackball,
I did some code like this:

osg::observer_ptr<osgViewer::GraphicsWindow> gw = 
viewer->setUpViewerAsEmbeddedInWindow(...)

if(event->button() == Qt::LeftButton) 
        button = 0;
else if(event->button() == Qt::RightButton)
        button = 2;
In mousePressEvent:
if(gw->valid() && isInRange(event->x(), height - event->y()))
        (gw->getEventQueue())->mouseButtonPress(event->x(), event->y(), button 
+ 1);

In mouseReleaseEvent:
        if(gw->valid() && isInRange(event->x(), height - event->y()))
                (gw->getEventQueue())->mouseButtonPress(event->x(), event->y(), 
button + 1);

isInRange Function judge if event happen in the OSG window.

Problem is when I only use left key, or only use right key, no problem at all. 

But if I switch once, then it just pan the whole scene, both keys lost their 
own ability. 

anybody has any idea about it?
Thank you.

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=9097#9097





_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to