|
Blender
V2.93
|
#include "MEM_guardedalloc.h"#include "BLI_blenlib.h"#include "BLI_math.h"#include "DNA_anim_types.h"#include "DNA_armature_types.h"#include "DNA_object_types.h"#include "DNA_scene_types.h"#include "BKE_action.h"#include "BKE_anim_data.h"#include "BKE_idprop.h"#include "BKE_layer.h"#include "BKE_object.h"#include "BKE_context.h"#include "DEG_depsgraph.h"#include "RNA_access.h"#include "WM_api.h"#include "WM_types.h"#include "ED_armature.h"#include "ED_keyframing.h"#include "armature_intern.h"Go to the source code of this file.
Functions | |
| static void | fcurves_to_pchan_links_get (ListBase *pfLinks, Object *ob, bAction *act, bPoseChannel *pchan) |
| Object * | poseAnim_object_get (Object *ob_) |
| void | poseAnim_mapping_get (bContext *C, ListBase *pfLinks) |
| void | poseAnim_mapping_free (ListBase *pfLinks) |
| void | poseAnim_mapping_refresh (bContext *C, Scene *UNUSED(scene), Object *ob) |
| void | poseAnim_mapping_reset (ListBase *pfLinks) |
| void | poseAnim_mapping_autoKeyframe (bContext *C, Scene *scene, ListBase *pfLinks, float cframe) |
| LinkData * | poseAnim_mapping_getNextFCurve (ListBase *fcuLinks, LinkData *prev, const char *path) |
|
static |
Definition at line 66 of file pose_utils.c.
References ACT_TRANS_BBONE, ACT_TRANS_LOC, ACT_TRANS_PROP, ACT_TRANS_ROT, ACT_TRANS_SCALE, action_get_item_transforms(), BLI_addtail(), copy_qt_qt(), copy_v3_v3(), tPChanFCurveLink::curve_in_x, bPoseChannel::curve_in_x, tPChanFCurveLink::curve_in_y, bPoseChannel::curve_in_y, tPChanFCurveLink::curve_out_x, bPoseChannel::curve_out_x, tPChanFCurveLink::curve_out_y, bPoseChannel::curve_out_y, tPChanFCurveLink::ease1, bPoseChannel::ease1, tPChanFCurveLink::ease2, bPoseChannel::ease2, bPoseChannel::eul, tPChanFCurveLink::fcurves, bPoseChannel::flag, IDP_CopyProperty(), bPoseChannel::loc, MEM_callocN, NULL, tPChanFCurveLink::ob, tPChanFCurveLink::oldangle, tPChanFCurveLink::oldaxis, tPChanFCurveLink::oldloc, tPChanFCurveLink::oldprops, tPChanFCurveLink::oldquat, tPChanFCurveLink::oldrot, tPChanFCurveLink::oldscale, tPChanFCurveLink::pchan, tPChanFCurveLink::pchan_path, POSE_BBONE_SHAPE, POSE_LOC, POSE_ROT, POSE_SIZE, bPoseChannel::prop, ptr, bPoseChannel::quat, RNA_path_from_ID_to_struct(), RNA_pointer_create(), RNA_PoseBone, tPChanFCurveLink::roll1, bPoseChannel::roll1, tPChanFCurveLink::roll2, bPoseChannel::roll2, bPoseChannel::rotAngle, bPoseChannel::rotAxis, tPChanFCurveLink::scale_in_x, bPoseChannel::scale_in_x, tPChanFCurveLink::scale_in_y, bPoseChannel::scale_in_y, tPChanFCurveLink::scale_out_x, bPoseChannel::scale_out_x, tPChanFCurveLink::scale_out_y, bPoseChannel::scale_out_y, and bPoseChannel::size.
Referenced by poseAnim_mapping_get().
| void poseAnim_mapping_autoKeyframe | ( | bContext * | C, |
| Scene * | scene, | ||
| ListBase * | pfLinks, | ||
| float | cframe | ||
| ) |
Definition at line 272 of file pose_utils.c.
References ANIM_apply_keyingset(), ANIM_get_keyingset_for_autokeying(), ANIM_KS_WHOLE_CHARACTER_ID, ANIM_relative_keyingset_add_source(), autokeyframe_cfra_can_key(), BLI_freelistN(), C, CTX_data_view_layer(), CTX_wm_view3d(), ED_pose_recalculate_paths(), ListBase::first, FOREACH_OBJECT_IN_MODE_BEGIN, FOREACH_OBJECT_IN_MODE_END, Object::id, Scene::id, LIB_TAG_DOIT, MODIFYKEY_MODE_INSERT, MOTIONPATH_BAKE_HAS_PATHS, tPChanFCurveLink::next, NULL, tPChanFCurveLink::ob, OB_ARMATURE, OB_MODE_POSE, tPChanFCurveLink::pchan, POSE_PATH_CALC_RANGE_FULL, poseAnim_object_get(), RNA_PoseBone, scene, and ID::tag.
Referenced by pose_slide_autoKeyframe().
| void poseAnim_mapping_free | ( | ListBase * | pfLinks | ) |
Definition at line 195 of file pose_utils.c.
References BLI_freelinkN(), BLI_freelistN(), tPChanFCurveLink::fcurves, ListBase::first, IDP_FreeProperty(), MEM_freeN, tPChanFCurveLink::next, NULL, tPChanFCurveLink::oldprops, and tPChanFCurveLink::pchan_path.
Referenced by pose_propagate_exec(), and pose_slide_exit().
Definition at line 149 of file pose_utils.c.
References AnimData::action, Object::adt, BLI_listbase_is_empty(), C, CTX_DATA_BEGIN_WITH_ID, CTX_DATA_END, fcurves_to_pchan_links_get(), NULL, and poseAnim_object_get().
Referenced by pose_propagate_exec(), and pose_slide_init().
| LinkData* poseAnim_mapping_getNextFCurve | ( | ListBase * | fcuLinks, |
| LinkData * | prev, | ||
| const char * | path | ||
| ) |
Definition at line 343 of file pose_utils.c.
References LinkData::data, ListBase::first, if(), LinkData::next, NULL, FCurve::rna_path, and STREQ.
Referenced by pose_slide_apply_quat(), and pose_slide_apply_vec3().
Definition at line 222 of file pose_utils.c.
References AnimData::action, BKE_animdata_from_id(), C, DEG_id_tag_update(), bAction::id, Object::id, ID_RECALC_ANIMATION_NO_FLUSH, ID_RECALC_GEOMETRY, NC_OBJECT, ND_POSE, and WM_event_add_notifier().
| void poseAnim_mapping_reset | ( | ListBase * | pfLinks | ) |
Definition at line 234 of file pose_utils.c.
References copy_qt_qt(), copy_v3_v3(), tPChanFCurveLink::curve_in_x, bPoseChannel::curve_in_x, tPChanFCurveLink::curve_in_y, bPoseChannel::curve_in_y, tPChanFCurveLink::curve_out_x, bPoseChannel::curve_out_x, tPChanFCurveLink::curve_out_y, bPoseChannel::curve_out_y, tPChanFCurveLink::ease1, bPoseChannel::ease1, tPChanFCurveLink::ease2, bPoseChannel::ease2, bPoseChannel::eul, ListBase::first, IDP_SyncGroupValues(), bPoseChannel::loc, tPChanFCurveLink::next, tPChanFCurveLink::oldangle, tPChanFCurveLink::oldaxis, tPChanFCurveLink::oldloc, tPChanFCurveLink::oldprops, tPChanFCurveLink::oldquat, tPChanFCurveLink::oldrot, tPChanFCurveLink::oldscale, tPChanFCurveLink::pchan, bPoseChannel::prop, bPoseChannel::quat, tPChanFCurveLink::roll1, bPoseChannel::roll1, tPChanFCurveLink::roll2, bPoseChannel::roll2, bPoseChannel::rotAngle, bPoseChannel::rotAxis, tPChanFCurveLink::scale_in_x, bPoseChannel::scale_in_x, tPChanFCurveLink::scale_in_y, bPoseChannel::scale_in_y, tPChanFCurveLink::scale_out_x, bPoseChannel::scale_out_x, tPChanFCurveLink::scale_out_y, bPoseChannel::scale_out_y, and bPoseChannel::size.
Referenced by pose_slide_reset().
Returns a valid pose armature for this object, else returns NULL.
Definition at line 139 of file pose_utils.c.
References AnimData::action, Object::adt, BKE_object_pose_armature_get(), Object::data, ELEM, and NULL.
Referenced by pose_slide_init(), poseAnim_mapping_autoKeyframe(), and poseAnim_mapping_get().