Commit Graph

41277 Commits

Author SHA1 Message Date
Jacob Oursland
c56ae33493 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
7b759aae1a 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
ac02a9a39d 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
22120fa597 Use Base::toDegrees() instead of manually converting 2025-04-15 07:16:39 +02:00
Benjamin Nauck
f932c7e4e0 Use Base::toRadians() instead of manually converting 2025-04-15 07:16:36 +02:00
mosfet80
5a1cdcfd11 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
bc2aba9618 pixi: Use the mold linker on Linux. 2025-04-15 06:42:55 +02:00
Kacper Donat
61758e5786 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
5875f0a90c 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
31b0dbaa79 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
d0f09c3f2b 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
2f39daf986 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
921620ba8a 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
d91b3e0517 CMake: Fix duplicating DESTDIR in Designer plugin installation path
CMake already handles DESTDIR.
2025-04-14 11:18:26 -05:00
PaddleStroke
f9f76a2516 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
71317baa52 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
9dffe0d9b4 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
681d056073 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
09f71cb40d 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
393ab112e5 TechDraw: refactor click handles for editable fields
Fixes #19387
2025-04-14 10:46:09 -05:00
Chris Hennes
7ac21c5eff 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
04c686b1d7 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
b8031f9205 Add cmake to Ubuntu package dependencies. (#20578) 2025-04-14 10:16:58 -05:00
tarman3
c4b1c830fe Fix typos in warning message 2025-04-14 14:20:20 +02:00
tarman3
cb9e87998a Less warning with Array DressUp 2025-04-14 14:20:20 +02:00
Jacob Oursland
d56d902045 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
cc40e522de Base: make our fmod require floating point values 2025-04-14 08:00:57 +02:00
Benjamin Nauck
1370c2101f Base: Make degrees and radians convertions safer and faster 2025-04-14 08:00:57 +02:00
Benjamin Nauck
16a7bf420c Base: Make sgn branchless 2025-04-14 08:00:57 +02:00
Benjamin Nauck
12fa564894 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
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
Luz Paz
dd16b8053e Fix various typos
Found via codespell
2025-04-13 14:06:26 -05:00
Kacper Donat
a86c300688 Gui: Disable Show Placement for Body Features 2025-04-13 17:54:01 +02:00
Kacper Donat
5dc2ba40ea Gui: Hide Placement Indicator with object 2025-04-13 17:54:01 +02:00
Kacper Donat
2a4c7bc0b5 Gui: Ensure that placement indicator is always on top 2025-04-13 17:54:01 +02:00
Jacob Oursland
e990b456b9 CI: fix macOS weekly build. 2025-04-11 22:48:47 -05:00
Chris Hennes
b2a45feaa3 Merge pull request #20415 from oursland/weekly-build
CI/CD: Implement weekly builds.
2025-04-11 13:47:53 -05:00
Benjamin Nauck
1983052e38 Merge pull request #20640 from marcuspollio/bim-cleanup-license
BIM: cleanup license blocks
2025-04-11 16:31:02 +02:00
Kacper Donat
b300c80b90 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
74e5f7c500 Merge branch 'main' into bim-cleanup-license 2025-04-11 15:13:45 +02:00
Ajinkya Dahale
581fa12e45 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
74ac46175d [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
0747a4f4a1 CI: weekly-build debug: do not upload tags or artifacts. 2025-04-10 15:13:09 -07:00
David Carter
5bbb07e24d Materials: Use data classes in interface specification 2025-04-10 06:13:38 -04:00
tarman3
b91c5ef2af 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
f869bace95 [Sketcher][test] Remove some obsolete TODOs 2025-04-10 09:20:18 +02:00
Ajinkya Dahale
c0d469d404 [Sketcher][test] Add tests for fixes done in #20150 2025-04-10 09:20:18 +02:00
Ajinkya Dahale
23ecf94ab6 [Sketcher] Make trimmed curve(s) construction based on original 2025-04-10 09:20:18 +02:00
Ajinkya Dahale
08a66afbc8 [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
2779f0b29f [Sketcher] Add missing check in deriveConstraintsForPieces
Fixes #19770.
2025-04-10 09:20:18 +02:00