diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-08-12 20:46:03 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-08-12 20:46:03 +0400 |
commit | 5fa95f69287bbf4c90734aa700436e9da009cdee (patch) | |
tree | 01a28c2dbfa4c53a2caace8af3c3f5b9a7598bc2 | |
parent | 9f01264610f74723e527fdb623d112af9d0dd477 (diff) |
Fix #22777: duplifaces don't take deforming modifiers into account
while in edit mode.
-rw-r--r-- | source/blender/blenkernel/intern/DerivedMesh.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index 8b1443403a3..663fbb89b4e 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -1189,10 +1189,15 @@ static void emDM_getFace(DerivedMesh *dm, int index, MFace *face_r) static void emDM_copyVertArray(DerivedMesh *dm, MVert *vert_r) { - EditVert *ev = ((EditMeshDerivedMesh *)dm)->em->verts.first; + EditMeshDerivedMesh *emdm= (EditMeshDerivedMesh*) dm; + EditVert *ev = emdm->em->verts.first; + int i; - for( ; ev; ev = ev->next, ++vert_r) { - VECCOPY(vert_r->co, ev->co); + for(i=0; ev; ev = ev->next, ++vert_r, ++i) { + if(emdm->vertexCos) + copy_v3_v3(vert_r->co, emdm->vertexCos[i]); + else + copy_v3_v3(vert_r->co, ev->co); vert_r->no[0] = ev->no[0] * 32767.0; vert_r->no[1] = ev->no[1] * 32767.0; |