Commit Graph

41277 Commits

Author SHA1 Message Date
Jacob Oursland
9b8efeefed CMake: use job pools to restrict number of concurrent compilers and linkers.
When using Ninja build system, CMake can specify job pools for number of concurrent compilers
and concurrent linkers.  This PR employes the heuristic of max number of compilers as available
physical ram / 1 GiB and a single linker instance to prevent using excessive RAM.  Modern
linkers are multithreaded and should not be run concurrently due to risk of resource exhaustion.
2025-04-15 13:04:22 +02:00
Jacob Oursland
e72c95943f pixi: use clang on Linux.
clang uses considerably less memory on Linux allowing more concurrent instances than with g++.
Using clang reduced build times on a machine from 63m to 32m.
2025-04-15 13:04:13 +02:00
Kacper Donat
abbd2a6c65 Merge pull request #20747 from hyarion/refactor/use-toDegrees-and-toRadians
Use toDegrees and toRadians
2025-04-15 09:21:34 +02:00
Benjamin Nauck
f22f3705db Use Base::toDegrees() instead of manually converting 2025-04-15 07:16:39 +02:00
Benjamin Nauck
21fbf8e539 Use Base::toRadians() instead of manually converting 2025-04-15 07:16:36 +02:00
mosfet80
1f8c8043fc Update sub_buildPixi.yml
https://github.com/prefix-dev/setup-pixi/releases

