Added custom vertex data support to editmode. Only used for vertex groups

now, others can be added later (sticky, shape keys). Beside one small fix
for knife exact vertex group interpolation, is intended to work the same
as before.

Also fixes bug #5200, related to editmode undo and vertex groups. And
corrects the editmode to faceselect mode selection conversion, that was
broken in a previous commit.
This commit is contained in:
2006-11-11 23:23:15 +00:00
parent 8857f4ce86
commit e4a1eb4e09
18 changed files with 424 additions and 452 deletions

View File

@@ -3532,9 +3532,14 @@ void do_meshbuts(unsigned short event)
break;
case B_MAKEVERTCOL:
make_vertexcol();
if(G.obedit)
EM_add_data_layer(&G.editMesh->fdata, LAYERTYPE_MCOL);
else
make_vertexcol();
break;
case B_DELVERTCOL:
if(G.obedit)
EM_free_data_layer(&G.editMesh->fdata, LAYERTYPE_MCOL);
if(me->mcol) MEM_freeN(me->mcol);
me->mcol= NULL;
G.f &= ~G_VERTEXPAINT;
@@ -3544,11 +3549,16 @@ void do_meshbuts(unsigned short event)
break;
case B_MAKE_TFACES:
make_tfaces(me);
if(G.obedit)
EM_add_data_layer(&G.editMesh->fdata, LAYERTYPE_TFACE);
else
make_tfaces(me);
allqueue(REDRAWBUTSEDIT, 0);
break;
case B_DEL_TFACES:
if(G.obedit)
EM_free_data_layer(&G.editMesh->fdata, LAYERTYPE_TFACE);
if(me->tface) MEM_freeN(me->tface);
me->tface= 0;
G.f &= ~G_FACESELECT;