Thanks for your reply Robert.  I did end up stepping through and turns out 
it is an issue with the EarthManipulator setting a duration for the 
viewpoint change.  I'll post on the osgEarth forum.

Thanks again,
Scott

On Monday, February 17, 2020 at 1:07:59 PM UTC-5, Robert Osfield wrote:
>
> 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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/osg-users/40569c26-d8a0-4472-9547-bce50a5492f7%40googlegroups.com.
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to