Page MenuHome

Bevel fixes -- global width adjustment pass
ClosedPublic

Authored by Howard Trickey (howardt) on Nov 27 2013, 8:40 PM.

Details

Summary

Many times bevel cannot satisfy all the user desires on bevel widths simultaneously. This patch adds a global width adjustment pass which tries to keep bevels as even as possible by starting with vertices that need to have a width adjustment, and visiting connected vertices from there, inheriting forced widths and setting other as you go.
Also fixed in here is the method for setting the offset when the 'percent' type is used, and dealing with some previously missed special cases where it was impossible to have two lines meet because of reflex angles.

Diff Detail

Event Timeline

First check, picky comments - will apply patch and test next

source/blender/bmesh/tools/bmesh_bevel.c
174

BLI_INLINE can be used here.

587

fabsf() for floats (else it does float/double conversion)

623

use sinf() - goes for other uses of (float)sin()

742

again, fabs -> fabsf, probably can search replace for rest of file.

I'm not sure whether you wanted to test this before I submit it.