When trying to trim a shape that had a constraint, the constraint wasn't removed and the points from the original shape remained on stage. I updated the tool and now the constraints are removed, along with the original shape and its unreferenced children.
Another update was for the circle trim. Until now, trimming lines, arcs and circles was done in the same method, causing some problems because the circle doesn't have a start and end point that can be used as it's used for arcs and lines. I've added a new method to handle only circle trimming and I've added trimming for more than two intersection points:
I've also done a 'list' of all the tested cases and their results for the special cases:
- trimming line is parallel to one of the axes
- trimming line crosses the radius parallel to the ox axis (the intersection between this and the circle is the origin and end of the circle curve)
- trimming wire is another circle
- trimming wire is an ellipse -> here we have a problem because the open cascade method that determines the intersection points finds only one point and so the entire circle is deleted
- trimming wire is an arc