diff options
author | Ton Roosendaal <ton@blender.org> | 2005-07-24 19:16:37 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2005-07-24 19:16:37 +0400 |
commit | aefd9e462fe784d45ff6c646a89c32d100f76762 (patch) | |
tree | 504b7079dfd1324977278ab296ed748d49fe6db8 /source/blender/blenkernel/intern | |
parent | 495bb4efff50c7a42b09f555d6c7505b680dd282 (diff) |
When entering editmode on Armature, the Pose now defaults to a correct
restposition, also for deform and bone childs.
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r-- | source/blender/blenkernel/intern/armature.c | 5 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/deform.c | 7 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/object.c | 9 |
3 files changed, 4 insertions, 17 deletions
diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c index 64b3c9f7ca6..914bce67c52 100644 --- a/source/blender/blenkernel/intern/armature.c +++ b/source/blender/blenkernel/intern/armature.c @@ -1069,7 +1069,6 @@ void where_is_pose (Object *ob) Bone *bone; bPoseChannel *pchan, *next; float imat[4][4]; -// float ctime= (float)G.scene->r.cfra; /* time only applies constraint location on curve path (now) */ arm = get_armature(ob); @@ -1077,10 +1076,8 @@ void where_is_pose (Object *ob) if(ob->pose==NULL || (ob->pose->flag & POSE_RECALC)) armature_rebuild_pose(ob, arm); -// printf("re-evaluate pose %s\n", ob->id.name); - /* In restposition we read the data from the bones */ - if(arm->flag & ARM_RESTPOS) { + if(ob==G.obedit || (arm->flag & ARM_RESTPOS)) { for(pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) { bone= pchan->bone; diff --git a/source/blender/blenkernel/intern/deform.c b/source/blender/blenkernel/intern/deform.c index dde9418fb6f..91e8f3e2b7b 100644 --- a/source/blender/blenkernel/intern/deform.c +++ b/source/blender/blenkernel/intern/deform.c @@ -281,11 +281,8 @@ void mesh_modifier(Object *ob, float (**vertexCos_r)[3]) lattice_deform_verts(ob->parent, ob, vertexCos, me->totvert); } else if(ob->parent->type==OB_ARMATURE && ob->partype==PARSKEL) { - // misleading making displists... very bad - if (ob->parent!=G.obedit) { - if (!vertexCos) vertexCos = mesh_getVertexCos(me, NULL); - armature_deform_verts(ob->parent, ob, vertexCos, me->totvert); - } + if (!vertexCos) vertexCos = mesh_getVertexCos(me, NULL); + armature_deform_verts(ob->parent, ob, vertexCos, me->totvert); } } diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index c2a3ab49c32..cfa65bc6dde 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -1435,15 +1435,8 @@ static void solve_parenting (Object *ob, Object *par, float slowmat[][4], int si break; case PARSKEL: -#if 0 - if (ob!=G.obedit) - Mat4One(totmat); - else - Mat4CpyMat4(totmat, par->obmat); + Mat4CpyMat4(totmat, par->obmat); break; -#else - Mat4CpyMat4(totmat, par->obmat); -#endif } // total |