Updated the circularise command to better handle mirrored selections#618
Updated the circularise command to better handle mirrored selections#618Micheus wants to merge 2 commits intodgud:masterfrom
Conversation
|
@dgud , I hope you can evaluate this PR and suggest me any change you think it would be necessary in order to Circularise [LMB] - Edge loops - CHANGED behaviour (Video) Circularise [LMB] - Edge links - NOTHING was changed (Video) Circularise [LMB] - Mixed mode - Forbidden - NOTHING was changed (Video) Circularise [LMB] - with Options (Video) Circularise [RMB] - with Options (Video) Circularise [MMB] - Accept only one edge loop/link selection, so it works fine in every situation |
|
I have let co-pilot review this, fix stuff that seems valid and write when your are done, or nothing needs fixing. |
There was a problem hiding this comment.
Pull request overview
This PR enhances the circularise command to properly handle edge selections on mirrored objects. When edges lie on mirror face boundaries, they are now treated as edge loops, allowing the circularise operation to work as if applied on a non-mirrored object. The implementation adds detection logic for mirror boundary edges and provides special handling for computing circular arcs across mirror planes.
- Added
mixed_mirrorreturn value to differentiate mirror boundary edges from regular mixed selections - Introduced
arc_mirrored_setupfunction to handle arc calculations for edges on mirror boundaries using matrix transformations - Implemented helper functions
check_mirror,is_mirror, andprocess_mixedto identify and filter mirror boundary edges - Modified
get_radiusfunction to support different modes (full vs. mirrored) for radius calculation
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
It was changed the code in order to evaluate the linked edges selection and see if they lay on the mirror face boundaries. In this case, the linked edges are handled as they were edge loops and we get the command working as it was applied in a non mirrored object. In case other linked edges exists and not laying on mirror face boundaries then the error message caused by mixed mode is displayed, just as it uses to be for non mirrored objects. NOTE: - Updated the circularise command to better handle mirrored selections;
f57a347 to
c4a69aa
Compare





It was changed the code in order to evaluate the linked edges selection and see if they lay on the mirror face boundaries. In this case, the linked edges are handled as they were edge loops and we get the command working as it was applied in a non mirrored object. In case other linked edges exists and not laying on mirror face boundaries then the error message caused by mixed mode is displayed, just as it uses to be for non mirrored objects.
NOTE: