Conversation
There was a problem hiding this comment.
Cpp-linter Review
Used clang-tidy v21.1.8
Only 3 out of 6 clang-tidy concerns fit within this pull request's diff.
Have any feedback or feature suggestions? Share it here.
| mappedButtons = (mappedButtons & ~Qt::LeftButton) | Qt::RightButton; | ||
| } | ||
|
|
||
| QMouseEvent customEvent(event->type(), event->localPos(), event->globalPos(), |
There was a problem hiding this comment.
clang-tidy diagnostic
custom3dinputhandler.cpp:23:51: warning: [clang-diagnostic-deprecated-declarations]
'localPos' is deprecated: Use position()
23 | QMouseEvent customEvent(event->type(), event->localPos(), event->globalPos(),
| ^
/usr/include/x86_64-linux-gnu/qt6/QtGui/qevent.h:226:5: note: 'localPos' has been explicitly marked deprecated here
226 | QT_DEPRECATED_VERSION_X_6_0("Use position()")
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:326:44: note: expanded from macro 'QT_DEPRECATED_VERSION_X_6_0'
326 | # define QT_DEPRECATED_VERSION_X_6_0(text) QT_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:238:33: note: expanded from macro 'QT_DEPRECATED_X'
238 | # define QT_DEPRECATED_X(text) Q_DECL_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qcompilerdetection.h:956:36: note: expanded from macro 'Q_DECL_DEPRECATED_X'
956 | # define Q_DECL_DEPRECATED_X(x) [[deprecated(x)]]
| ^clang-tidy diagnostic
custom3dinputhandler.cpp:23:70: warning: [clang-diagnostic-deprecated-declarations]
'globalPos' is deprecated: Use globalPosition()
23 | QMouseEvent customEvent(event->type(), event->localPos(), event->globalPos(),
| ^
/usr/include/x86_64-linux-gnu/qt6/QtGui/qevent.h:215:5: note: 'globalPos' has been explicitly marked deprecated here
215 | QT_DEPRECATED_VERSION_X_6_0("Use globalPosition()")
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:326:44: note: expanded from macro 'QT_DEPRECATED_VERSION_X_6_0'
326 | # define QT_DEPRECATED_VERSION_X_6_0(text) QT_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:238:33: note: expanded from macro 'QT_DEPRECATED_X'
238 | # define QT_DEPRECATED_X(text) Q_DECL_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qcompilerdetection.h:956:36: note: expanded from macro 'Q_DECL_DEPRECATED_X'
956 | # define Q_DECL_DEPRECATED_X(x) [[deprecated(x)]]
| ^| mappedButtons = (mappedButtons & ~Qt::LeftButton) | Qt::RightButton; | ||
| } | ||
|
|
||
| QMouseEvent customEvent(event->type(), event->localPos(), event->globalPos(), |
There was a problem hiding this comment.
clang-tidy diagnostic
custom3dinputhandler.cpp:41:51: warning: [clang-diagnostic-deprecated-declarations]
'localPos' is deprecated: Use position()
41 | QMouseEvent customEvent(event->type(), event->localPos(), event->globalPos(),
| ^
/usr/include/x86_64-linux-gnu/qt6/QtGui/qevent.h:226:5: note: 'localPos' has been explicitly marked deprecated here
226 | QT_DEPRECATED_VERSION_X_6_0("Use position()")
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:326:44: note: expanded from macro 'QT_DEPRECATED_VERSION_X_6_0'
326 | # define QT_DEPRECATED_VERSION_X_6_0(text) QT_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:238:33: note: expanded from macro 'QT_DEPRECATED_X'
238 | # define QT_DEPRECATED_X(text) Q_DECL_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qcompilerdetection.h:956:36: note: expanded from macro 'Q_DECL_DEPRECATED_X'
956 | # define Q_DECL_DEPRECATED_X(x) [[deprecated(x)]]
| ^clang-tidy diagnostic
custom3dinputhandler.cpp:41:70: warning: [clang-diagnostic-deprecated-declarations]
'globalPos' is deprecated: Use globalPosition()
41 | QMouseEvent customEvent(event->type(), event->localPos(), event->globalPos(),
| ^
/usr/include/x86_64-linux-gnu/qt6/QtGui/qevent.h:215:5: note: 'globalPos' has been explicitly marked deprecated here
215 | QT_DEPRECATED_VERSION_X_6_0("Use globalPosition()")
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:326:44: note: expanded from macro 'QT_DEPRECATED_VERSION_X_6_0'
326 | # define QT_DEPRECATED_VERSION_X_6_0(text) QT_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:238:33: note: expanded from macro 'QT_DEPRECATED_X'
238 | # define QT_DEPRECATED_X(text) Q_DECL_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qcompilerdetection.h:956:36: note: expanded from macro 'Q_DECL_DEPRECATED_X'
956 | # define Q_DECL_DEPRECATED_X(x) [[deprecated(x)]]
| ^| mappedButtons = (mappedButtons & ~Qt::LeftButton) | Qt::RightButton; | ||
| } | ||
|
|
||
| QMouseEvent customEvent(event->type(), event->localPos(), event->globalPos(), |
There was a problem hiding this comment.
clang-tidy diagnostic
custom3dinputhandler.cpp:70:51: warning: [clang-diagnostic-deprecated-declarations]
'localPos' is deprecated: Use position()
70 | QMouseEvent customEvent(event->type(), event->localPos(), event->globalPos(),
| ^
/usr/include/x86_64-linux-gnu/qt6/QtGui/qevent.h:226:5: note: 'localPos' has been explicitly marked deprecated here
226 | QT_DEPRECATED_VERSION_X_6_0("Use position()")
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:326:44: note: expanded from macro 'QT_DEPRECATED_VERSION_X_6_0'
326 | # define QT_DEPRECATED_VERSION_X_6_0(text) QT_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:238:33: note: expanded from macro 'QT_DEPRECATED_X'
238 | # define QT_DEPRECATED_X(text) Q_DECL_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qcompilerdetection.h:956:36: note: expanded from macro 'Q_DECL_DEPRECATED_X'
956 | # define Q_DECL_DEPRECATED_X(x) [[deprecated(x)]]
| ^clang-tidy diagnostic
custom3dinputhandler.cpp:70:70: warning: [clang-diagnostic-deprecated-declarations]
'globalPos' is deprecated: Use globalPosition()
70 | QMouseEvent customEvent(event->type(), event->localPos(), event->globalPos(),
| ^
/usr/include/x86_64-linux-gnu/qt6/QtGui/qevent.h:215:5: note: 'globalPos' has been explicitly marked deprecated here
215 | QT_DEPRECATED_VERSION_X_6_0("Use globalPosition()")
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:326:44: note: expanded from macro 'QT_DEPRECATED_VERSION_X_6_0'
326 | # define QT_DEPRECATED_VERSION_X_6_0(text) QT_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:238:33: note: expanded from macro 'QT_DEPRECATED_X'
238 | # define QT_DEPRECATED_X(text) Q_DECL_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qcompilerdetection.h:956:36: note: expanded from macro 'Q_DECL_DEPRECATED_X'
956 | # define Q_DECL_DEPRECATED_X(x) [[deprecated(x)]]
| ^|
🚀 New build available for commit |
|
Hi Dale, I fixed automated build. There are some remaining deprecation warnings that need to be fixed but the build is OK. The feature is absolutely amazing and I love it. Being used to 3D sodftwares, there is one flaw though: Here is a capture of the "problem". Video was too large so there are 2 parts. https://github.com/user-attachments/assets/fb927c69-8c56-433d-a345-d49c009ad9e4 But to be honnest I like this that much that I would like to get it merged and enhanced in a different PR. One last note: I would advocate to make the right click "orbit". Because this is the way it was in the past. And while I don't care which click does what, I think it's better to keep some some of backcompatiblity and only modify/enhance what left click is doing. |
|
The older versions use to be left click orbit. So that just restored to the old way and the way I find much 3D apps that I use. |
|
Yes pan gets a little weird if you rotate too much. I bet we could get AI to fix that by remembering the current rotation. |
|
Currently have the pan fixed in my local temp branch. Now trying on my local master. |
|
Dale, do no forget to I do not expect any conflicts. But it's easier it you pull from the start than doing after you modified/commited on your local copy |
|
Yes I finally got the pull figured out and the push is now done. |
There was a problem hiding this comment.
Cpp-linter Review
Used clang-tidy v21.1.8
Only 3 out of 6 clang-tidy concerns fit within this pull request's diff.
Have any feedback or feature suggestions? Share it here.
| mappedButtons = (mappedButtons & ~Qt::LeftButton) | Qt::RightButton; | ||
| } | ||
|
|
||
| QMouseEvent customEvent(event->type(), event->localPos(), event->globalPos(), |
There was a problem hiding this comment.
clang-tidy diagnostic
custom3dinputhandler.cpp:23:51: warning: [clang-diagnostic-deprecated-declarations]
'localPos' is deprecated: Use position()
23 | QMouseEvent customEvent(event->type(), event->localPos(), event->globalPos(),
| ^
/usr/include/x86_64-linux-gnu/qt6/QtGui/qevent.h:226:5: note: 'localPos' has been explicitly marked deprecated here
226 | QT_DEPRECATED_VERSION_X_6_0("Use position()")
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:326:44: note: expanded from macro 'QT_DEPRECATED_VERSION_X_6_0'
326 | # define QT_DEPRECATED_VERSION_X_6_0(text) QT_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:238:33: note: expanded from macro 'QT_DEPRECATED_X'
238 | # define QT_DEPRECATED_X(text) Q_DECL_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qcompilerdetection.h:956:36: note: expanded from macro 'Q_DECL_DEPRECATED_X'
956 | # define Q_DECL_DEPRECATED_X(x) [[deprecated(x)]]
| ^clang-tidy diagnostic
custom3dinputhandler.cpp:23:70: warning: [clang-diagnostic-deprecated-declarations]
'globalPos' is deprecated: Use globalPosition()
23 | QMouseEvent customEvent(event->type(), event->localPos(), event->globalPos(),
| ^
/usr/include/x86_64-linux-gnu/qt6/QtGui/qevent.h:215:5: note: 'globalPos' has been explicitly marked deprecated here
215 | QT_DEPRECATED_VERSION_X_6_0("Use globalPosition()")
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:326:44: note: expanded from macro 'QT_DEPRECATED_VERSION_X_6_0'
326 | # define QT_DEPRECATED_VERSION_X_6_0(text) QT_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:238:33: note: expanded from macro 'QT_DEPRECATED_X'
238 | # define QT_DEPRECATED_X(text) Q_DECL_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qcompilerdetection.h:956:36: note: expanded from macro 'Q_DECL_DEPRECATED_X'
956 | # define Q_DECL_DEPRECATED_X(x) [[deprecated(x)]]
| ^| mappedButtons = (mappedButtons & ~Qt::LeftButton) | Qt::RightButton; | ||
| } | ||
|
|
||
| QMouseEvent customEvent(event->type(), event->localPos(), event->globalPos(), |
There was a problem hiding this comment.
clang-tidy diagnostic
custom3dinputhandler.cpp:41:51: warning: [clang-diagnostic-deprecated-declarations]
'localPos' is deprecated: Use position()
41 | QMouseEvent customEvent(event->type(), event->localPos(), event->globalPos(),
| ^
/usr/include/x86_64-linux-gnu/qt6/QtGui/qevent.h:226:5: note: 'localPos' has been explicitly marked deprecated here
226 | QT_DEPRECATED_VERSION_X_6_0("Use position()")
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:326:44: note: expanded from macro 'QT_DEPRECATED_VERSION_X_6_0'
326 | # define QT_DEPRECATED_VERSION_X_6_0(text) QT_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:238:33: note: expanded from macro 'QT_DEPRECATED_X'
238 | # define QT_DEPRECATED_X(text) Q_DECL_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qcompilerdetection.h:956:36: note: expanded from macro 'Q_DECL_DEPRECATED_X'
956 | # define Q_DECL_DEPRECATED_X(x) [[deprecated(x)]]
| ^clang-tidy diagnostic
custom3dinputhandler.cpp:41:70: warning: [clang-diagnostic-deprecated-declarations]
'globalPos' is deprecated: Use globalPosition()
41 | QMouseEvent customEvent(event->type(), event->localPos(), event->globalPos(),
| ^
/usr/include/x86_64-linux-gnu/qt6/QtGui/qevent.h:215:5: note: 'globalPos' has been explicitly marked deprecated here
215 | QT_DEPRECATED_VERSION_X_6_0("Use globalPosition()")
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:326:44: note: expanded from macro 'QT_DEPRECATED_VERSION_X_6_0'
326 | # define QT_DEPRECATED_VERSION_X_6_0(text) QT_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:238:33: note: expanded from macro 'QT_DEPRECATED_X'
238 | # define QT_DEPRECATED_X(text) Q_DECL_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qcompilerdetection.h:956:36: note: expanded from macro 'Q_DECL_DEPRECATED_X'
956 | # define Q_DECL_DEPRECATED_X(x) [[deprecated(x)]]
| ^| mappedButtons = (mappedButtons & ~Qt::LeftButton) | Qt::RightButton; | ||
| } | ||
|
|
||
| QMouseEvent customEvent(event->type(), event->localPos(), event->globalPos(), |
There was a problem hiding this comment.
clang-tidy diagnostic
custom3dinputhandler.cpp:90:51: warning: [clang-diagnostic-deprecated-declarations]
'localPos' is deprecated: Use position()
90 | QMouseEvent customEvent(event->type(), event->localPos(), event->globalPos(),
| ^
/usr/include/x86_64-linux-gnu/qt6/QtGui/qevent.h:226:5: note: 'localPos' has been explicitly marked deprecated here
226 | QT_DEPRECATED_VERSION_X_6_0("Use position()")
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:326:44: note: expanded from macro 'QT_DEPRECATED_VERSION_X_6_0'
326 | # define QT_DEPRECATED_VERSION_X_6_0(text) QT_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:238:33: note: expanded from macro 'QT_DEPRECATED_X'
238 | # define QT_DEPRECATED_X(text) Q_DECL_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qcompilerdetection.h:956:36: note: expanded from macro 'Q_DECL_DEPRECATED_X'
956 | # define Q_DECL_DEPRECATED_X(x) [[deprecated(x)]]
| ^clang-tidy diagnostic
custom3dinputhandler.cpp:90:70: warning: [clang-diagnostic-deprecated-declarations]
'globalPos' is deprecated: Use globalPosition()
90 | QMouseEvent customEvent(event->type(), event->localPos(), event->globalPos(),
| ^
/usr/include/x86_64-linux-gnu/qt6/QtGui/qevent.h:215:5: note: 'globalPos' has been explicitly marked deprecated here
215 | QT_DEPRECATED_VERSION_X_6_0("Use globalPosition()")
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:326:44: note: expanded from macro 'QT_DEPRECATED_VERSION_X_6_0'
326 | # define QT_DEPRECATED_VERSION_X_6_0(text) QT_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qglobal.h:238:33: note: expanded from macro 'QT_DEPRECATED_X'
238 | # define QT_DEPRECATED_X(text) Q_DECL_DEPRECATED_X(text)
| ^
/usr/include/x86_64-linux-gnu/qt6/QtCore/qcompilerdetection.h:956:36: note: expanded from macro 'Q_DECL_DEPRECATED_X'
956 | # define Q_DECL_DEPRECATED_X(x) [[deprecated(x)]]
| ^|
Nice. If you could fix the deprecation warnings too it would be great. I'm unsure if Qt5 supports Thank you ! |
|
🚀 New build available for commit |
|
I tested it. It's much better ! I belive mouse click + Y moving is not working on the correct axis. It does the same as scrolling with weel when in fact it shall behave similarly as X moving. I might not be 100% clear. Let me know and I can do a video |
|
Added the ifdef for QT5 and Qt6. I wish I had the time to switch to Qt6. I don't like those flags. I know George once showed my how to switch but that has been lost by me. I think the mouse does what I wanted it to do. Which is show the wave front from any reasonable angle zoom it and pan it. i was surprised when I opened Fusion 360 that orbit is on the right button and my muscle memory took over and used it to orbit. Yet when I use DFTFringe that muscle memory is for the left button because that was what it was for years. So it will mess with those that never knew left orbit for DFtfringe. Sorry. |
|
🚀 New build available for commit |
|
This removes nothing - it only adds more capability. Switching between qt5 and qt6 doesn't even require exiting qt creator after you follow these directions. Unfortunately the standard project files have all relative paths so if you have many different cloned repositories, you have to add the new folders to each repository. I suppose that only takes a few more minutes. |
these 2 lines of code not needed. Co-authored-by: Julien Staub <atsju2@yahoo.fr>
|
🚀 New build available for commit |
gr5
left a comment
There was a problem hiding this comment.
Tried it out. Didn't build it as Dale already did. This feature works great. Code looks great.
Dale this can be merged now. You want to click the button here on github or is it okay if I do it? Do you have more changes in mind or is this ready in your opinion. It is ready in my opinion.
|
It is ready to merge. Go ahead. |
|
Hi I don't know fusion 360 and I know each softwawre has different ways of working. So just confirm you actually wanted to implement truck/dolly which is unusual for me. but again I don't know fusion 360. 3dFinal.mp4Because I expected panX/panY expected.mp4 |
|
I just want some way to move what is off screen back into full view. It seems to do that. I don't want to spend a lot of time fighting the math involved moving the camera correctly which is what it is trying to do. So for not I'm happy with it. Before if the edge decided to go off screen it was a hassle to zoom to get it back. |
|
I tried it in the overhead orientation and it seemed fine but yeah that could be fixed by changing the equation slightly. I don't know if you want to fix it @atsju or I could fix it. We already have the mouse scroll for zooming in and out and everything is great when are not in "overhead" mode. But yeah in overhead view it's a little wonky. |
|
Presumably people who primarily want overhead view will be using the contour map instead. Which also allows you to zoom in. |
|
I believe it's not only in overhead. It's just more obvious in any orientation where you face a plane 90°. It's not wrong per se. It's just unusual way of working for a 3Dview and as you say, we already have mouse wheel for zoom. I let you modify it if you have time. I should take some time working on my other PR in progress. |
Modified what 3D graph mouse button and wheel does. Left rotates, right pans, wheel zooms.
Closes #380