diff options
author | Campbell Barton <ideasman42@gmail.com> | 2007-09-18 10:41:29 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2007-09-18 10:41:29 +0400 |
commit | 0a2b8b13089ef479d4a2d135b567410c8a5e6ab5 (patch) | |
tree | 3377b2bd39b6e7c2e3ce302a3bb01d7b2ddfbe25 /source/blender/src/transform_conversions.c | |
parent | d86a03113d24904dd4b6227f16431eb6735aa5d7 (diff) |
A user submitted a BVH file that took a long time to import (I didnt end up finishing since it was so slow)
this is mainly because adding pose keyframes recalculates every handle so importing became increasingly slow.
added a 'fast' argument to insertkey that python api's insertPoseKey can make use of since it alredy accepts a 'fast' option.
The ~4450 frame, 31 bone BVH imports in ~108sec now
Seperated editmode switch statement in space.c's event handling,
if editmode is disabled, or the images is a render or composite, UV editing operations are ignored.
In previous releases it has given an annoying warning if selecting or scaling is attempted when out of UV/Face mode.
Diffstat (limited to 'source/blender/src/transform_conversions.c')
-rw-r--r-- | source/blender/src/transform_conversions.c | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/source/blender/src/transform_conversions.c b/source/blender/src/transform_conversions.c index 684baec0d18..bda66896485 100644 --- a/source/blender/src/transform_conversions.c +++ b/source/blender/src/transform_conversions.c @@ -2289,7 +2289,7 @@ void autokeyframe_ob_cb_func(Object *ob, int tmode) if (U.uiflag & USER_KEYINSERTNEED) insertkey_smarter(id, ID_OB, actname, NULL, icu->adrcode); else - insertkey(id, ID_OB, actname, NULL, icu->adrcode); + insertkey(id, ID_OB, actname, NULL, icu->adrcode, 0); icu= icu->next; } } @@ -2312,17 +2312,17 @@ void autokeyframe_ob_cb_func(Object *ob, int tmode) } } else { - insertkey(&ob->id, ID_OB, actname, NULL, OB_ROT_X); - insertkey(&ob->id, ID_OB, actname, NULL, OB_ROT_Y); - insertkey(&ob->id, ID_OB, actname, NULL, OB_ROT_Z); + insertkey(&ob->id, ID_OB, actname, NULL, OB_ROT_X, 0); + insertkey(&ob->id, ID_OB, actname, NULL, OB_ROT_Y, 0); + insertkey(&ob->id, ID_OB, actname, NULL, OB_ROT_Z, 0); - insertkey(&ob->id, ID_OB, actname, NULL, OB_LOC_X); - insertkey(&ob->id, ID_OB, actname, NULL, OB_LOC_Y); - insertkey(&ob->id, ID_OB, actname, NULL, OB_LOC_Z); + insertkey(&ob->id, ID_OB, actname, NULL, OB_LOC_X, 0); + insertkey(&ob->id, ID_OB, actname, NULL, OB_LOC_Y, 0); + insertkey(&ob->id, ID_OB, actname, NULL, OB_LOC_Z, 0); - insertkey(&ob->id, ID_OB, actname, NULL, OB_SIZE_X); - insertkey(&ob->id, ID_OB, actname, NULL, OB_SIZE_Y); - insertkey(&ob->id, ID_OB, actname, NULL, OB_SIZE_Z); + insertkey(&ob->id, ID_OB, actname, NULL, OB_SIZE_X, 0); + insertkey(&ob->id, ID_OB, actname, NULL, OB_SIZE_Y, 0); + insertkey(&ob->id, ID_OB, actname, NULL, OB_SIZE_Z, 0); } remake_object_ipos(ob); @@ -2364,7 +2364,7 @@ void autokeyframe_pose_cb_func(Object *ob, int tmode, short targetless_ik) if (U.uiflag & USER_KEYINSERTNEED) insertkey_smarter(&ob->id, ID_PO, pchan->name, NULL, icu->adrcode); else - insertkey(&ob->id, ID_PO, pchan->name, NULL, icu->adrcode); + insertkey(&ob->id, ID_PO, pchan->name, NULL, icu->adrcode, 0); } break; } @@ -2389,18 +2389,18 @@ void autokeyframe_pose_cb_func(Object *ob, int tmode, short targetless_ik) } } else { - insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_SIZE_X); - insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_SIZE_Y); - insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_SIZE_Z); - - insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_QUAT_W); - insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_QUAT_X); - insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_QUAT_Y); - insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_QUAT_Z); - - insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_LOC_X); - insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_LOC_Y); - insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_LOC_Z); + insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_SIZE_X, 0); + insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_SIZE_Y, 0); + insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_SIZE_Z, 0); + + insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_QUAT_W, 0); + insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_QUAT_X, 0); + insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_QUAT_Y, 0); + insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_QUAT_Z, 0); + + insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_LOC_X, 0); + insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_LOC_Y, 0); + insertkey(&ob->id, ID_PO, pchan->name, NULL, AC_LOC_Z, 0); } } } |