* fix selection from Sketcher Task Panel
* fix selection from 3D View
* Synchronize selection between Task Panel and 3D View
Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
If two straight edges were selected the chamfer distance would be recalculated so that the length of the straight segment would be equal to `r` (the radius entered by the user). But this was, and is, not done if one or both edges are arcs.
By removing the recalculation code the endpoints of the straight chamfer edge now always match the endpoints of the fillet arc that would be created for the same radius. This also matches the fillet/chamfer behavior in for example Part and Sketcher.
* avoid redefines in Assembly
* explicit cast from size_t to int
* remove unused variables
* avoid implicit cast from double to float
* in test cases replace EXPECT_FLOAT_EQ with EXPECT_DOUBLE_EQ or EXPECT_NEAR when doubles are used
Fixes#11435
Draft_Fillet could already handle arcs, provided they were not Draft_Arcs. The `_extract_edge` function in make_fillet.py had a strange logic, and could also return a wire which would result in problems later.
Another issue was that the `fillet` function in fillets.py did not handle the order of the edges correctly if one of the edges was an arc and the other a straight edge. The arch had to be selected first to prevent this error.
Fixes#14377
If the base edge of a stairs has a delta Z, the start point must have lowest Z. The `makeStraightStairsWithLanding` code fails otherwise.
Using `edge = Part.LineSegment().toShape()` is not the most efficient, but matches the pattern used elsewhere in the code.
Fixes#14804
Added (also don't make sense for a point object):
* AngularDeflection
* DrawStyle
* Pattern
* PatternSize
Removed:
* DiffuseColor (property no longer exists)
* LineMaterial (already hidden by default)
The static members of FemSetElementNodesObject are not defined in Fem but FemGui which the MSVC compiler doesn't like.
Furthermore it's a code smell to make them public and static and they are not even used by the class itself.
* Move global (non-static) variables into anonymous namespace to avoid possible linking issues that may cause UB
* Fix compiler warnings
* Do not reinvent the wheel and use boost::to_upper_copy instead of own implementation