Converted _planarMakePathGeom() into independent class, PathGeometryGenerator, as preparation to share common code with Waterline.
Implementation of new class within existing code.
Added new cut pattern: Offset. It is ported from Waterline.
Fix _processRotationalOp() arguments and erroneous call thereto.
Fix isOnLineSegment() usage.
Fix transition between profile edge and clearing.
Fix _planarSinglepassProcess() method.
Fix `ProfileEdges` feature.
Fix Y-axis rotation error in G-code and display.
Fix error handling of `import ocl` test.
Raise `import ocl` test in code sequence.
Convert ocl.Point scan results and handling to FreeCAD.Vector() type throughout `Rotational` scan code.
Change properties group from `Rotational` to `Rotation`.
Make operation property details accessible through class.
Relocate Draft import to dependent function.
Improve property visibility in Data tab.
Issue warning for Rotational scans if faces are selected.
Compact setup() function.
LGTM cleanup throughout.
Delete unnecessary comments.
Improve GUI usability by using hide() and show().
Apply hide() and show() to labels as well.
Fix visibility update issue on loading task window for editing of existing operation.
==================
https://forum.freecadweb.org/viewtopic.php?p=387303#p387303
1. Trim had a bug that the type of the constraint on the second point was equal to the first one regardless of the situation.
2. Trim did not have support for checking whether points were close to the edge and relied on preexisting constraints.
lazy_loader is copied to Ext now, modified external imports to lazy_load
add a few more imports to be lazy loaded, think the install path is correct now
[TD]"<" symbol embedded in html
revert changes to path modules for testing
use lazyloader in PathAreaOp.py
add back in deferred loading
temp change to print error message in tests
temp change to print error message in tests
add _init__.py to lazy_loader
make install in CMakeLists.txt one line
- fix dialog layout (was broken for Windows) and simplify it
- enable so immediately the changes you make in the dialog -> necessary to fine-tune the right position
Comparison with literals should be done using != and == and not 'is
not' and 'is'.
Found the files using:
find . -name \*.py -exec pylint --disable=all --enable=R0123 --score=no {} \;
Python 3.8 prints out SyntaxWarnings when reading the files, this
would happen for example on every installation.