diff options
author | Nicholas Bishop <nicholasbishop@gmail.com> | 2006-12-04 01:15:50 +0300 |
---|---|---|
committer | Nicholas Bishop <nicholasbishop@gmail.com> | 2006-12-04 01:15:50 +0300 |
commit | 4300af777ca2cb2d2b8243b829a246f008d97290 (patch) | |
tree | cbebfa267df55f513224925f686f56b669fcb8b2 /source/blender/src/multires.c | |
parent | dde6444d51a83dff9bad803cbf58dedb2222691f (diff) |
Added saving/loading of multires deformedvert data. Also added a test_index_face check when reading editmode data for multires.
Diffstat (limited to 'source/blender/src/multires.c')
-rw-r--r-- | source/blender/src/multires.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/source/blender/src/multires.c b/source/blender/src/multires.c index 3d86505bb29..377fac9f6c4 100644 --- a/source/blender/src/multires.c +++ b/source/blender/src/multires.c @@ -520,14 +520,19 @@ void multires_get_vert(MVert *out, EditVert *eve, MVert *m, int i) void multires_get_face(MultiresFace *f, EditFace *efa, MFace *m) { if(efa) { - f->v[0]= efa->v1->tmp.l; - f->v[1]= efa->v2->tmp.l; - f->v[2]= efa->v3->tmp.l; - if(efa->v4) f->v[3]= efa->v4->tmp.l; - f->flag= efa->flag; - if(efa->f & 1) f->flag |= ME_FACE_SEL; + MFace tmp; + int j; + tmp.v1= efa->v1->tmp.l; + tmp.v2= efa->v2->tmp.l; + tmp.v3= efa->v3->tmp.l; + if(efa->v4) tmp.v4= efa->v4->tmp.l; + tmp.flag= efa->flag; + if(efa->f & 1) tmp.flag |= ME_FACE_SEL; else f->flag &= ~ME_FACE_SEL; - if(efa->h) f->flag |= ME_HIDE; + if(efa->h) tmp.flag |= ME_HIDE; + test_index_face(&tmp, NULL, 0, efa->v4?4:3); + for(j=0; j<4; ++j) f->v[j]= (&tmp.v1)[j]; + f->flag= tmp.flag; } else { f->v[0]= m->v1; f->v[1]= m->v2; |