GillesDebunne / libQGLViewer

libQGLViewer is an open source C++ library based on Qt that eases the creation of OpenGL 3D viewers.
Other
241 stars 94 forks source link

How to stop spinning automatically? #53

Closed Joyfulmika closed 1 year ago

Joyfulmika commented 3 years ago

Hi, Thanks for your library. I found out that in QGLViewer if I let the mouse click, move and release quickly, the view will spin automatically and endlessly, until I click again. It's normal but not useful to me. In other 3DView library like OSG, we can use 'setAllowThrow()' method to stop spinning when the mouse releases. I read some documents but didn't find out method like that. So I wonder what code would do the same thing?

GillesDebunne commented 3 years ago

Look at spinningSensitivity

http://libqglviewer.com/refManual/classqglviewer_1_1ManipulatedFrame.html#a5753c3f2e0b43a6d9214f08ba3f05b69

On Fri, Apr 23, 2021 at 9:20 AM Mika Shaw @.***> wrote:

Hi, Thanks for your library. I found out that in QGLViewer if I let the mouse click, move and release quickly, the view will spin automatically and endlessly, until I click again. It's normal but not useful to me. In other 3DView library like OSG, we can use 'setAllowThrow()' method to stop spinning when the mouse releases. I read some documents but didn't find out method like that. So I wonder what code would do the same thing?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/GillesDebunne/libQGLViewer/issues/53, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAOPFGWOW3O6B7B2P5BWJT3TKENUTANCNFSM43OCITKA .

Joyfulmika commented 3 years ago

Look at spinningSensitivity http://libqglviewer.com/refManual/classqglviewer_1_1ManipulatedFrame.html#a5753c3f2e0b43a6d9214f08ba3f05b69 On Fri, Apr 23, 2021 at 9:20 AM Mika Shaw @.***> wrote: Hi, Thanks for your library. I found out that in QGLViewer if I let the mouse click, move and release quickly, the view will spin automatically and endlessly, until I click again. It's normal but not useful to me. In other 3DView library like OSG, we can use 'setAllowThrow()' method to stop spinning when the mouse releases. I read some documents but didn't find out method like that. So I wonder what code would do the same thing? — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#53>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAOPFGWOW3O6B7B2P5BWJT3TKENUTANCNFSM43OCITKA .

Thanks for your reply. It is said that set the spinningsensitivity to 100 would forbid the spin. And this is how I set it in init(): qglviewer::ManipulatedFrame* m = new qglviewer::ManipulatedFrame(); m->setSpinningSensitivity(qreal(100.0)); I tested and found that the spinning was still the same as before while the sensitivity is successfully set as 100. Is there anything wrong I did?

GillesDebunne commented 3 years ago

Hello,

You need to change the sensitivity of the manipulatedFrame that is used by the camera

myViewer->camera()->frame()->setSpinningSensitivity http://libqglviewer.com/refManual/classqglviewer_1_1ManipulatedFrame.html#a96662e9b865bc8b689a5a49e6fc2ab02 (100)

On Sun, Apr 25, 2021 at 5:39 AM Mika Shaw @.***> wrote:

Look at spinningSensitivity http://libqglviewer.com/refManual/classqglviewer_1_1ManipulatedFrame.html#a5753c3f2e0b43a6d9214f08ba3f05b69 … <#m3869893025509273380> On Fri, Apr 23, 2021 at 9:20 AM Mika Shaw @.***> wrote: Hi, Thanks for your library. I found out that in QGLViewer if I let the mouse click, move and release quickly, the view will spin automatically and endlessly, until I click again. It's normal but not useful to me. In other 3DView library like OSG, we can use 'setAllowThrow()' method to stop spinning when the mouse releases. I read some documents but didn't find out method like that. So I wonder what code would do the same thing? — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#53 https://github.com/GillesDebunne/libQGLViewer/issues/53>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAOPFGWOW3O6B7B2P5BWJT3TKENUTANCNFSM43OCITKA .

Thanks for your reply. It is said that set the spinningsensitivity to 100 would forbid the spin. And this is how I set it in init(): qglviewer::ManipulatedFrame* m = new qglviewer::ManipulatedFrame(); m->setSpinningSensitivity(qreal(100.0)); I tested and found that the spinning was still the same as before while the sensitivity is successfully set as 100. Is there anything wrong I did?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/GillesDebunne/libQGLViewer/issues/53#issuecomment-826244363, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAOPFGRX7ASDCD43POA4JLDTKOFI3ANCNFSM43OCITKA .

Joyfulmika commented 3 years ago

Thanks you so much! It helps. Since like I misuse the manipulatedFrame that is used by the QGLViewer class. Could you plz tell me briefly about the usage of it? Why there are two manipulatedFrame objects that one is in viewer and the other is in camera?

GillesDebunne commented 3 years ago

A ManipulatedFrame can be added in your scene if you want to be able to manipulate an object in your scene. Look at the associated example for details.

On Mon, Apr 26, 2021 at 8:18 AM Mika Shaw @.***> wrote:

Thanks you so much! It helps. Since like I misuse the manipulatedFrame that is used by the QGLViewer class. Could you plz tell me briefly about the usage of it? Why there are two manipulatedFrame objects that one is in viewer and the other is in camera?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/GillesDebunne/libQGLViewer/issues/53#issuecomment-826538636, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAOPFGR56TZGEXIB77PPBULTKUAULANCNFSM43OCITKA .

Joyfulmika commented 3 years ago

Thanks. I understand :)

GillesDebunne commented 1 year ago

Closing this issue