diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-12-03 01:10:29 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-12-03 01:10:29 +0400 |
commit | 20620a988a8919116c69b618af04a15535f89c4b (patch) | |
tree | 092282a49276b0910a00c557eb54674941bbfea0 /source/blender/editors/armature/meshlaplacian.c | |
parent | a097bc6889c0b87c0274111d1f69f0d29254f069 (diff) |
Fix #27620: improve mesh deform error message when it fails to bind.
Diffstat (limited to 'source/blender/editors/armature/meshlaplacian.c')
-rw-r--r-- | source/blender/editors/armature/meshlaplacian.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/source/blender/editors/armature/meshlaplacian.c b/source/blender/editors/armature/meshlaplacian.c index 40d2d80f2b7..502da1be8ac 100644 --- a/source/blender/editors/armature/meshlaplacian.c +++ b/source/blender/editors/armature/meshlaplacian.c @@ -1608,7 +1608,7 @@ static void meshdeform_matrix_add_exterior_phi(MeshDeformBind *mdb, int x, int y mdb->phi[acenter]= phi/totweight; } -static void meshdeform_matrix_solve(MeshDeformBind *mdb) +static void meshdeform_matrix_solve(MeshDeformModifierData *mmd, MeshDeformBind *mdb) { NLContext *context; float vec[3], gridvec[3]; @@ -1710,7 +1710,8 @@ static void meshdeform_matrix_solve(MeshDeformBind *mdb) } } else { - error("Mesh Deform: failed to find solution"); + modifier_setError(&mmd->modifier, "Failed to find bind solution (increase precision?)."); + error("Mesh Deform: failed to find bind solution."); break; } @@ -1819,7 +1820,7 @@ static void harmonic_coordinates_bind(Scene *UNUSED(scene), MeshDeformModifierDa meshdeform_check_semibound(mdb, x, y, z); /* solve */ - meshdeform_matrix_solve(mdb); + meshdeform_matrix_solve(mmd, mdb); /* assign results */ if(mmd->flag & MOD_MDEF_DYNAMIC_BIND) { |