Base: fix Matrix4D::hasScale

* If all column vectors of the 3x3 sub-matrix are equal the function incorrectly claims that it's uniform scaling.
* Detect also non-uniform scaling and if was applied from the left or right side
* Replace the int with an enum and expose it to Python
* Add several new unit tests
This commit is contained in:
wmayer
2022-02-15 21:05:11 +01:00
parent 48e2ee100c
commit a5e561b31d
8 changed files with 110 additions and 40 deletions

View File

@@ -154,7 +154,7 @@ def autogroup(obj):
# do not autogroup if obj points to active_part to prevent cyclic references
return
matrix = parent.getSubObject(sub, retType=4)
if matrix.hasScale() == 1:
if matrix.hasScale() == App.ScaleType.Uniform:
err = translate("draft",
"Unable to insert new object into "
"a scaled part")