[Bf-blender-cvs] [294e41477b3] master: Fix T102961: mirrored vertices sometimes get locked in transform
Germano Cavalcante
noreply at git.blender.org
Mon Dec 5 23:11:23 CET 2022
Commit: 294e41477b326926fc258254a073ae5515bd8e9d
Author: Germano Cavalcante
Date: Mon Dec 5 19:10:54 2022 -0300
Branches: master
https://developer.blender.org/rB294e41477b326926fc258254a073ae5515bd8e9d
Fix T102961: mirrored vertices sometimes get locked in transform
Two vertices within the threshold can mirror each other causing neither
to be transformed.
===================================================================
M source/blender/editors/transform/transform_convert_mesh.c
===================================================================
diff --git a/source/blender/editors/transform/transform_convert_mesh.c b/source/blender/editors/transform/transform_convert_mesh.c
index 3192b1b6786..d8442175ab0 100644
--- a/source/blender/editors/transform/transform_convert_mesh.c
+++ b/source/blender/editors/transform/transform_convert_mesh.c
@@ -1231,6 +1231,12 @@ void transform_convert_mesh_mirrordata_calc(struct BMEditMesh *em,
* It can happen when vertices occupy the same position. */
continue;
}
+ if (vert_map[i].flag & flag) {
+ /* It's already a mirror.
+ * Avoid a mirror vertex dependency cycle.
+ * This can happen when the vertices are within the mirror threshold. */
+ continue;
+ }
vert_map[i_mirr] = (struct MirrorDataVert){i, flag};
mirror_elem_len++;
More information about the Bf-blender-cvs
mailing list