Page MenuHome

GSoC 2019: Bevel Custom Profiles
Needs ReviewPublic

Authored by Hans Goudey (HooglyBoogly) on Aug 18 2019, 6:16 AM.
"100" token, awarded by Frozen_Death_Knight."Love" token, awarded by brilliant_ape."Love" token, awarded by bnzs."Love" token, awarded by ace_dragon."Like" token, awarded by ThinkingPolygons.



Here are the major changes from the bevel profiles branch:

Profile Widget

  • The profile widget is derived from the curvemapping widget, but the path is built to be a profile instead of a mapping between X and Y.
  • Profile sampling methods: Taking the high resolution path and getting sampled point positions. More curved areas get more samples, and points can be sharp as well. There's also an "Even Length Sampling" option.
  • The interaction methods are changed for profiles, and hotkeys are added.
  • The widget should be extenable for other situations where splines need to be edited in the UI.
  • RNA API for the widget included.

Bevel Custom Profile

  • Added custom profile bevel cases, removed existing assumptions and special cases.
  • New "pipe case" for parallel edges which reuses profile positions.
  • Profile orientation regularization: Method to ensure that the side of the start of the profile is consistent along groups of edges.
  • Presets: Moldings and steps, etc...

Bevel cutoff intersection method

  • Method chops off each profile at the boundary of each vertex mesh.
  • Leaves room for Boolean method in the future.

Bevel tool and modifier UI

  • Including the new features in the UI
  • With the new features, the UI is even larger, so updates to streamline and unify both interfaces make sense at this stage

Bevel operator code cleanup and documentation

  • Lots of comments on existing bevel code where I worked, some changed variable names, and some other refactoring.
  • The code should be more readable, which has already helped me, so hopefully it will help someone else in the future.

Still to do

T68330 lists the tasks and bugs for the project. Most listed there are planned for continued work after the merge, but the first section would probably be completed beforehand depending on feedback.

Diff Detail

Event Timeline

Continued cleanup

  • Comment format updates to align with style guide.
  • Removed extra profile orientation regularization code.
  • Revert change to default bevel width.
  • Updated to current master
  • Removed changes unrelated to patch incorrectly included in last merge
  • Merge with latest master
  • Merged lastest master