diff options
Diffstat (limited to 'source/blender/blenkernel/BKE_animsys.h')
-rw-r--r-- | source/blender/blenkernel/BKE_animsys.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_animsys.h b/source/blender/blenkernel/BKE_animsys.h index 44c8d827e8c..70a0cd34a6c 100644 --- a/source/blender/blenkernel/BKE_animsys.h +++ b/source/blender/blenkernel/BKE_animsys.h @@ -12,6 +12,10 @@ struct AnimData; struct KeyingSet; struct KS_Path; +struct PointerRNA; +struct bAction; +struct AnimMapper; + /* ************************************* */ /* AnimData API */ @@ -50,6 +54,9 @@ void BKE_keyingsets_free(struct ListBase *list); /* ************************************* */ /* Evaluation API */ +/* ------------- Main API -------------------- */ +/* In general, these ones should be called to do all animation evaluation */ + /* Evaluation loop for evaluating animation data */ void BKE_animsys_evaluate_animdata(struct ID *id, struct AnimData *adt, float ctime, short recalc); @@ -57,6 +64,20 @@ void BKE_animsys_evaluate_animdata(struct ID *id, struct AnimData *adt, float ct void BKE_animsys_evaluate_all_animation(struct Main *main, float ctime); +/* ------------ Specialised API --------------- */ +/* There are a few special tools which require these following functions. They are NOT to be used + * for standard animation evaluation UNDER ANY CIRCUMSTANCES! + * + * i.e. Pose Library (PoseLib) uses some of these for selectively applying poses, but + * Particles/Sequencer performing funky time manipulation is not ok. + */ + +/* Evaluate Action (F-Curve Bag) */ +void animsys_evaluate_action(struct PointerRNA *ptr, struct bAction *act, struct AnimMapper *remap, float ctime); + +/* Evaluate Action Group */ +void animsys_evaluate_action_group(struct PointerRNA *ptr, struct bAction *act, struct bActionGroup *agrp, struct AnimMapper *remap, float ctime); + /* ************************************* */ #endif /* BKE_ANIM_SYS_H*/ |