Page MenuHome

Fix Mask Slice deleting the Face Sets
ClosedPublic

Authored by Pablo Dobarro (pablodp606) on Aug 15 2020, 7:50 PM.

Details

Summary

This was a TODO in the code. Previously the Face Set datalayer was
deleted and recreated with a constant ID of 0. Now the datalayer is
preserved and set to the SculptSession after slicing the mask and a new
ID is calculated for the new faces that the slicing operation produced,
so they can be easily isolated for further tweaking.

Diff Detail

Repository
rB Blender
Branch
fix-mask-slice-face-sets (branched from master)
Build Status
Buildable 9572
Build 9572: arc lint + arc unit

Event Timeline

Pablo Dobarro (pablodp606) requested review of this revision.Aug 15 2020, 7:50 PM
Pablo Dobarro (pablodp606) created this revision.

Generally fine, but I suggest making more re-usable utility functions.
Think there are more places where you need to find unique Face ID,

source/blender/editors/mesh/editmesh_mask_extract.c
432–436

This sounds like could become own utility function.

438–443

Same as above.

Pablo Dobarro (pablodp606) marked 2 inline comments as done.
  • Review update: use utility functions
Sergey Sharybin (sergey) added inline comments.
source/blender/editors/include/ED_sculpt.h
58

Suggestion: ED_sculpt_face_sets_initialize_none_to_id

This revision is now accepted and ready to land.Aug 18 2020, 9:08 AM
This revision was automatically updated to reflect the committed changes.