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>2007-12-26 14:17:26 +0300
committerJoshua Leung <aligorith@gmail.com>2007-12-26 14:17:26 +0300
commit10b8237eab7e41ef7563cedbf6a2e4e5dda13456 (patch)
tree38e69047fcea8ce20b4a2c97a9cabc318b8c2f5b /source/blender/blenkernel/intern/action.c
parentf81bc543e7f274aa88ca0d0c00dc86b4d6381416 (diff)
== PoseLib - Pose-Library Tool for Blender ==
"A slightly late Christmas present for the Animators out there :-)" This tool allows animators to store frequently used poses in an action, and be able to label those poses to help them retrieve them later. In a way, it acts as a glorified clipboard for poses. One of the cool features with this is the ability to select which stored pose to use interactively in the 3d-view. Once a few poses have been stored in the PoseLib, simply use the "Ctrl L" hotkey to start previewing. Use the Mousewheel or the Page Up/Down keys to change poses, and confirm/cancel the preview in the same way as you do for transforms. Usage Notes: * Each Armature may get its own PoseLib. PoseLibs are simply actions with extra data, so they can get relinked. * Manually editing actions used as PoseLibs is not a good idea, as some data may not be able to be found. Tools to automagically find poses in an action could be investigated... * PoseLib will only apply/retrieve poses to/from selected bones * A basic UI for this can be found in the "Links and Materials" panel. Most of the PoseLib tools are presented there. Useful Hotkeys (also found in Pose->PoseLib menu): * Ctrl L - interactively preview poses * Shift L - add a new pose or replace an existing pose in the PoseLib with the current pose * Ctrl Shift L - rename an existing pose in the PoseLib * Alt L - remove a pose from the poselib.c
Diffstat (limited to 'source/blender/blenkernel/intern/action.c')
-rw-r--r--source/blender/blenkernel/intern/action.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/action.c b/source/blender/blenkernel/intern/action.c
index 162ee582d74..86e119f5e6f 100644
--- a/source/blender/blenkernel/intern/action.c
+++ b/source/blender/blenkernel/intern/action.c
@@ -163,6 +163,15 @@ void make_local_action(bAction *act)
}
}
+static void free_act_poselib (bAction *act)
+{
+ if (act->poselib) {
+ bPoseLib *pl= act->poselib;
+
+ BLI_freelistN(&pl->poses);
+ MEM_freeN(pl);
+ }
+}
void free_action (bAction *act)
{
@@ -177,6 +186,9 @@ void free_action (bAction *act)
if (act->chanbase.first)
BLI_freelistN(&act->chanbase);
+
+ /* Free PoseLib */
+ free_act_poselib(act);
}
bAction *copy_action (bAction *src)