Commit Graph

39881 Commits

Author SHA1 Message Date
Kacper Donat
13f69022a2 Gui: Initialize reference rotation properly 2025-01-04 16:32:52 +01:00
Kacper Donat
bc0455d483 Gui: Zero out rotation only if more than 1 axis changed 2025-01-04 16:32:52 +01:00
Kacper Donat
9b404aa5c7 Gui: Use extrinsic angles for absolute position mode in transform dialog 2025-01-04 16:32:52 +01:00
Kacper Donat
7b267ffbd1 Gui: Disable controls when selecting origin in transform dialog 2025-01-04 16:32:52 +01:00
Kacper Donat
f1ae9ac435 Gui: Fix crash on qBounds for imperial units 2025-01-04 16:32:52 +01:00
Kacper Donat
346faaa92b Gui: Reset UVW coordinate system in transform when rotation changes 2025-01-04 16:32:52 +01:00
Kacper Donat
6b4bc34214 Part: Extract methods from AttachEngine::readLinks 2025-01-04 16:32:52 +01:00
Kacper Donat
d7aa1bb2ef PD: Forward transform requests to Body 2025-01-04 16:32:52 +01:00
Kacper Donat
46372a54d3 App: Fix GeoFeature::getGlobalPlacement when rootObj is Link
This fixes a case when in case of rootObj being Link placement was not
calculated correctly due to not changing of the document. While for
original use it was fine as this was mostly used in case where there was
defined non-link root for general case Links can be root objects of the
document.
2025-01-04 16:32:52 +01:00
Kacper Donat
5300d28bf4 Gui: Add Dragger placement preview in Transform dialog 2025-01-04 16:32:52 +01:00
Kacper Donat
f9efd69040 Gui: Make ViewProviderLink based on ViewProviderDragger 2025-01-04 16:32:52 +01:00
Kacper Donat
4702c72fb8 Gui: Rework TaskCSysDragger into new Transform Dialog
This commit refactor ViewProviderDragger and TaskCSysDragger to be more
modern and to support selecting TransformOrigin.
2025-01-04 16:32:52 +01:00
Kacper Donat
72b92ce160 Gui: Add QuantitySpinBox normalization 2025-01-04 16:32:52 +01:00
Kacper Donat
e4807f8fb0 Gui: Refactor TDragger 2025-01-04 16:32:52 +01:00
Kacper Donat
dc747db955 Base: Add ComplexGeoData::centerOfGravity helper
This adds a simple quality of life helper returning center of gravity as
std::optional instead of C style method accepting reference and
returning bool to indicate method success.
2025-01-04 16:32:52 +01:00
Kacper Donat
e12bdfc29c Part: Add midpoint attachement mode
This adds midpoint attachement mode to Attacher. It works just like
method for finding placement of JCS in Assembly.
2025-01-04 16:32:52 +01:00
Kacper Donat
a71a67408b Part: Use TopoShape instead of TopoDS_Shape
This changes Attacher to use more our own TopoShape class which is more
information rich.
2025-01-04 16:32:52 +01:00
Kacper Donat
431f46a4fe ServiceProvider: Use std::string as key for services map
This fixes potantial crash that can happen on certain platforms like
macOS due to `typeid(T).name()` returning different pointers to string
which does not happen on all platforms.
2025-01-04 16:32:47 +01:00
Kacper Donat
3774830a46 ServiceProvider: Better naming of methods
This commit renames methods of ServiceProvider to be easier to
understand. It also replaces the misleading singleton with more correct
here global instance of class.
2025-01-04 16:32:47 +01:00
Roy-043
88804819c0 Draft: comment out 3 test files with only dummy tests
Some Draft test files contain only dummy tests (`aux.fake_function`). Running them will just open a new file and then immediately close it. This can result in issues with code that is called with a delay. See #18679. Disabling these tests by commenting them out avoids this.
2025-01-04 12:20:33 +01:00
Roy-043
8e17312d81 Merge pull request #18857 from Roy-043/Draft-Minor-cosmetic-changes-to-test-files
Draft: Minor cosmetic changes to test files
2025-01-04 01:16:48 +01:00
Roy-043
14d5f6bb3c Draft: Minor cosmetic changes to test files 2025-01-03 22:11:05 +01:00
Roy-043
103731a3a9 Merge pull request #18851 from Roy-043/Draft-Introduce-base-classes-for-Draft-tests
Draft: Introduce base classes for Draft tests
2025-01-03 21:04:21 +01:00
Roy-043
de5eca6627 Add another missing import 2025-01-03 20:32:17 +01:00
Roy-043
af2b7dde06 Add missing import 2025-01-03 20:10:47 +01:00
Roy-043
f46e37c2f0 Update CMakeLists.txt 2025-01-03 19:56:20 +01:00
Roy-043
5b720ea762 Draft: Introduce base classes for Draft tests
To avoid code duplication.
2025-01-03 16:51:42 +01:00
Roy-043
2bab7f436a Merge pull request #18841 from Roy-043/Draft-Make-test_modification-tests-independent-of-fillmode
Draft: Make test_modification tests independent of fillmode
2025-01-03 14:42:31 +01:00
Roy-043
98adfc09ec Draft: Make test_modification tests independent of fillmode
Fixes #18315.

