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/include
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/include')
-rw-r--r--source/blender/include/BDR_drawaction.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/source/blender/include/BDR_drawaction.h b/source/blender/include/BDR_drawaction.h
index 1753f4ecf42..72b3de1e54d 100644
--- a/source/blender/include/BDR_drawaction.h
+++ b/source/blender/include/BDR_drawaction.h
@@ -68,6 +68,12 @@ typedef struct ActKeyBlock {
} ActKeyBlock;
+/* Inclusion-Range Limiting Struct (optional) */
+typedef struct ActKeysInc {
+ struct Object *ob; /* if present, used to find action-scaled time */
+ float start, end; /* frames (global-time) to only consider keys between */
+} ActKeysInc;
+
/* ******************************* Methods ****************************** */
/* Action Generics */
@@ -81,11 +87,11 @@ void draw_action_channel(struct gla2DDrawInfo *di, struct bAction *act, float yp
void draw_object_channel(struct gla2DDrawInfo *di, struct Object *ob, float ypos);
/* Keydata Generation */
-void icu_to_keylist(struct IpoCurve *icu, ListBase *keys, ListBase *blocks);
-void ipo_to_keylist(struct Ipo *ipo, ListBase *keys, ListBase *blocks);
-void agroup_to_keylist(struct bActionGroup *agrp, ListBase *keys, ListBase *blocks);
-void action_to_keylist(struct bAction *act, ListBase *keys, ListBase *blocks);
-void ob_to_keylist(struct Object *ob, ListBase *keys, ListBase *blocks);
+void icu_to_keylist(struct IpoCurve *icu, ListBase *keys, ListBase *blocks, ActKeysInc *aki);
+void ipo_to_keylist(struct Ipo *ipo, ListBase *keys, ListBase *blocks, ActKeysInc *aki);
+void agroup_to_keylist(struct bActionGroup *agrp, ListBase *keys, ListBase *blocks, ActKeysInc *aki);
+void action_to_keylist(struct bAction *act, ListBase *keys, ListBase *blocks, ActKeysInc *aki);
+void ob_to_keylist(struct Object *ob, ListBase *keys, ListBase *blocks, ActKeysInc *aki);
#endif /* BDR_DRAWACTION_H */