Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2008-01-27 06:21:24 +0300
committerJoshua Leung <aligorith@gmail.com>2008-01-27 06:21:24 +0300
commit8c59520060009d08d50b79e2a37734e77fd6aebe (patch)
treee4989001053626ef8d267c0cc063b112b4147a78 /source/blender/src/drawarmature.c
parent4213dac345f053cb5674143d719276e742bc69da (diff)
== Action Editor Drawing - Optimisations (Part 2 out of ?) ==
Keyframes are now checked for whether they are visible or not before they are prepared for drawing. This should provide some improvements for large data-sets... In general there don't appear to be any major issues, although in a few situations, long-keyframes may end up appearing/disappearing.
Diffstat (limited to 'source/blender/src/drawarmature.c')
-rw-r--r--source/blender/src/drawarmature.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/src/drawarmature.c b/source/blender/src/drawarmature.c
index abe22a1804d..52f5f4e8954 100644
--- a/source/blender/src/drawarmature.c
+++ b/source/blender/src/drawarmature.c
@@ -2111,7 +2111,7 @@ static void draw_pose_paths(Object *ob)
if (act) {
achan= get_action_channel(act, pchan->name);
if (achan)
- ipo_to_keylist(achan->ipo, &keys, NULL);
+ ipo_to_keylist(achan->ipo, &keys, NULL, NULL);
}
/* Draw slightly-larger yellow dots at each keyframe */
@@ -2257,17 +2257,18 @@ static void draw_ghost_poses_keys(Base *base)
bArmature *arm= ob->data;
bPose *posen, *poseo;
ListBase keys= {NULL, NULL};
+ ActKeysInc aki = {0, 0, 0};
ActKeyColumn *ak, *akn;
float start, end, range, colfac, i;
int cfrao, flago, ipoflago;
- start = arm->ghostsf;
- end = arm->ghostef;
+ aki.start= start = arm->ghostsf;
+ aki.end= end = arm->ghostef;
if (end <= start)
return;
/* get keyframes - then clip to only within range */
- action_to_keylist(act, &keys, NULL);
+ action_to_keylist(act, &keys, NULL, &aki);
range= 0;
for (ak= keys.first; ak; ak= akn) {
akn= ak->next;