The problem is caused by conflicting values of the anonymous enum of ViewProviderSubShapeBinder. The solution is to set a higher value than the highest value of EditMode
The use of static_cast here could cause undefined behaviour because at this point it's not guaranteed that findBodyOf()
really returns a PartDesign::Body
* Allow adding subfeatures to MultiTransform if there is no active Body
Previously the active Body would be checked and used to add new
subfeatures.
This would either do nothing, when no Body was active,
causing confusion for users becaues than can edit other features without
an active Body.
Or it would add the subfeature to the wrong Body if another Body than the
one of the MultiTransform was active.
Now the Body of the MultiTransform is checked and used.
# Conflicts:
# src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp
* Change getTopTransformedObject() to protected
This needs to be called from the MultiTransform.
* Fix typo
If you have a mirror feature and set the mirror plane with the normal feature editing the recompute works. But if the mirror plane is set with the property editor then the recompute fails with the message that no mirror plane reference is set.
This is related to a an empty sub-name list of the link property instead of a single and empty sub-name element.
This PR allows to specify a sketch, plane or datum plane without a sub-name.
For more details see: https://forum.freecad.org/viewtopic.php?t=86568
This fixes#13238
* [PartDesign] Still a helix fix
If we don't break the helix path at each turns we get a vaild path for
MakePipe (solid) even with an angle.
* Decrease helix tests requirements
The reason of the crash is a static_cast of an unknown type that causes undefined behaviour. The feature AdditiveLoft has the
property Section of type PropertyLinkSubList but the function does a static_cast to PropertyLinkList.
The solution is to use a dynamic_cast that returns null if the cast fails.
Reference selection in the GUI was accidentially changed to only
allow specific types of objects, preventing e.g. selection of a DatumPlane
for mirroring.
This restores the previous functionality.
Adds support for menu items having 'user data' that is the untranslated string. It would be better if these were enumerations, but that's a much larger refactoring process.
* 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>
* 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
* 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>
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.
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
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.
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.
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.
* 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>
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