diff options
Diffstat (limited to 'source/blender/modifiers/intern/MOD_surface.c')
-rw-r--r-- | source/blender/modifiers/intern/MOD_surface.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/source/blender/modifiers/intern/MOD_surface.c b/source/blender/modifiers/intern/MOD_surface.c index 02678879e89..dcc6371e024 100644 --- a/source/blender/modifiers/intern/MOD_surface.c +++ b/source/blender/modifiers/intern/MOD_surface.c @@ -159,10 +159,12 @@ static void deformVerts(ModifierData *md, vec = surmd->mesh->mvert[i].co; mul_m4_v3(ctx->object->obmat, vec); - if (init) + if (init) { v->co[0] = v->co[1] = v->co[2] = 0.0f; - else + } + else { sub_v3_v3v3(v->co, vec, x->co); + } copy_v3_v3(x->co, vec); } @@ -171,10 +173,12 @@ static void deformVerts(ModifierData *md, surmd->bvhtree = MEM_callocN(sizeof(BVHTreeFromMesh), "BVHTreeFromMesh"); - if (surmd->mesh->totpoly) + if (surmd->mesh->totpoly) { BKE_bvhtree_from_mesh_get(surmd->bvhtree, surmd->mesh, BVHTREE_FROM_LOOPTRI, 2); - else + } + else { BKE_bvhtree_from_mesh_get(surmd->bvhtree, surmd->mesh, BVHTREE_FROM_EDGES, 2); + } } } |