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:
Diffstat (limited to 'source/blender/blenkernel/BKE_action.h')
-rw-r--r--source/blender/blenkernel/BKE_action.h67
1 files changed, 15 insertions, 52 deletions
diff --git a/source/blender/blenkernel/BKE_action.h b/source/blender/blenkernel/BKE_action.h
index 2f3af8ca103..5b8c8c1a929 100644
--- a/source/blender/blenkernel/BKE_action.h
+++ b/source/blender/blenkernel/BKE_action.h
@@ -28,9 +28,7 @@
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
+ * Contributor(s): Full recode, Ton Roosendaal, Crete 2005
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
@@ -55,25 +53,16 @@ struct Object;
extern "C" {
#endif
-/**
- * Allocate a new pose channel on the heap and binary copy the
- * contents of the src pose channel.
- */
-struct bPoseChannel *copy_pose_channel(const struct bPoseChannel *src);
-
+
/**
* Removes and deallocates all channels from a pose.
* Does not free the pose itself.
*/
-void clear_pose(struct bPose *pose);
-
-/* Sets the value of a pose channel */
-struct bPoseChannel *set_pose_channel(struct bPose *pose,
- struct bPoseChannel *chan);
+void free_pose_channels(struct bPose *pose);
/**
* Allocate a new pose on the heap, and copy the src pose and it's channels
- * into the new pose. *dst is set to the newly allocated structure.
+ * into the new pose. *dst is set to the newly allocated structure, and assumed to be NULL.
*/
void copy_pose(struct bPose **dst, struct bPose *src,
int copyconstraints);
@@ -104,6 +93,9 @@ struct bPoseChannel *get_pose_channel(const struct bPose *pose,
struct bPoseChannel *verify_pose_channel(struct bPose* pose,
const char* name);
+/* sets constraint flags */
+void update_pose_constraint_flags(struct bPose *pose);
+
/**
* Allocate a new bAction on the heap and copy
* the contents of src into it. If src is NULL NULL is returned.
@@ -119,31 +111,12 @@ float calc_action_start(const struct bAction *act);
float calc_action_end(const struct bAction *act);
/**
- * Evaluate the pose from the given action.
- * If the pose does not exist, a new one is created.
- * Some deep calls into blender are made here.
+ * Set the pose channels from the given action.
*/
-void get_pose_from_action(struct bPose **pose, struct bAction *act,
+void extract_pose_from_action(struct bPose *pose, struct bAction *act,
float ctime);
/**
- * I think this duplicates the src into *pose.
- * If the pose does not exist, a new one is created.
- * If the pose does not contain channels from src
- * new channels are created.
- */
-void get_pose_from_pose(struct bPose **pose, const struct bPose *src);
-
-void clear_pose_constraint_status(struct Object *ob);
-
-/**
- * Blends the common subset of channels from dst and src.
- * and writes result to dst.
- */
-void blend_poses(struct bPose *dst, const struct bPose *src,
- float srcweight, short mode);
-
-/**
* Iterate through the action channels of the action
* and return the channel with the given name.
* Returns NULL if no channel.
@@ -151,30 +124,20 @@ void blend_poses(struct bPose *dst, const struct bPose *src,
struct bActionChannel *get_named_actionchannel(struct bAction *act,
const char *name);
+// exported for game engine
+void blend_poses(struct bPose *dst, const struct bPose *src, float srcweight, short mode);
+void extract_pose_from_pose(struct bPose *pose, const struct bPose *src);
+
+
#ifdef __cplusplus
};
#endif
+/* nla strip flag */
enum {
POSE_BLEND = 0,
POSE_ADD
};
-enum {
- POSE_KEY = 0x10000000,
- POSE_LOC = 0x00000001,
- POSE_ROT = 0x00000002,
- POSE_SIZE = 0x00000004,
- POSE_UNUSED1 = 0x00000008,
- POSE_UNUSED2 = 0x00000010,
- POSE_UNUSED3 = 0x00000020,
- POSE_UNUSED4 = 0x00000040,
- POSE_UNUSED5 = 0x00000080,
- POSE_OBMAT = 0x00000100,
- POSE_PARMAT = 0x00000200,
- PCHAN_DONE = 0x00000400,
- PCHAN_TRANS_UPDATE = 0x00000800
-};
-
#endif