In the issue discussion the more obvious solution (change the MakeFace property of the Draft_Wires) was missed.
2025-01-03 11:38:51 +01:00
wmayer
19d4fd6753 Gui: Remove migration warning 2025-01-02 13:34:26 +01:00
wmayer
385f21a26e Core: Fixes #18717
Neither in #18332 nor in any of the referenced issues a reason is given why the placement of the coordinate axes must be changed.
Only doing it to make the client code look more consistent is not a valid reason.

This change breaks forward and backward compatibility and with #18717 we already have a hard to solve issue. Furthermore, at this
point of time it's not even clear what other collateral damage the change may cause.

So, this commit hides all the implementation details of the DatumElement and restores the original placement for the axes.
This commit makes the line migration code obsolete
2025-01-02 13:27:54 +01:00
wmayer
e01b7b69d6 App: Fix const correctness 2025-01-02 13:24:57 +01:00
wmayer
d15fd988a4 App: Add methods to get base and direction of datum element
Add the methods DatumElement::getBasePoint() and DatumElement::getDirection() to hide implementation details and guarantee consistent behaviour.

Using the methods fixes several regressions in:
* Constraint::getDirection
* PolarPattern::getTransformations
2025-01-02 13:24:57 +01:00
PaddleStroke
4892fcaaf1 Core datums: Rework to improve new sketch 2024-12-30 09:05:44 +01:00
Roy-043
b48079c544 Merge pull request #18737 from Roy-043/Draft-Remove-unnecessary-CamelCase-names
Draft: Remove unnecessary CamelCase names
2024-12-27 18:53:32 +01:00
Roy-043
a78b7ae66a Draft: Remove unnecessary CamelCase names
The related functions were introduced in V0.19. They should not be also available under CamelCase names.
2024-12-26 12:06:29 +01:00
Paul Lee
da1f3a3006 [ArchStairs] Regression-fix : EnsureBase preventcreation
Stairs can do without Base.  Base validity is tested in code.

