diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2015-06-29 18:10:42 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2015-06-29 18:10:42 +0300 |
commit | 58d6cbba6da31db8dc8a2b42d528b9a353081904 (patch) | |
tree | 04b57a2f809c6f08d84a082edf061f3ece631860 /source/blender/blenkernel/BKE_armature.h | |
parent | 94549adec4b6857fb6ec4cf77606da51ff7c26b7 (diff) | |
parent | 295d0c52a26730edc6d4ed1276e4051cce006be5 (diff) |
Merge branch 'master' into temp-ghash-setopstemp-ghash-setops
Diffstat (limited to 'source/blender/blenkernel/BKE_armature.h')
-rw-r--r-- | source/blender/blenkernel/BKE_armature.h | 54 |
1 files changed, 51 insertions, 3 deletions
diff --git a/source/blender/blenkernel/BKE_armature.h b/source/blender/blenkernel/BKE_armature.h index 66e204e51e0..a834a83ca00 100644 --- a/source/blender/blenkernel/BKE_armature.h +++ b/source/blender/blenkernel/BKE_armature.h @@ -36,13 +36,10 @@ struct Bone; struct Main; struct bArmature; -struct bPose; struct bPoseChannel; struct bConstraint; struct Scene; struct Object; -struct MDeformVert; -struct Mesh; struct PoseTree; struct ListBase; @@ -145,6 +142,57 @@ void b_bone_spline_setup(struct bPoseChannel *pchan, int rest, Mat4 result_array #define PBONE_SELECTABLE(arm, bone) \ (PBONE_VISIBLE(arm, bone) && !((bone)->flag & BONE_UNSELECTABLE)) +/* Evaluation helpers */ +struct bKinematicConstraint; +struct bPose; +struct bSplineIKConstraint; +struct EvaluationContext; + +struct bPoseChannel *BKE_armature_ik_solver_find_root( + struct bPoseChannel *pchan, + struct bKinematicConstraint *data); +struct bPoseChannel *BKE_armature_splineik_solver_find_root( + struct bPoseChannel *pchan, + struct bSplineIKConstraint *data); + +void BKE_pose_splineik_init_tree(struct Scene *scene, struct Object *ob, float ctime); +void BKE_splineik_execute_tree(struct Scene *scene, struct Object *ob, struct bPoseChannel *pchan_root, float ctime); + +void BKE_pose_eval_init(struct EvaluationContext *eval_ctx, + struct Scene *scene, + struct Object *ob, + struct bPose *pose); + +void BKE_pose_eval_bone(struct EvaluationContext *eval_ctx, + struct Scene *scene, + struct Object *ob, + struct bPoseChannel *pchan); + +void BKE_pose_constraints_evaluate(struct EvaluationContext *eval_ctx, + struct Object *ob, + struct bPoseChannel *pchan); + +void BKE_pose_bone_done(struct EvaluationContext *eval_ctx, + struct bPoseChannel *pchan); + +void BKE_pose_iktree_evaluate(struct EvaluationContext *eval_ctx, + struct Scene *scene, + struct Object *ob, + struct bPoseChannel *rootchan); + +void BKE_pose_splineik_evaluate(struct EvaluationContext *eval_ctx, + struct Scene *scene, + struct Object *ob, + struct bPoseChannel *rootchan); + +void BKE_pose_eval_flush(struct EvaluationContext *eval_ctx, + struct Scene *scene, + struct Object *ob, + struct bPose *pose); + +void BKE_pose_eval_proxy_copy(struct EvaluationContext *eval_ctx, + struct Object *ob); + #ifdef __cplusplus } #endif |