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>2009-02-09 13:04:11 +0300
committerJoshua Leung <aligorith@gmail.com>2009-02-09 13:04:11 +0300
commit59736af8fc39246b82213ff0e9c8f917ed36a34c (patch)
treeeceac8f938caace0ad166f16155ae8b5809d314f /source/blender/blenkernel/BKE_action.h
parentb9063b27a9376ca276cb80f692ef8fa923a966a7 (diff)
Animato: Added 'experimental' grouping schemes for F-Curves
When inserting keyframes on previous un-animated Objects/bones, F-Curves will be added into Action Groups into either "Object Transform" or <PoseChannel Name>. Ob->Material settings are not grouped for now to illustrate what's possible. Old files are currently not patched to use do this, as it's still not clear whether this will be ideal.
Diffstat (limited to 'source/blender/blenkernel/BKE_action.h')
-rw-r--r--source/blender/blenkernel/BKE_action.h45
1 files changed, 28 insertions, 17 deletions
diff --git a/source/blender/blenkernel/BKE_action.h b/source/blender/blenkernel/BKE_action.h
index 9abacf862c5..a5a978ae3fa 100644
--- a/source/blender/blenkernel/BKE_action.h
+++ b/source/blender/blenkernel/BKE_action.h
@@ -36,11 +36,10 @@
#include "DNA_listBase.h"
-/**
- * The following structures are defined in DNA_action_types.h, and DNA_anim_types.h
- */
-
+/* The following structures are defined in DNA_action_types.h, and DNA_anim_types.h */
struct bAction;
+struct bActionGroup;
+struct FCurve;
struct bPose;
struct bPoseChannel;
struct Object;
@@ -52,28 +51,40 @@ struct ID;
extern "C" {
#endif
+/* Action API ----------------- */
+
+/* Allocate a new bAction with the given name */
struct bAction *add_empty_action(const char name[]);
-
- /**
- * Allocate a new bAction on the heap and copy
- * the contents of src into it. If src is NULL NULL is returned.
- */
+/* Allocate a copy of the given Action and all its data */
struct bAction *copy_action(struct bAction *src);
-/**
- * Deallocate the action's channels including constraint channels.
- * does not free the action structure.
- */
+/* Deallocate all of the Action's data, but not the Action itself */
void free_action(struct bAction *act);
// XXX is this needed?
void make_local_action(struct bAction *act);
-
-/**
- * Some kind of bounding box operation on the action.
- */
+
+/* Some kind of bounding box operation on the action */
+// XXX depreceated..
void calc_action_range(const struct bAction *act, float *start, float *end, int incl_hidden);
+
+/* Action Groups API ----------------- */
+
+/* Make the given Action Group the active one */
+void set_active_action_group(struct bAction *act, struct bActionGroup *agrp, short select);
+
+/* Add given channel into (active) group */
+void action_groups_add_channel(struct bAction *act, struct bActionGroup *agrp, struct FCurve *fcurve);
+
+/* Remove the given channel from all groups */
+void action_groups_remove_channel(struct bAction *act, struct FCurve *fcu);
+
+/* Find a group with the given name */
+struct bActionGroup *action_groups_find_named(struct bAction *act, const char name[]);
+
+
+/* Pose API ----------------- */
/**
* Removes and deallocates all channels from a pose.