Commit Graph

2382 Commits

Author SHA1 Message Date
André Althaus
bd0e555e4e Use the isDerived<>() Template function 2024-02-28 17:29:59 +01:00
André Althaus
3936f49ee2 Fix linter hints 2024-02-28 17:29:59 +01:00
wmayer
50d254e7a2 Tests: use the correct value as reference 2024-02-27 08:47:47 -06:00
LemonBoy
bb9a30ac65 PD: Make datum points highlightable/selectable (#12439)
* PD: Make datum points highlightable/selectable

Give the user some feedback by changing the color of the datum point
marker as the user selects or hovers over it.

Closes #9540
2024-02-26 13:55:36 -03:00
Florian Foinant-Willig
cc5d4146cf PartDesign_Helix: use computed wires
use the wires of the computed face instead of the selected ones.
2024-02-26 17:41:21 +01:00
Chris Hennes
641e3dbbb4 Update translations (#12557)
* Update translations

* [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-02-24 21:38:37 -06:00
wmayer
64a91968a3 MSVC: fix compiler warnings 2024-02-25 00:12:34 +01:00
André Althaus
0c70b0bd1e Refactor the apply function to be virtual public 2024-02-21 15:04:38 +01:00
André Althaus
a89d450a93 Fix crash when canceling the MultiTransform panel while a newly cretated subfeature is edited
Before calling the closeSubTask() function from the dialog reject()
function, the slotDeletedObject() is called from the transaction being
aborted. This causes the subFeature pointer to be nullptr and subsequent
apply() functions from the SpinBox widgets to crash.

Before calling apply check if the subFeature is still there.
2024-02-21 14:56:23 +01:00
LemonBoy
28fdceaccd Preserve object order when moving them
Remove and re-insert the selected objects at the specified point in the
tree while preserving their relative order.

The code used to insert them in reverse order.

Closes #12287
2024-02-19 11:16:08 -06:00
André Althaus
30f5595e2a Reformat files with clang-format 2024-02-17 17:13:14 +01:00
André Althaus
cf627f5ce4 Fix apply() method not called consistently
The python console commands where not consistenly reported because
the apply function was not called or not implemented.

The function is now called from the base class and also when
a subfeature is closed in MultiTransform.

Some missing properties are also added.
2024-02-17 17:13:14 +01:00
André Althaus
565b83d8fe Refactor: optimize member access specifiers
After refactoring many members have unnecessarily open access specifiers.
This changes as many members as possible to private or protected.
2024-02-17 17:12:59 +01:00
André Althaus
8694874080 Refactor: remove unused functions 2024-02-17 17:12:59 +01:00
André Althaus
f82663cfb0 Refactor: add default member initializers 2024-02-17 17:12:59 +01:00
André Althaus
2076dff79d Refactor: replace enum with enum class 2024-02-17 17:12:59 +01:00
André Althaus
0b3eb1ae08 Move duplicated code to the base class
All pattern sublcasses contain the same code for handling the
feature list. This code is now moved into the base class that handles
the common ui.

The subclasses now only need to call the setupUI/setupParameterUI function
in their constructors and implement the setupParameterUI function
to create their parameter ui into the specified widget.

The MultiTransform also handles it's common ui and the subclasses
can reuse setupParameterUI without code duplication.
2024-02-17 17:12:32 +01:00
André Althaus
03bd548067 Refactor PD Pattern Tasks ui files
All files contain the same add/remove buttons and a feature list.

These common elements are moved into the TaskTransformedParameters.ui file.
The same goes for the common OK Button that is used in a MultiTransform.

The ui files for the patterns only contain their distinctive
parameters. And the common ui files contain an empy widget that will
be filled with the respective parameter widgets from the patterns.
2024-02-17 17:11:57 +01:00
Florian Foinant-Willig
f9cebebd6b PD: handle null pointer in Feature::getBaseShape (#12385) 2024-02-13 17:41:25 -03:00
Yorik van Havre
ae0f162a41 Crowdin translations (#12313)
* updated ts files

* merged crowdin translations

* [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-02-12 11:59:08 -06:00
wmayer
5eabeff94e Mod: fix several compiler warnings:
* fix -Wsometimes-uninitialized
* fix -Wunused-parameter
* fix -Wunused-variable
* fix -Winconsistent-missing-override
* fix -Wsign-compare
* fix -Wreorder-ctor
* fix -Wtautological-overlap-compare
2024-02-12 11:39:32 -06:00
Florian Foinant-Willig
45e6e3561e Part & PartDesign Cone: allow equal radii (#12219)
* PartDesign_Cone: allow equal radii

* fix R2 < R1

* Part_Cone: allow equal radii
2024-02-12 14:21:53 -03:00
Zolko-123
59107aab26 Update Mod/PartDesign/Gui/ViewProviderDatumCS.cpp
This is a small harmless visual improvement of the LCS representation in the 3D window: it leaves a small empty gap at the origin of the LCS which allows to select the point/vertex on which the LCS is attached
2024-02-12 11:20:20 -06:00
Florian Foinant-Willig
056b90cce3 Set Suppressed false if no shape 2024-02-12 17:55:51 +01:00
Florian Foinant-Willig
f4763109c3 [PD] Add a Suppressed property to disable a feature 2024-02-12 17:55:51 +01:00
Adrian Insaurralde Avalos
44f8772c89 Avoid sending unescaped quotes to python console 2024-02-04 16:44:25 -06:00
Ulices
bf7adc51d1 PartDesign: Update Length/Offset when Occurrences changes (#12069)
* Add 'HACK:'/`NOTE:` tags to get special highlightning

* [PD] Bugfix: Update Length/Offset when Occurrences changes

Fix #12068
2024-01-21 18:52:34 -06:00
Syres916
232cdfa89e [PartDesign] Revert #11357
See https://github.com/FreeCAD/FreeCAD/issues/11961#issuecomment-1889721739
2024-01-12 18:37:24 -06:00
wwmayer
53549f8ad7 PD: Add test for helix (#11601)
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-01-10 07:26:18 -06:00
sliptonic
4e22766a26 Merge pull request #11840 from maxwxyz/precise-toggle-command-description
Change the description of the default 'Toggle active object' command
2024-01-08 11:29:01 -06:00
Ajinkya Dahale
f9a71ae096 [PD] Fix reference axis selection in revolve/groove
Fixes #11713.
2024-01-08 14:19:57 -03:00
Syres916
51e4561fd7 [PartDesign] Hole, ignore duplicate circle/curve centers (#11773)
* [PartDesign] Hole, ignore duplicate circle/curve centers

* [PartDesign] Hole correct log output

* [PartDesign] Hole changes based on feedback
2024-01-08 13:55:16 -03:00
sliptonic
b67b15fb21 Merge pull request #11750 from realthunder/FixActiveBody
Fix object path in active object when creating new body in App::Part
2024-01-08 10:47:45 -06:00
bgbsww
1415e67b23 Correct mistaken Helix patch; use MakePipe for frenet for speed; add tests (#11598)
* Cleanup and switch to using MakePipe

* Cleanup unused include

* Use Frenet mode in building pipe

* Restore original code, add a control property

* Hide property, and init on new objects

* Restore prior behavior for legacy objects

* Clean up git blame; add missing move to keep helix same with new makePipe call

* Remove debug include

* Use doxygen syntax for deprecation comment

* Add unit tests; restore code for angled helixes; optimize zero angle helixes

* Lower test precision to accept platform variations

* Loosen more

* Correct restoration

* Tweak test volumes to match restored helix creation

* Restore helix generation parameter

* Fix test; delint
2024-01-08 13:43:38 -03:00
Chris Hennes
47c54f9971 Merge pull request #11786 from Syres916/PD_Fix_Combobox_Issue
[PartDesign] Sprocket fix bug with translated references
2024-01-06 18:31:18 -06:00
Max Wilfinger
44dfb959dc add placement command to context menu 2024-01-05 19:14:02 -06:00
bgbsww
5165127dfa Provide a default axis for polar patterns in multitransformation 2024-01-05 11:28:45 -06:00
Chris Hennes
fce7dea6f7 Update translations (#11886)
* Update translations

* [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-01-03 09:27:18 -06:00
Max Wilfinger
0652666321 use checkbox in menu item to display current object state and refactor the code 2023-12-28 11:30:49 +01:00
Max Wilfinger
a32d3b1046 Change the description of the default 'Toggle active object' command in the right click menu based on the current state of the selected object. 2023-12-27 09:10:30 +01:00
Syres916
f59f8d7810 [PartDesign] Remove unwanted print statement 2023-12-20 18:51:40 +00:00
Syres916
2c4059a3d5 [PartDesign] Add English references at end of table for clarity 2023-12-20 18:41:28 +00:00
Syres916
9e5fcc001f [PartDesign] Sprocket fix bug with translated references 2023-12-20 18:30:49 +00:00
Yorik van Havre
651fc54a8c merged crowdin translations 2023-12-20 09:27:37 +01:00
Yorik van Havre
1f65348080 Updated ts files 2023-12-20 09:27:37 +01:00
Zheng, Lei
057e3b55d2 PD: fix creating new body in active part
Add to active App::Part before setting active body in order to obtain
correct object path when setting active body

Fixes #10371
2023-12-17 21:28:37 +08:00
bgbsww
8cd29179f8 Add missing initialization of MirrorPlane on non sketch objects (#11638) 2023-12-11 11:07:03 -06:00
André Caldas
89dbab9b0e Avoids using getNameInDocument() to test if DocumentObject is attached to a Document.
This patch substitutes by isAttachedToDocument() (almost) everywhere where
getNameInDocument() is used for this purpose.

The very few places not touched by this patch demand a (just a little) less trivial change.
When we change the returning type of getNameInDocument() to std::string,
those places will be easily found, because they shall generate a compiler error
(converting std::string to bool).

Rationale:
The fact that getNameInDocument() return nullptr to indicate
that the object is not attached to a document is responsible for lots of bugs
where the developer does not check for "nullptr".

The idea is to eliminate all those uses of getNameInDocument() and, in the near future,
make getNameInDocument() return always a valid std::string.
2023-12-11 17:37:58 +01:00
Ajinkya Dahale
518b48ffaf [PD] Set up-to-face when opening revolution/grove task box 2023-12-04 13:40:31 -03:00
Ajinkya Dahale
48a1db8a76 [PD] Fix wrong mode options when opening existing revolution
Only the "Dimension" options showed regardless of what mode was selected.
2023-12-04 13:40:31 -03:00