diff options
author | Lukas Tönne <lukas.toenne@gmail.com> | 2014-09-12 14:28:56 +0400 |
---|---|---|
committer | Lukas Tönne <lukas.toenne@gmail.com> | 2015-01-20 11:29:59 +0300 |
commit | bc6fa4fa11469fb4257f2e485107601c5e2798cf (patch) | |
tree | 8c84fc6f18ab3f89ae20a42a1d0d882c11a5e39c /source/blender/blenkernel/intern/implicit.c | |
parent | b391e963a98db4dded824e29e50147d754757a75 (diff) |
Use identity transform in the solver data roots to avoid possible errors
when this data is used outside the transform functions.
Diffstat (limited to 'source/blender/blenkernel/intern/implicit.c')
-rw-r--r-- | source/blender/blenkernel/intern/implicit.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/implicit.c b/source/blender/blenkernel/intern/implicit.c index e8b78bd60fd..e9ceac50c54 100644 --- a/source/blender/blenkernel/intern/implicit.c +++ b/source/blender/blenkernel/intern/implicit.c @@ -2644,8 +2644,14 @@ void implicit_set_positions(ClothModifierData *clmd) Implicit_Data *id = cloth->implicit; for (i = 0; i < numverts; i++) { +#ifdef CLOTH_ROOT_FRAME copy_v3_v3(id->root[i].loc, cloth_roots[i].loc); copy_m3_m3(id->root[i].rot, cloth_roots[i].rot); +#else + zero_v3(id->root[i].loc); + unit_m3(id->root[i].rot); + (void)cloth_roots; +#endif loc_world_to_root(id->X[i], verts[i].x, &id->root[i]); vel_world_to_root(id->V[i], id->X[i], verts[i].v, &id->root[i]); |