https://pixi.sh/dev/CHANGELOG/
2025-04-15 06:46:27 +02:00
Jacob Oursland
b9ca0db183 pixi: Use the mold linker on Linux. 2025-04-15 06:42:55 +02:00
Kacper Donat
8d04d66c30 Merge pull request #20713 from hyarion/refactor/tighten-up-tools
Tighten up types in Base/Tools.h math functions
2025-04-14 23:58:26 +02:00
Jackson Oursland
df1c5e73b2 CMake: set optimization of debug builds to -Og. (#20780)
* CMake: set optimization of debug builds to -Og.

* Update cMake/FreeCAD_Helpers/SetGlobalCompilerAndLinkerSettings.cmake

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>

* Fix indentation level

---------

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-04-14 21:34:46 +00:00
Roy-043
47037105b1 BIM: fix BIM_WPView command (#20741)
* BIM: fix BIM_WPView command

The BIM_WPView command did not work properly. This was mainly due to a faulty import.

* Updated to avoid a linter warning
2025-04-14 11:28:55 -05:00
Chris Hennes
6eea3d4b85 Merge pull request #20549 from davesrocketshop/external_manager_pr
Material: Interface with an external module
2025-04-14 11:23:53 -05:00
Roy-043
a0796f6625 BIM: fix Arch_Schedule column width handling
Fixes #20723.

The clearAll method resets the column widths of the sheet. The code now stores the old widths and restores them after calling the method.

The old problem that the method would remove the custom property no longer occurs so that code was removed.
2025-04-14 11:21:26 -05:00
Bas Ruigrok
7b46ac4cd6 Use longest edge in face for horizontal/vertical alignment (#20374)
* App: Add second direction to getCameraAlignmentDirection()

* Part: Find longest face edge for horizontal/vertical alignment

* Gui: Use longest face edge for horizontal/vertical alignment

* App: Improve horizontal/vertical alignment for Datums and LCS
2025-04-14 11:20:49 -05:00
Chris Mayo
1f30874e7a CMake: Fix duplicating DESTDIR in Designer plugin installation path
CMake already handles DESTDIR.
2025-04-14 11:18:26 -05:00
PaddleStroke
7e49be4f0f Sketcher: Refactor DrawSketchHandler::seekAutoConstraint (#20476)
* Sketcher: Refactor DrawSketchHandler::seekAutoConstraint

* to squash

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update DrawSketchHandler.h

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* move to protected. To squash

* remove arc of ellipse forgotten if

* Update DrawSketchHandler.cpp

* Update src/Mod/Sketcher/Gui/DrawSketchHandler.h

Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>

* Update DrawSketchHandler.h

* Update DrawSketchHandler.cpp

* revert hitshapedir

* Remove never used if condition

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>
2025-04-14 11:15:00 -05:00
mosfet80
3eabb0a29b MOD: assembly clean (#20557)
* MOD: assembly clean

clean code

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update AssemblyLink.cpp

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-14 11:05:55 -05:00
Roy-043
6c3d85221d Draft: Simplify working plane view observer callback
The old callback contained unnecessary checks that prevented the working plane from working correctly if the Tray was missing.
2025-04-14 11:01:48 -05:00
Roy-043
046d6af286 BIM: HorizontalArea prop did not detect islands
Forum topic:
https://forum.freecad.org/viewtopic.php?t=95973

This was fixed by using `Part::FaceMakerCheese`.
2025-04-14 11:00:40 -05:00
David Carter
58cc0014e1 Dependencies: Add lru-cache library
Adds a generic C++ based caching library to support material external
modules. This is a template based library which means there is nothing
to build or link.

The only modification is to the CMakeLists.txt file to enable
integration with FreeCAD,

Original source: https://github.com/goldsborough/lru-cache
2025-04-14 11:00:05 -05:00
Benjamin Bræstrup Sayoc
8e7d3325b3 TechDraw: refactor click handles for editable fields
Fixes #19387
2025-04-14 10:46:09 -05:00
Chris Hennes
e2c2017df5 Merge pull request #20649 from pieterhijma/viewprovider-toggle-visibility
[Core] Allow setting visibility toggling in the ViewProvider
2025-04-14 10:45:14 -05:00
Roy-043
122dc056ab BIM: BIM_Leader would create a wire with fewer than 2 points
If the BIM_Leader was escaped without clicking a point, or after cicking only 1 point, a Draft_Wire object would still be created.
2025-04-14 10:34:13 -05:00
Jackson Oursland
f6df2b1c5f Add cmake to Ubuntu package dependencies. (#20578) 2025-04-14 10:16:58 -05:00
tarman3
9ca9d1b1f1 Fix typos in warning message 2025-04-14 14:20:20 +02:00
tarman3
4434cebcac Less warning with Array DressUp 2025-04-14 14:20:20 +02:00
Jacob Oursland
d1918be11c pixi: Unset CFLAGS, CXXFLAGS, DEBUG_CFLAGS, and DEBUG_CXXFLAGS.
pixi sets a variety of environment variables, which unfortunately includes compiler optimization flags.
This PR unsets the compiler flags for parity with other environments.

A consequence of this is that debug builds are no longer build with high optimization, which is a desirable outcome.
2025-04-14 10:05:41 +02:00
Benjamin Nauck
282662e735 Base: make our fmod require floating point values 2025-04-14 08:00:57 +02:00
Benjamin Nauck
494434fc5f Base: Make degrees and radians convertions safer and faster 2025-04-14 08:00:57 +02:00
Benjamin Nauck
f12a63af87 Base: Make sgn branchless 2025-04-14 08:00:57 +02:00
Benjamin Nauck
ac0e188141 Base: Require clamp to take arithmetic values
use std::clamp internally, function should probably be removed
2025-04-14 08:00:48 +02:00
captain0xff
d2ff41dbd7 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
Luz Paz
3fa260f869 Fix various typos
Found via codespell
2025-04-13 14:06:26 -05:00
Kacper Donat
4b0a70b62d Gui: Disable Show Placement for Body Features 2025-04-13 17:54:01 +02:00
Kacper Donat
3e2f88b74c Gui: Hide Placement Indicator with object 2025-04-13 17:54:01 +02:00
Kacper Donat
fba2e31f6c Gui: Ensure that placement indicator is always on top 2025-04-13 17:54:01 +02:00
Jacob Oursland
7d68db60b4 CI: fix macOS weekly build. 2025-04-11 22:48:47 -05:00
Chris Hennes
3253a088b6 Merge pull request #20415 from oursland/weekly-build
CI/CD: Implement weekly builds.
2025-04-11 13:47:53 -05:00
Benjamin Nauck
5e7ffca25f Merge pull request #20640 from marcuspollio/bim-cleanup-license
BIM: cleanup license blocks
2025-04-11 16:31:02 +02:00
Kacper Donat
77e40b9747 Base: Use explicit pointer syntax for freecad_cast (#20694)
* Base: Use explicit pointer syntax for freecad_cast

This aligns our custom cast with other casts

* All: Use explicit pointer syntax for freecad_cast
2025-04-11 14:11:33 +00:00
marcuspollio
679f582714 Merge branch 'main' into bim-cleanup-license 2025-04-11 15:13:45 +02:00
Ajinkya Dahale
02bb799209 Sketcher: Refactor and fix DrawSketchDefaultHandler.h
Fixes the issue in this comment:
https://github.com/FreeCAD/FreeCAD/pull/20476#issuecomment-2758401350.
2025-04-11 08:16:19 +02:00
Pieter Hijma
5ba9037885 [Doc] Fix unassociated doc strings
Before this commit, these doc strings were unassociated, which means
that the can appear at random places.  They are now associated with
their namespace an class.
2025-04-11 00:47:54 +02:00
Jacob Oursland
11c0a30e1c CI: weekly-build debug: do not upload tags or artifacts. 2025-04-10 15:13:09 -07:00
David Carter
d29e7aa5be Materials: Use data classes in interface specification 2025-04-10 06:13:38 -04:00
tarman3
80611a6c4e CAM: Multiline POSTAMBLE and PREAMBLE arguments in old postprocessors (#20715)
* CAM Multiline POSTAMBLE and PREAMBLE in old postprocessors

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* CAM: Fix preamble and postamble help text

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-10 12:05:48 +02:00
Ajinkya Dahale
a049a5df07 [Sketcher][test] Remove some obsolete TODOs 2025-04-10 09:20:18 +02:00
Ajinkya Dahale
6aec4c5d43 [Sketcher][test] Add tests for fixes done in #20150 2025-04-10 09:20:18 +02:00
Ajinkya Dahale
fa57c4d0df [Sketcher] Make trimmed curve(s) construction based on original 2025-04-10 09:20:18 +02:00
Ajinkya Dahale
32cf5fa61a [Sketcher] Add missing check when transforming constraints for trim
Fixes https://github.com/AstoCAD/FreeCAD/issues/24.
2025-04-10 09:20:18 +02:00
Ajinkya Dahale
18fe29d0b5 [Sketcher] Add missing check in deriveConstraintsForPieces
Fixes #19770.
2025-04-10 09:20:18 +02:00