Commit Graph

61 Commits

Author SHA1 Message Date
captain0xff
35fe77efd0 Gui: move geometry data to separate classes from dragger components 2025-07-08 17:59:51 +05:30
captain0xff
5aba712505 Gui: add SoToggleSwitch class
update
2025-07-08 17:59:51 +05:30
captain0xff
dfd29e06ea Gui: refactor SoRotationDragger 2025-07-01 18:18:14 +05:30
Captain
f92d33944b Gui: refactor SoLinearDragger (#21451)
* Gui: refactor SoLinearDragger

* further improvements

* allow changing label visibility

* change SoLinearDraggerContainer to not inherit from SoDragger

---------

Co-authored-by: captain <captain@captain.captain.com>
2025-06-14 23:21:25 +02:00
Chris Hennes
c9c193b5d6 Gui: Eliminate double->float truncations
Our GUI code uses a mix of floats and doubles to represent floating
point numbers, and in a few places interchanges them in a way that
causes an invisible loss of precision. Change the double precision
"default" values to float defaults, and use the appropriate value for
pi.
2025-05-13 08:37:06 +02:00
captain0xff
7f5b1c9f2c Gui: moved dragger classes to separate folder and files
* renamed SoFCCSysDragger to SoTransformDragger
* moved TDragger, RDragger and TPlanarDragger to separate files and also renamed them to be more descriptive
2025-04-13 21:36:54 +02:00
Kacper Donat
f258a2639c Gui: Add Origin indicator to SoFCPlacementIndicator
This adds optional origin indicator ofr SoFCPlacementIndicator. This is
something that can be used to clearly indicate origin placement with
small sphere.
2025-04-09 17:48:15 +02:00
Benjamin Nauck
34bc1d45ea Gui: Use std::numeric_limits and std::numbers instead of defines 2025-03-29 13:32:38 +01:00
Chris Hennes
20050d002d Inventor: Fix old color ref 2025-03-02 17:09:19 -06:00
Chris Hennes
7f1c43a335 Merge pull request #19636 from kadet1090/color-in-base
Base: Move App::Color to Base
2025-03-02 16:36:40 -06:00
Kacper Donat
9e2865a8d4 Gui: Add SoFCPlacementIndicatorKit node
This adds SoFCPlacementIndicatorKit - a node that can be used to
show position of object to the user. It can be configured in various
ways so it should be a good base for future unification of features like
this across the application.
2025-02-24 17:30:27 +01:00
Kacper Donat
a72a63232a Base: Move App::Color to Base
Every basic data type is stored in Base module, color is standing out as
one that does not. Moving it to Base opens possibilities to integrate it
better with the rest of FreeCAD.
2025-02-17 21:10:26 +01:00
Benjamin Bræstrup Sayoc
ce35c95e18 [Gui] Make axis colors of axis kit (world origin axis) changeable 2025-01-24 15:45:42 +01:00
Kacper Donat
83807826cf Gui: Fix render order of datum planes 2025-01-20 11:38:57 -05:00
luzpaz
7782fd6827 Trim lines ending with superfluous whitespace 2024-12-22 08:50:37 -05:00
PaddleStroke
8b6b66040c SoShapeScale: Fix SoShapeScale does not take DPI scaling into account 2024-12-10 17:15:13 +01:00
PaddleStroke
396963006b Core: SoShapeScale fix weird scaling on viewport resize. See https://github.com/FreeCAD/FreeCAD/issues/18382#issuecomment-2527623758 2024-12-10 17:15:13 +01:00
wwmayer
c0b9191cf5 Add doc string to SoFCTransform
Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2024-11-28 19:31:44 +01:00
wmayer
f7da5f8505 Core: Implement SoFCTransform node
In its doAction() method it only sets the model matrix if it's not the identity matrix.
This improves the issue #7606
2024-11-28 19:31:44 +01:00
liukaiwen
229d2902bd add SoFCBackgroundGradient to inventor folder 2024-07-22 02:48:53 +08:00
liukaiwen
4c6b7dadeb refactor: move some nodes to Inventor folder 2024-07-20 01:07:04 +08:00
Roy-043
dd7715036d Gui: MarkerBitmaps fix DIAMOND_FILLED_20_20
Also made DIAMOND_FILLED_25_25 sharper.

See: https://github.com/FreeCAD/FreeCAD/pull/11524#issuecomment-1847906082
2023-12-11 18:23:41 +01:00
Syres916
92707a75cd [Gui] Add HourGlass markers including larger sizes 2023-11-28 23:55:10 +01:00
wmayer
e57f5c42cb Gui: use MarkerBitmaps::getSupportedSizes to get available sizes 2023-11-25 18:37:26 +01:00
Syres916
00826abe7a [Gui] Add 20, 25 and 30px marker sizes 2023-11-25 12:36:33 +01:00
wmayer
c016f1c1fb Gui: modernize C++: use equals default 2023-08-20 18:12:43 +02:00
wmayer
2725c3a54f Gui: modernize C++: use range-based for loop 2023-08-14 19:42:18 +02:00
wmayer
e72da4d4c4 Gui: modernize C++: use override 2023-08-04 17:09:53 +02:00
luz paz
c16e88845b Gui: fix trailing whitespace 2022-12-02 19:18:54 -06:00
marioalexis
0382f276a2 Gui: Replace C cast 2022-09-18 11:06:51 -05:00
berniev
75acacd1b7 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
wmayer
ba8d5ab055 Gui: modernize C++: replace 'typedef' with 'using' 2022-08-29 14:09:18 +02:00
wmayer
54506e12bf Fix several clazy issue:
* Using copy-ctor but class SbMatrix/SbViewportRegion has a trivial copy-ctor but non trivial assign operator [-Wclazy-rule-of-two-soft]
2022-07-24 19:38:59 +02:00
andrea
3018985f80 Remove unused code into GUI 2022-07-17 03:53:11 +02:00
Chris Hennes
bedf920702 Gui: PR6497 move return statement to new line 2022-03-29 12:33:50 -05:00
Uwe
aa53698c55 [Gui] So headers: remove some unused includes
- also sort out some headers for precompiled headers
2022-03-14 15:13:13 +01:00
Uwe
a64563c92e [Gui] Inventor: remove unused includes
-also move some includes to precompiled header
2022-03-06 03:28:50 +01:00
wmayer
5196b223fb Gui: modernize C++11
* remove redundant void-arg
* use nullptr
2022-02-03 11:15:46 +01:00
Benjamin Nauck
6870b02210 [Gui] Make inventor markers symmetric
These changes makes the round markers symmetric horizontally, vertically
and on the diagonal.
2021-01-28 14:54:05 +01:00
Zheng, Lei
e6f4a1797c Gui: reset model transformation scaling in SoAutoZoomTranslation 2020-05-13 13:21:58 +02:00
luz.paz
f11783a498 src/Gui: [skip ci] fix header uniformity
This PR fixes header uniformity across all `src/Gui` files
2019-12-25 11:39:17 +01:00
wmayer
b50b21576e core system
force strict ISO C++ (-Wpedantic)
TODO: still a lot of variadic macros are not valid ISO C++
2019-09-18 01:01:14 +02:00
Zheng, Lei
bc26820837 Gui: Placement/DatumCS view provider changes
* Add always zoom invariant and always on top rendering to
  ViewProviderDatumCS

* Add a new utility class AxisOrigin for more efficient axis rendering.
  Also exposed to python.

* Change ViewProviderPlacement to use AxisOrigin for rendering.
  A single instance of AxisOrigin is shared by all
  ViewProviderPlacement. Selection context is used to distinguish among
  different instances.
2019-08-17 15:08:34 +02:00
JimStar
348ae51772 Extended global marker size to be used for other modes 2018-07-11 21:22:28 -03:00
JimStar
e5dc8bfffa Implemented a global setting for marker size and support of it for snapping in "Draft" workbench. In future this setting can be used for other markers too, to be able to set them all to comfortable size by just one global setting.
Before that (e.g. on MacBook Pro) it was very hard to see the microscopic selection-circle hidden behind much bigger cursor arrow when trying to snap e.g. a line to some vertex. Now this setting can be used for such displays to increase the marker size and make it clearly visible behind the cursor.
The already existing "sketcher marker size" property is intended to be used for sketcher only, so it's not suitable for global setup of all the markers' sizes uniformly...
2018-07-05 19:05:19 -03:00
wmayer
1719d0ba6b fix bug in SmSwitchboard::doAction 2018-01-26 16:47:56 +01:00
wmayer
f76a9a773e add SwitchBoard node class 2017-05-01 17:42:03 +02:00
Kunda
19f8fd4c10 source typo fixes pt5
+ cleaning up some more non-short-URLs
Issue #2914
2017-03-04 13:07:13 -03:00
wmayer
f19d424d8b fix -Wextra in FreeCADGui 2016-09-21 20:54:52 +02:00
wmayer
ff5869acae cleanup SoAutoZoomTranslation 2016-08-12 17:55:53 +02:00