Commit Graph

279 Commits

Author SHA1 Message Date
Rexbas
affc49049e Gui: Update rotation center indicator after zoom 2023-11-24 22:43:48 +01:00
Rexbas
0309be88d1 Gui: Find bounding sphere before drag or animation 2023-11-10 22:33:41 +01:00
Chris Hennes
37a8e348c6 Merge pull request #11231 from DeflateAwning/http-cleanup
Find and replace http://freecad to https://freecad
2023-11-06 11:16:13 -06:00
DeflateAwning
1e3179e9bc Find and replace http://freecad.org to https://freecad.org
Find and replace:
http:\/\/(.{0,10})freecad
https://$1freecad
Done in all remaining files (after doing it in SVGs in the last commit)
2023-10-29 22:39:22 -06:00
Chris Hennes
583e27e8af Merge branch 'main' into modernize-type-check 2023-10-25 16:07:28 -05:00
wmayer
c81d52a5b2 Gui: replace SbBool with bool in View3DInventorViewer 2023-10-25 19:40:59 +02:00
wmayer
9a5cbcb805 Gui: fix lint warnings in View3DInventorViewer 2023-10-25 19:40:59 +02:00
Rexbas
796c2189e4 Gui: Apply Law of Demeter to starting and stopping animations 2023-10-25 11:17:55 +02:00
Rexbas
56b60baeb2 Gui: Revert breaking Python interface change for viewPosition() 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
wmayer
e0d624bc66 Gui: rename methods setBacklight() & isBacklight() to harmonize with setHeadlightEnabled() & isHeadlightEnabled() 2023-10-24 13:30:40 +02:00
Florian Foinant-Willig
741296b82e Core: modernize type checking 2023-10-23 18:07:07 +02:00
Yorik van Havre
f1fb45960d Revert "Gui: Refactor navigation animations" 2023-09-26 19:44:16 +02:00
Yorik van Havre
d65dcc255d Merge pull request #10790 from Rexbas/rotation-center-preferences
Gui: Add rotation center indicator color, transparency and size preferences
2023-09-26 11:01:19 +02:00
Yorik van Havre
113bfed537 Merge pull request #9446 from Rexbas/navigation-animation
Gui: Refactor navigation animations
2023-09-25 18:15:43 +02:00
Rexbas
bb42cdc92a Gui: Add rotation center indicator color, transparency and size preferences 2023-09-23 22:42:20 +02:00
wmayer
4f27591e67 Gui: fix some MSVC truncation warnings
See forum: https://forum.freecad.org/viewtopic.php?t=81051
2023-09-10 18:08:06 +02:00
Rexbas
da4318f140 Gui: Add nullptr check in showRotationCenter 2023-09-05 08:54:11 +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
888a33917d Gui: modernize C++: use equals default 2023-08-20 18:12:43 +02:00
wmayer
fa8978ce99 Gui: modernize C++: return braced init list 2023-08-18 00:36:24 +02:00
Rexbas
20c462f45a Gui: Improve object center rotation mode 2023-08-16 16:02:32 -05:00
wmayer
e09d8aaba6 Gui: modernize C++: use range-based for loop 2023-08-14 19:42:18 +02:00
Yorik van Havre
81b9f2fcec Merge pull request #9909 from Rexbas/rotationcenter
Gui: Add rotation center indicator
2023-08-07 17:57:13 +02:00
Benjamin Bræstrup Sayoc
da2ae719f2 [Everywhere] FileInfo::hasExtension for multiple values (#9774)
* [Base] Add hasExtension for multiple values

* [Gui] Use hasExtension for multiple values

* [Drawing] Use hasExtension for multiple values

* [Fem] Use hasExtension for multiple values

* [Import] Use hasExtension for multiple values

* [Mesh] Use hasExtension for multiple values

* [Part] Use hasExtension for multiple values

* [TechDraw] Use hasExtension for multiple values
2023-08-07 09:55:19 -06:00
andrea
18e1883284 removed coin<3 references 2023-08-04 21:19:29 -06:00
Rexbas
fa0378e878 Add option to disable rotation center indication 2023-07-11 17:33:47 +02:00
Rexbas
b0dbdfc74b Add visual indication for the rotation center 2023-07-11 17:33:47 +02:00
wmayer
d668f12ffb Gui: do not enable lighting when rendering from image or framebuffer 2023-05-04 07:55:05 +02:00
wmayer
7f1e979aad Gui: add comment about troubleshooting OpenGL 2023-05-01 23:32:24 +02:00
wmayer
1491e526e7 Gui: workaround to show content of image plane
This workaround is needed on some platforms after the refactoring of the NaviCube code. For more details see also:
https://github.com/FreeCAD/FreeCAD/pull/9356#issuecomment-1529521654
2023-05-01 23:32:24 +02:00
Chris Hennes
142dc7f079 Merge pull request #9356 from Jolbas/Navicube_disable_drag
Refactor Navigation Cube
2023-04-24 15:21:38 -05:00
luzpaz
38a01939e0 Migrate domain name from freecadweb to freecad (#9352)
* Migrate domain name from freecadweb to freecad
* Migrate src/Mod/Material files
* Migrate Stylesheet related files
* Migrate *.svg files
* Migrate miscellaneous files
* Migrate some build files
* Migrate recently added TD AR_IRAM template files

Closes #6415
2023-04-24 15:19:20 -05:00
Jolbas
b613a4ea27 Refactor Navigation Cube
-Use std commands in menu coming with icons
-Only draggable if activated in menu
-Remove textures except labels and used gl fill instead
-Borders on surrounding buttons
-Fix some openGL issues
-Remove duplicate parameter managment. Kept and improved the one in View3DSettings
-Remove lots of other redundant code
-Replaced FontSize param with FontZoom and enabled auto zoom/size on labels.
-Merged BorderColor and TextColor to single EmphaseColor parameter
-Merged ButtonColor and FrontColor to BaseColor parameter
-Added ChamferSize parameter to control edge and corner size
-Use glDrawArrays() innstead of glBegin() and glEnd()
-Draw butt ends on RGB coordinate system
-Fixe issues where cube switch corner on resize window
2023-04-24 12:19:10 +02:00
wmayer
391a291982 Gui: [skip ci] fix typo View3DInventorViewer::toQPoint 2023-04-08 14:50:18 +02:00
wmayer
e9a9413c71 Gui: rename getPointOnScreen() to getPointOnViewport() 2023-04-08 13:51:32 +02:00
wmayer
6509cc72e7 Gui: add method to convert between QPoint and SbVec2s considering device pixel ratio 2023-04-08 13:51:32 +02:00
wmayer
d6190cb79c Gui: add enum types to handle background gradients
This fixes some API flaws where booleans were used to distinguish between three different types
2023-04-04 18:44:27 +02:00
xtemp09
414c803ff3 [GUI] Radial gradient implementation
This commit implements radial gradient as background and adds the option
to settings. It also renames "Color gradient" as "Linear gradient",
keeping Linear gradient default. Internally, it remains unchanged for
compatibility.

Radio gradient is more suitable for CAD, since it gives a more balanced
color distribution across the screen, improving visibility of model and
sketches with a halo-like effect.
2023-04-02 16:33:01 +07:00
Paddle
e0b1117701 Core: View3DInventorViewer, add 3 functions:
- getDimensions
- getMaxDimension()
- getCenterPointOnFocalPlane()
2023-02-25 23:13:55 +01:00
wmayer
9dc366f817 Gui: fix regression that NaviCube cannot be switched off any more 2023-02-07 22:16:09 +01:00
wmayer
8d42b6f93c Gui: move to new style connect() 2023-02-01 13:49:35 +01:00
Uwe
707b7efeda [Gui] View3DInventorViewer: fix a GH action report
- use sizeof instead of the hardcoded number
2023-01-29 09:38:16 -07:00
Uwe
5fdd405a69 [Gui] allow to specify font for NaviCube
- the problem is that depending on the OS, the font of the NaviCube is hardly readable. For example under Windows 11, there is no Helvetica font and therefore an ugly replacement font is used. On some laptop screens the font is too large or too small etc.
- as solution this PR add the change the NaviCube's font and font size

- the PR also fixes an issue that the position (corner) of the NaviCube was not respected when the NaviCube is recreated. This fix is necessary for the PR therefore included

- as by-product the PR fixes #8082 since every change in the preferences now properly recreates the NaviCube

- the PR also removes the strange and unused class "HuuhaaClassPy"
2023-01-27 02:23:46 +01:00
wmayer
1fcd62f213 Gui: [skip ci] print warning in getViewProviderByPath, getViewProviderByPathFromTail, getViewProvidersOfType if for View3DInventorViewer no document is set
This gives the client programmer a clue if one of the mentioned methods fails
2023-01-10 17:46:05 +01:00
wmayer
184afd9761 Gui: fix View3DInventorViewer's getViewProviderByPath, getViewProviderByPathFromTail, getViewProvidersOfType
The View3DInventorViewer only contains the top-level view providers which caused unexpected behaviour when using the three methods above. Thus, in client code they haven't been used any more.
Now the methods internally invoke the corresponding methods of the document. This allows it in client code to directly call the appropriate methods again (LoD).
2022-12-12 16:41:58 +01:00
wmayer
308cf4ffb0 Gui: code-refactoring
Split selection handling from View3DInventorViewer and move to View3DInventorSelection
2022-11-16 20:27:14 +01:00
wmayer
641d3ba35c Gui: determine the view size of the focal plane in perspective mode 2022-11-10 13:34:59 +01:00
berniev
ae53c9b0a4 Gui: Use auto and range-based for (#7481)
* On lines where the variable type is obvious from inspection, avoid repeating the type using auto. 
* When possible use a ranged for loop instead of begin() and end() iterators
2022-09-14 13:25:13 -05:00
berniev
75fa455c5d Gui: Use override etc 2 2022-08-09 12:43:23 +02:00