Commit Graph

70 Commits

Author SHA1 Message Date
Bas Ruigrok
6f0c3d2fea Gui: Use Coin 4.0.3 fix for orthographic camera clipping 2024-09-09 17:58:32 +02:00
Bas Ruigrok
5ba93dd9f0 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
a025af2d26 removed deprecaded functions
.

.
2024-02-26 17:38:01 +01:00
Rexbas
dfa20b4648 Gui: Prevent showing the context menu after dragging, panning or zooming 2024-01-24 21:02:25 +01:00
Rexbas
286ebec851 Gui: Only show context menu if not dragged in TinkerCAD navigation style 2023-12-26 22:03:02 +01:00
Rexbas
8588335c7f Gui: Show context menu on right click in OpenSCAD navigation style if not panned 2023-12-26 12:00:20 +01:00
Bas Ruigrok
9e2577bce7 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
a740632616 Gui: Find bounding sphere before drag or animation 2023-11-10 22:33:41 +01:00
Rexbas
61c1b2bfc2 Gui: Apply Law of Demeter to starting and stopping animations 2023-10-25 11:17:55 +02:00
Rexbas
7bb97c1882 Gui: Bring back removed lookAtPoint(SbVec3f&) 2023-10-25 11:17:55 +02:00
Rexbas
37e600e766 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
ffd66cf826 Revert "Gui: Refactor navigation animations" 2023-09-26 19:44:16 +02:00
Rexbas
9fed764368 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
5a153e50ff Gui: modernize C++: use default member init 2023-08-23 19:51:44 +02:00
wmayer
c016f1c1fb Gui: modernize C++: use equals default 2023-08-20 18:12:43 +02:00
wmayer
9f456d712b modernize C++: use equals delete 2023-08-10 17:29:05 +02:00
Rexbas
7fe3e1bd5d Add visual indication for the rotation center 2023-07-11 17:33:47 +02:00
Nabos
9cda82cf20 Gui: Added FreeTurntable orbit style (#8048)
* Added FreeTurntable orbit style
2022-12-20 03:21:46 +01:00
wmayer
ba8d5ab055 Gui: modernize C++: replace 'typedef' with 'using' 2022-08-29 14:09:18 +02:00
berniev
a909df7f39 Gui: Single arg ctors must be explicit (PR #7369) 2022-08-24 15:06:03 +02:00
wmayer
2062f9ce87 clang: fix warnings [-Winconsistent-missing-override] 2022-08-09 17:36:25 +02:00
berniev
0c70d45c83 Gui: Use override etc 2 2022-08-09 12:43:23 +02:00
Uwe
9df3059d3b [Gui] Navigation styles: remove unused includes 2022-03-03 02:25:21 +01:00
wmayer
916fe37a6b Gui: move handling of SoMouseWheelEvent to its own handler function 2021-11-05 21:37:19 +01:00
wmayer
4a1c1c7004 C++11: modernize use nullptr (replaces NULL or 0) 2021-11-05 18:16:19 +01:00
wmayer
528ffce593 Gui: add method NavigationStyle::processClickEvent() to reduce code duplication in sub-classes 2021-11-05 14:37:18 +01:00
wmayer
b1ab5c3b8f Gui: [skip ci] in MayaGestureNavigationStyle rename mousedownConsumedEvent to mousedownConsumedEvents 2021-11-05 14:00:09 +01:00
wmayer
5b023b0af5 Gui: [skip ci] rename handleKeyboardEvent to processKeyboardEvent 2021-11-05 12:58:36 +01:00
wmayer
ef100d55e9 Gui: add support of TinkerCAD navigation style 2021-11-05 11:10:38 +01:00
wmayer
5b3bf97f2b Gui: [skip ci] replace getNormalizedPosition() with normalizePixelPos() 2021-11-02 19:06:12 +01:00
wmayer
bec3c797a8 Gui: [skip ci] add method NavigationStyle::getNormalizedPosition() to reduce code duplication 2021-11-02 15:57:54 +01:00
wmayer
0b802eb717 Gui: [skip ci] add method NavigationStyle::handleKeyboardEvent() to achieve consistent handling and reduce code duplication 2021-11-02 15:32:20 +01:00
wmayer
1c93d3ee15 Gui: [skip ci] add method NavigationStyle::syncModifierKeys() to reduce code duplication 2021-11-02 14:52:22 +01:00
wmayer
a1c9ab658c Gui: add support of OpenSCAD navigation style 2021-10-26 00:21:31 +02:00
Yorik van Havre
04eecd0c92 Merge pull request #4178 from uLeonis/master
[v0.20][Gui] Consolidate Std view modes
2021-09-09 12:22:27 +02:00
Chris Hennes
50c7ee36bf [GUI] Remove code for Qt < 5.9 2021-04-02 10:10:37 +02:00
uLeonis
96f2ba2cb5 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
c54deee146 Py2/Qt4: fix build failures and warnings 2020-11-30 19:05:37 +01:00
wmayer
0eba78d400 Gui: [skip ci] support of bitmasks for enum RotationCenterMode 2020-11-29 11:43:51 +01:00
wmayer
4c9eca5623 Gui: [skip ci] replace dragAtCursor with new enum value WindowCenter 2020-11-28 17:31:42 +01:00
wmayer
c582e8a085 Gui: [skip ci] implement new RotationCenterMode called BoundingBoxCenter 2020-11-27 15:12:10 +01:00
luz paz
298c677873 Gui: Fix header uniformity, whitespace, and doxygen fixes 2020-11-26 10:14:56 +01:00
wmayer
4b7e64381c Gui: avoid code duplication in NavigationStyle and remove superfluous doZoom_wheel method 2020-08-22 18:44:47 +02:00
DeepSOIC
b200801ebc Gui: use SoMouseWheelEvent in navigation styles 2020-08-22 17:15:02 +02:00
DeepSOIC
8a99785477 Gui: GestureNavigationStyle rewrite
to better work on Qt5
+ new (dormant) feature: button roll gestures
2019-05-14 15:35:50 +02:00
wmayer
28b195d6e2 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
82fd0a8db6 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
ff6ed27ba9 replace boolean to check for inside/outside cutting with enum values 2018-09-18 18:25:51 +02:00
luz.paz
0576524144 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
d4987d088f add option to drag at cursor instead of view center 2018-07-25 22:36:35 +02:00