EnsureBase() is remarked out.
2024-12-24 13:54:54 +01:00
Tobias Frost
9a62a0271d Fix compilation issue if KuKa files have been removed.
(Background is issue #18622)

CMake errors out when the Kuka files are removed with:

```
CMake Error at cMake/FreeCadMacros.cmake:79 (ADD_CUSTOM_COMMAND):
  ADD_CUSTOM_COMMAND called with wrong number of arguments.
Call Stack (most recent call first):
  src/Mod/Robot/CMakeLists.txt:47 (fc_target_copy_resource)
```

The problem is that while the CMake code checks whether /src/Mod/Robot/Lib/Kuka is there befor setting Robot_Resources, but then later still uses the variable, even if it hasn't been set.

The patch just guards the failing fc_target_copy_resource with another if that checks whether the variable has been defined.

CMake install would also fail when Lib is empty, so another guard is required for the `INSTALL( DIRECTORY Lib` … section.
2024-12-24 07:00:48 -05:00
Tobias Frost
debca05df4 Remove unused ifndefs for GL_MULTISAMPLE
(found while searching for the build error on armhf/armel on Debian
buildds, once resolved will make an additional PR for that.)

$grep -r GL_MULTISAMPLE src/
yields:

 src/Mod/Sandbox/Gui/Overlay.cpp: #ifndef GL_MULTISAMPLE
 src/Mod/Sandbox/Gui/Overlay.cpp: #define GL_MULTISAMPLE  0x809D
 src/Mod/Sandbox/Gui/GLGraphicsView.cpp:#ifndef GL_MULTISAMPLE
 src/Mod/Sandbox/Gui/GLGraphicsView.cpp:#define GL_MULTISAMPLE  0x809D

-> The defines are defined, but never used in the compilation unit
2024-12-24 10:41:40 +01:00
WandererFan
f144a87539 [TD]Long and link dim refs (fix #13375) (#18641)
* [Meas]Changes for TD dimension refs for links

* [TD]App changes for dim refs to links

* [TD]Gui changes for dim refs to links

* [TD]fix 2 lint messages

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

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-23 17:36:22 -05:00
FEA-eng
a13ecd87db FEM: Update checksanalysis.py 2024-12-23 18:50:10 +01:00
wandererfan
d04a01e82e [TD]fix highlight style preference 2024-12-23 12:32:19 -05:00
Chris Hennes
87e6b6f82d CI: Add missing C++ tests to CI run
The current structure of the CI system explicitly lists the tests to run, and several recently-added test executables were not included in the list.
2024-12-23 18:27:19 +01:00
Chris Hennes
426a5a50bc Addon Manager: Add fallbacks for PySide to WidgetFilterSelector
Ensure that this part of the Addon Manager can be tested outside
FreeCAD by falling back to explicit PySide imports.
2024-12-23 18:24:37 +01:00
Chris Hennes
7056b1c122 Clang-Tidy: Remove AnalyzeTemporaryDtors
Deprecated in clang-tidy 16 and removed in clang-tidy 18.
2024-12-23 18:23:58 +01:00
wmayer
98fdb40546 Gui: Fix copying elements in the tree view by holding CTRL key
In older versions it was possible to copy elements with drag and drop by holding the CTRL key. Since v0.20 or v0.21 this wasn't possible any
more so that elements are always moved.

Note: Copying is only allowed for elements that have a parent object.
2024-12-23 12:21:12 -05:00
Mark Ganson TheMarkster
27889739bd [Spreadsheet] fix isValidAlias() (#18567) 2024-12-23 14:18:30 -03:00
WandererFan
2240932ef3 [TD]Section line and rotation fix 17831 (#18663)
* [TD]fix SectionLine colour (fix 17831 part 1)

* [TD]fix wrong rotation in Section task (fix 17831 part 2)
2024-12-23 11:03:31 -06:00
Chris Hennes
021a0dbc87 Merge pull request #18608 from marioalexis84/fem-netgen_log_verbosity
Fem: Add preference entry to set Netgen (new implementation) log verbosity and number of threads for meshing
2024-12-23 12:02:32 -05:00
Chris Hennes
8a95d0e6e8 Addon Manager: refactor process_string_to_datetime (#18492)
* Addon Manager: Refactor utilities tests to remove filesystem use

* Addon Manager: Move process_date_string_to_python_datetime to utilities

Also add unit tests and modify the exception type

* Addon Manager: Add tests for other date separators

* Addon Manager: Refactor to reduce duplication

* Addon Manager: add explanation of why the function exists

* Addon Manager: use exception chaining

* Addon Manager: Remove unused test files
2024-12-23 18:01:02 +01:00