Commit Graph

69 Commits

Author SHA1 Message Date
Bas Ruigrok
98320cc839 Gui: Improve lookAtPoint (#13556)
* Gui: Rename NavigationStyle::pan to setupPanningPlane

* Gui: Replace duplicate code with NavigationStyle::setupPanningPlane

* Gui: Use panning plane when hit point not found in lookAtPoint

Also enables navigation animations when pressing MMB while the mouse is not over an object

* Gui: Remove unused methods
2024-05-06 10:45:14 -05:00
mos
037fbbc5c5 removed deprecaded functions
.

.
2024-02-26 17:38:01 +01:00
Rexbas
a01818a0c5 Gui: Prevent showing the context menu after dragging, panning or zooming 2024-01-24 21:02:25 +01:00
Rexbas
3e21fb9626 Gui: Only show context menu if not dragged in TinkerCAD navigation style 2023-12-26 22:03:02 +01:00
Rexbas
be09701e8b Gui: Show context menu on right click in OpenSCAD navigation style if not panned 2023-12-26 12:00:20 +01:00
Bas Ruigrok
ea8b5b4b39 Gui: Add a separate checkbox for enabling spinning animations (#11534)
* Gui: Create group box for animation preferences

* Gui: Add spinning animation checkbox

* Gui: Implement isAnimating() for NavigationAnimator

* Gui: No need to enable animations in DemoMode

The spin animation is played regardless of the user preference and does not need to be enabled before starting the spin animation

* Gui: Change comment
2023-12-04 10:50:29 -06:00
Rexbas
0309be88d1 Gui: Find bounding sphere before drag or animation 2023-11-10 22:33:41 +01:00
Rexbas
796c2189e4 Gui: Apply Law of Demeter to starting and stopping animations 2023-10-25 11:17:55 +02:00
Rexbas
0f58c723b6 Gui: Bring back removed lookAtPoint(SbVec3f&) 2023-10-25 11:17:55 +02:00
Rexbas
0441ea10fc Gui: Refactor navigation animations
- Animations are played through an Animator
- Standard animations have a fixed duration and inherit from QVariantAnimation
- The animation duration can be changed in the preferences
- Fix animations when using the two arrows above the NaviCube
- Start an animation or start and wait for an animation
- Replaces standard camera animations (e.g. by selecting standard views or NaviCube) with FixedTimeAnimation
- Replace View3DInventorViewer's CameraAnimation with FixedTimeAnimation
- Replace OpenInventor navigation style infinite spin animation with SpinningAnimation
- Stops an active animation when a new animation is started
- Stops an active animation when the user starts dragging, panning or zooming
- Refactor reorientCamera so it can be used in animations
- Enable animations by default
2023-10-25 11:17:55 +02:00
Yorik van Havre
f1fb45960d Revert "Gui: Refactor navigation animations" 2023-09-26 19:44:16 +02:00
Rexbas
dc216cde2a Gui: Refactor navigation animations
- Animations are played through an Animator
- Standard animations have a fixed duration and inherit from QVariantAnimation
- The animation duration can be changed in the preferences
- Fix animations when using the two arrows above the NaviCube
- Start an animation or start and wait for an animation
- Replaces standard camera animations (e.g. by selecting standard views or NaviCube) with FixedTimeAnimation
- Replace View3DInventorViewer's CameraAnimation with FixedTimeAnimation
- Replace OpenInventor navigation style infinite spin animation with SpinningAnimation
- Stops an active animation when a new animation is started
- Stops an active animation when the user starts dragging, panning or zooming
- Refactor reorientCamera so it can be used in animations
- Enable animations by default
2023-09-04 21:43:41 +02:00
wmayer
6beace8da6 Gui: modernize C++: use default member init 2023-08-23 19:51:44 +02:00
wmayer
888a33917d Gui: modernize C++: use equals default 2023-08-20 18:12:43 +02:00
wmayer
7fe0d5b9a6 modernize C++: use equals delete 2023-08-10 17:29:05 +02:00
Rexbas
b0dbdfc74b Add visual indication for the rotation center 2023-07-11 17:33:47 +02:00
Nabos
0c267efb30 Gui: Added FreeTurntable orbit style (#8048)
* Added FreeTurntable orbit style
2022-12-20 03:21:46 +01:00
wmayer
23961706be Gui: modernize C++: replace 'typedef' with 'using' 2022-08-29 14:09:18 +02:00
berniev
3877fc62c3 Gui: Single arg ctors must be explicit (PR #7369) 2022-08-24 15:06:03 +02:00
wmayer
c87e1cc1c2 clang: fix warnings [-Winconsistent-missing-override] 2022-08-09 17:36:25 +02:00
berniev
75fa455c5d Gui: Use override etc 2 2022-08-09 12:43:23 +02:00
Uwe
efa589c7c5 [Gui] Navigation styles: remove unused includes 2022-03-03 02:25:21 +01:00
wmayer
befd78afd1 Gui: move handling of SoMouseWheelEvent to its own handler function 2021-11-05 21:37:19 +01:00
wmayer
3dcbceda3a C++11: modernize use nullptr (replaces NULL or 0) 2021-11-05 18:16:19 +01:00
wmayer
ef598dd1e3 Gui: add method NavigationStyle::processClickEvent() to reduce code duplication in sub-classes 2021-11-05 14:37:18 +01:00
wmayer
f664c02b92 Gui: [skip ci] in MayaGestureNavigationStyle rename mousedownConsumedEvent to mousedownConsumedEvents 2021-11-05 14:00:09 +01:00
wmayer
fbca4b10f2 Gui: [skip ci] rename handleKeyboardEvent to processKeyboardEvent 2021-11-05 12:58:36 +01:00
wmayer
bc8d6c9934 Gui: add support of TinkerCAD navigation style 2021-11-05 11:10:38 +01:00
wmayer
5bd156066e Gui: [skip ci] replace getNormalizedPosition() with normalizePixelPos() 2021-11-02 19:06:12 +01:00
wmayer
0c59884e83 Gui: [skip ci] add method NavigationStyle::getNormalizedPosition() to reduce code duplication 2021-11-02 15:57:54 +01:00
wmayer
3b7a758563 Gui: [skip ci] add method NavigationStyle::handleKeyboardEvent() to achieve consistent handling and reduce code duplication 2021-11-02 15:32:20 +01:00
wmayer
4c1ddafb15 Gui: [skip ci] add method NavigationStyle::syncModifierKeys() to reduce code duplication 2021-11-02 14:52:22 +01:00
wmayer
4e246ada88 Gui: add support of OpenSCAD navigation style 2021-10-26 00:21:31 +02:00
Yorik van Havre
b84c2c7f09 Merge pull request #4178 from uLeonis/master
[v0.20][Gui] Consolidate Std view modes
2021-09-09 12:22:27 +02:00
Chris Hennes
098d7b9aee [GUI] Remove code for Qt < 5.9 2021-04-02 10:10:37 +02:00
uLeonis
cbe1050441 MeasureDistance
- Abort mode via ESCAPE added

BoxZoom, BoxSelection and BoxElementSelection
- Change the cursor to give the user feedback about active mode.
- Abort mode via ESCAPE
2020-12-21 17:32:33 +01:00
wmayer
0e5cbf5298 Py2/Qt4: fix build failures and warnings 2020-11-30 19:05:37 +01:00
wmayer
a7d9b3ddcc Gui: [skip ci] support of bitmasks for enum RotationCenterMode 2020-11-29 11:43:51 +01:00
wmayer
eafcb59baf Gui: [skip ci] replace dragAtCursor with new enum value WindowCenter 2020-11-28 17:31:42 +01:00
wmayer
50aab2c595 Gui: [skip ci] implement new RotationCenterMode called BoundingBoxCenter 2020-11-27 15:12:10 +01:00
luz paz
38815b9550 Gui: Fix header uniformity, whitespace, and doxygen fixes 2020-11-26 10:14:56 +01:00
wmayer
c14190b918 Gui: avoid code duplication in NavigationStyle and remove superfluous doZoom_wheel method 2020-08-22 18:44:47 +02:00
DeepSOIC
a41a5042ae Gui: use SoMouseWheelEvent in navigation styles 2020-08-22 17:15:02 +02:00
DeepSOIC
fd9630c4a0 Gui: GestureNavigationStyle rewrite
to better work on Qt5
+ new (dormant) feature: button roll gestures
2019-05-14 15:35:50 +02:00
wmayer
6b37fdc1a8 PVS issues:
consistently define copy constructor and assignment operator
remove superfluous casts
initialize member variables in constructor
avoid double assignment
2019-03-04 11:53:49 +01:00
DeepSOIC
47ae980fa2 Gui: Gesture: add option to disable tilt
On Qt5, using pinch will inevitably cause tilt. It's annoying, so it is disabled by default.

In the future, it's best to introduce some kind of threshold to overcome for the tilt to be triggered.
2018-11-29 15:29:27 -03:00
wmayer
644cfa06bb replace boolean to check for inside/outside cutting with enum values 2018-09-18 18:25:51 +02:00
luz.paz
9bd704d320 Misc. code comment typo fixes
Found via `codespell -q 3 -I ../fc-word-whitelist.txt --skip="*.ts,*.po,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./.git,./src/zipios++"`
2018-07-27 10:39:43 -03:00
wmayer
013e8108c0 add option to drag at cursor instead of view center 2018-07-25 22:36:35 +02:00
Eneen
357ee64052 Added RevitNavigationStyle 2017-10-19 18:52:27 +02:00