[osg-users] osgQt::GLWidget Scroll Bug

OpenSceneGraph Users osg-users at lists.openscenegraph.org
Mon Feb 17 10:07:58 PST 2020


Hi Scott,

I don't know where the issue lies, but most likely it's in the windowing 
integration side rather than the core OSG as it doesn't look like you'll be 
relying on any of the OSG's native windowing/event handling.  There might 
be an issue with osgQt, but I'm not the author of maintainer for it so will 
have to defer to others on this.  Or it could be an issue with osgEarth.

The best I can suggest is that you build the OSG, osgEarth, osgQt and your 
application in debug mode, then step through the code in a debugger to see 
where the control flow passes when the wheelEvent happens.

Cheers,
Robert.

On Thursday, 13 February 2020 07:58:17 UTC, Scott Shaw wrote:
>
> I think I'm running into a bug in OSG.  I've implemented my own versions 
> of mouse events in a sub-classed osgQt::GLWidget so I can redraw the 3D 
> view only when necessary:
>
> void Osg3dViewCM::mousePressEvent(QMouseEvent* event)
> {
>     m_mouseDown = true;
>
>     if (_cameraManipulator.valid())
>     {
>         osgQt::GLWidget::mousePressEvent(event);
>
>         frame();
>     }
> }
>
> void Osg3dViewCM::mouseReleaseEvent(QMouseEvent* event)
> {
>     m_mouseDown = false;
>
>     if (_cameraManipulator.valid())
>     {
>         osgQt::GLWidget::mouseReleaseEvent(event);
>
>         frame();
>     }
>
>     emit cameraChanged(_cameraManipulator->getInverseMatrix());
> }
>
> void Osg3dViewCM::mouseMoveEvent(QMouseEvent* event)
> {
>     if (_cameraManipulator.valid() && m_mouseDown)
>     {
>         osgQt::GLWidget::mouseMoveEvent(event);
>
>         frame();
>     }
> }
>
> void Osg3dViewCM::wheelEvent(QWheelEvent *event)
> {
>     if (_cameraManipulator.valid())
>     {
>         osgQt::GLWidget::wheelEvent(event);
>
>         frame();
>     }
> }
>
> I'm using a default osgEarth::Util::EarthManipulator and clicking and 
> dragging on the view updates it without an issue rotating or panning 
> properly.  For some reason, when I scroll the wheel, the frame function 
> doesn't update the view.  If I click on the view after scrolling, it gets 
> updated with the zoom operation applied.  Am I missing something?
>
> Thank you,
> Scott
>

-- 
You received this message because you are subscribed to the Google Groups "OpenSceneGraph Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to osg-users+unsubscribe at googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/osg-users/a280cec0-b302-44e1-8a4d-b27dedc82164%40googlegroups.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20200217/4e025386/attachment.html>


More information about the osg-users mailing list