Commit Graph

42650 Commits

Author SHA1 Message Date
Kacper Donat
fe96e7e194 Gui: Reset UVW coordinate system in transform when rotation changes 2025-01-04 16:32:52 +01:00
Kacper Donat
d08810c649 Part: Extract methods from AttachEngine::readLinks 2025-01-04 16:32:52 +01:00
Kacper Donat
a3bf63bae2 PD: Forward transform requests to Body 2025-01-04 16:32:52 +01:00
Kacper Donat
736fbee539 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
25cf119c60 Gui: Add Dragger placement preview in Transform dialog 2025-01-04 16:32:52 +01:00
Kacper Donat
fab235682d Gui: Make ViewProviderLink based on ViewProviderDragger 2025-01-04 16:32:52 +01:00
Kacper Donat
1df3b5be6c 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
b470f74398 Gui: Add QuantitySpinBox normalization 2025-01-04 16:32:52 +01:00
Kacper Donat
8813a0c115 Gui: Refactor TDragger 2025-01-04 16:32:52 +01:00
Kacper Donat
2a69e3d878 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
88141d6dce 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
49ff7b8bf0 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
23bdfeb672 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
878dd55ed0 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
19b4470ce9 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
a974e413fa 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
2b35ad2281 Draft: Minor cosmetic changes to test files 2025-01-03 22:11:05 +01:00
Roy-043
b639b20148 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
28d177a725 Add another missing import 2025-01-03 20:32:17 +01:00
Roy-043
4ba16cebb7 Add missing import 2025-01-03 20:10:47 +01:00
Roy-043
4d37256877 Update CMakeLists.txt 2025-01-03 19:56:20 +01:00
Roy-043
0bc9737ca6 Draft: Introduce base classes for Draft tests
To avoid code duplication.
2025-01-03 16:51:42 +01:00
Roy-043
7b548bee7f 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
Zheng, Lei
89ec079fbf Toponaming: import code related to ElementMapVersion from LS3
*Imported original code
2025-01-03 14:15:19 +01:00
Vincenzo Calligaro
e5b1d05813 Toponaming: import code related to ElementMapVersion from LS3
*Added test

Signed-off-by: Vincenzo Calligaro <vincenzo.calligaro@gmail.com>
2025-01-03 14:12:04 +01:00
Roy-043
c7630ac065 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
7cfa0df4ad Gui: Remove migration warning 2025-01-02 13:34:26 +01:00
wmayer
ad314fea7e 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
90d8c34631 App: Fix const correctness 2025-01-02 13:24:57 +01:00
wmayer
b3a1fd9676 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
marioalexis
604a764a6f Fem: Use property constraints on mesh netgen object 2025-01-01 11:21:44 -03:00
marioalexis
96aea8545b App: Assign constraints for integer and float properties using dictionary 2025-01-01 11:21:37 -03:00
wmayer
cbd116b451 Gui: Use bitmask instead of three booleans in setTemporaryVisibility to improve readability 2024-12-31 13:29:01 +01:00
Kohei Takahashi
cc77739c6d Base: Expanded FindAttribute() to get rid of frequent constant transcode 2024-12-31 10:30:23 +09:00
wmayer
63088a29a9 Gui: Reduce cognitive complexity of ViewProviderCoordinateSystem::setTemporaryVisibility 2024-12-30 19:03:58 +01:00
wmayer
8d4ddac85e Gui: Reduce code duplication in ViewProviderCoordinateSystem 2024-12-30 18:42:50 +01:00
wmayer
72cfd14768 Gui: const correctness in ViewProviderPlane 2024-12-30 17:44:04 +01:00
PaddleStroke
e977eb49e3 Core datums: Rework to improve new sketch 2024-12-30 09:05:44 +01:00
Joao Matos
9eb55a0414 CMake: Try searching for Coin3D in config mode 2024-12-28 20:49:36 +00:00
Joao Matos
11af126717 CMake: Use Coin3d CMake target directly if one exists. 2024-12-28 20:49:01 +00:00
Roy-043
7083362acb 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
9b8b962f56 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
Kohei Takahashi
f032b44f44 Base: Added helper macro for caching transcode-ed string literal 2024-12-26 17:16:45 +09:00
Paul Lee
6bb424b5d1 [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
5957a9118e 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
7fb80448f2 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
abb50a4daa [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
0d128517de FEM: Update checksanalysis.py 2024-12-23 18:50:10 +01:00
wandererfan
8e653ca7fb [TD]fix highlight style preference 2024-12-23 12:32:19 -05:00
Chris Hennes
40681a9d3d 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