Page MenuHome

Edit Mesh AutoMerge: Improve split faces option.
ClosedPublic

Authored by Germano Cavalcante (mano-wii) on Aug 27 2019, 3:55 AM.

Details

Summary

Currently the Split Edges & Faces option only split faces whose merged vertex is connected to a single wire edge.
This pach proposes find and use all wire edges linked to the merged vertex are to split faces.

Diff Detail

Repository
rB Blender

Event Timeline

Campbell Barton (campbellbarton) requested changes to this revision.Aug 27 2019, 4:21 AM
Campbell Barton (campbellbarton) added inline comments.
source/blender/editors/mesh/editmesh_select.c
219–262

I think co-planar checks like this are too error prone - at different scales we would want different epsilons for subd modeling you may want non-planar faces.

Suggest always splitting, if the users connects a wire edge chain and doesn't want to split the face - they can disable this option.

319

Should dynamically allocate.

This revision now requires changes to proceed.Aug 27 2019, 4:21 AM
  • Don't check if edgenet is coplanar, just look for the best face.
Germano Cavalcante (mano-wii) marked an inline comment as done.Aug 27 2019, 5:18 AM
Germano Cavalcante (mano-wii) marked an inline comment as done.
  • dynamically allocate
Campbell Barton (campbellbarton) added inline comments.
source/blender/editors/mesh/editmesh_select.c
280

Stack is normally used for something add and remove (push/pop), this is just an array of edges.

Should call r_edgenet r_edgenet_len since these are return args.

291–296

Dealing with pointers-to-pointers in the code reads a little awkwardly.

This could use local edgenet and edgenet_len variables, then assign the return arguments at the end.

This revision is now accepted and ready to land.Aug 27 2019, 6:14 AM
Germano Cavalcante (mano-wii) marked an inline comment as done.
  • rename edgenet_stack and stack_len to r_edgenet and r_edgenet_len_max and use local variables