|
Blender V5.0
|
#include "MEM_guardedalloc.h"#include "BLI_array.hh"#include "BLI_listbase.h"#include "BLI_math_rotation.h"#include "BLI_string.h"#include "BLT_translation.hh"#include "DNA_anim_types.h"#include "DNA_object_types.h"#include "DNA_scene_types.h"#include "BKE_fcurve.hh"#include "BKE_nla.hh"#include "BKE_context.hh"#include "BKE_layer.hh"#include "BKE_report.hh"#include "BKE_scene.hh"#include "BKE_unit.hh"#include "RNA_access.hh"#include "RNA_define.hh"#include "RNA_prototypes.hh"#include "WM_api.hh"#include "WM_types.hh"#include "UI_interface.hh"#include "ED_keyframes_edit.hh"#include "ED_keyframes_keylist.hh"#include "ED_markers.hh"#include "ED_numinput.hh"#include "ED_screen.hh"#include "ED_util.hh"#include "ANIM_fcurve.hh"#include "armature_intern.hh"Go to the source code of this file.
Classes | |
| struct | tPoseSlideObject |
| struct | tPoseSlideOp |
| struct | FrameLink |
Enumerations | |
| enum | ePoseSlide_AxisLock { PS_LOCK_X = (1 << 0) , PS_LOCK_Y = (1 << 1) , PS_LOCK_Z = (1 << 2) } |
| enum | ePoseSlide_Modes { POSESLIDE_PUSH = 0 , POSESLIDE_RELAX , POSESLIDE_BREAKDOWN , POSESLIDE_BLEND_REST , POSESLIDE_BLEND } |
| enum | ePoseSlide_Channels { PS_TFM_ALL = 0 , PS_TFM_LOC , PS_TFM_ROT , PS_TFM_SCALE , PS_TFM_BBONE_SHAPE , PS_TFM_PROPS } |
| enum | ePosePropagate_Termination { POSE_PROPAGATE_LAST_KEY = 0 , POSE_PROPAGATE_NEXT_KEY , POSE_PROPAGATE_BEFORE_FRAME , POSE_PROPAGATE_BEFORE_END , POSE_PROPAGATE_SELECTED_KEYS , POSE_PROPAGATE_SELECTED_MARKERS } |
Variables | |
| static const EnumPropertyItem | prop_channels_types [] |
| static const EnumPropertyItem | prop_axis_lock_types [] |
Push & Relax, Breakdowner
These tools provide the animator with various capabilities for interactively controlling the spacing of poses, but also for 'pushing' and/or 'relaxing' extremes as they see fit.
Propagate
This tool copies elements of the selected pose to successive keyframes, allowing the animator to go back and modify the poses for some "static" pose controls, without having to repeatedly doing a "next paste" dance.
Pose Sculpting (TODO)
This is yet to be implemented, but the idea here is to use sculpting techniques to make it easier to pose rigs by allowing rigs to be manipulated using a familiar paint-based interface.
Definition in file pose_slide.cc.
Definition at line 1680 of file pose_slide.cc.
| enum ePoseSlide_AxisLock |
| enum ePoseSlide_Channels |
Transforms/Channels to Affect.
| Enumerator | |
|---|---|
| PS_TFM_ALL | |
| PS_TFM_LOC | |
| PS_TFM_ROT | |
| PS_TFM_SCALE | |
| PS_TFM_BBONE_SHAPE | |
| PS_TFM_PROPS | |
Definition at line 98 of file pose_slide.cc.
| enum ePoseSlide_Modes |
Pose Sliding Modes.
| Enumerator | |
|---|---|
| POSESLIDE_PUSH | Exaggerate the pose. |
| POSESLIDE_RELAX | soften the pose. |
| POSESLIDE_BREAKDOWN | Slide between the endpoint poses, finding a 'soft' spot. |
| POSESLIDE_BLEND_REST | |
| POSESLIDE_BLEND | |
Definition at line 86 of file pose_slide.cc.
Definition at line 1747 of file pose_slide.cc.
References FCurve::bezt, LISTBASE_FOREACH, max_ff(), FCurve::totvert, and BezTriple::vec.
Referenced by pose_propagate_exec().
Definition at line 1724 of file pose_slide.cc.
References FCurve::bezt, BKE_fcurve_bezt_binarysearch_index(), FLT_MAX, LISTBASE_FOREACH, min_ff(), min_ii(), FCurve::totvert, and BezTriple::vec.
Referenced by pose_propagate_exec().
|
static |
Definition at line 1775 of file pose_slide.cc.
References BLI_addtail(), ED_keylist_create(), ED_keylist_free(), ED_keylist_listbase(), fcurve_to_keylist(), FrameLink::frame, LISTBASE_FOREACH, and MEM_callocN().
Referenced by pose_propagate_exec().
Definition at line 1801 of file pose_slide.cc.
References BLI_addtail(), ED_keylist_create(), ED_keylist_free(), ED_keylist_listbase(), fcurve_to_keylist(), FLT_MAX, FrameLink::frame, LISTBASE_FOREACH, and MEM_callocN().
Referenced by pose_propagate_exec().
Definition at line 1763 of file pose_slide.cc.
References BLI_addtail(), BLI_freelistN(), ED_markers_make_cfra_list(), FrameLink::frame, LISTBASE_FOREACH, Scene::markers, and MEM_callocN().
Referenced by pose_propagate_exec().
|
static |
Although this lookup is not ideal, we won't be dealing with a lot of objects at a given time. But if it comes to that we can instead store prev/next frame in the tPChanFCurveLink.
Definition at line 314 of file pose_slide.cc.
References tPoseSlideObject::next_frame, tPoseSlideObject::ob, tPoseSlideOp::ob_data_array, and tPoseSlideObject::prev_frame.
Referenced by pose_slide_apply_quat(), and pose_slide_apply_val().
| void POSE_OT_blend_to_neighbors | ( | wmOperatorType * | ot | ) |
Definition at line 1655 of file pose_slide.cc.
References ED_operator_posemode(), OPTYPE_BLOCKING, OPTYPE_GRAB_CURSOR_X, OPTYPE_REGISTER, OPTYPE_UNDO, ot, pose_slide_blend_to_neighbors_exec(), pose_slide_blend_to_neighbors_invoke(), pose_slide_cancel(), pose_slide_modal(), and pose_slide_opdef_properties().
Referenced by ED_operatortypes_armature().
| void POSE_OT_blend_with_rest | ( | wmOperatorType * | ot | ) |
Definition at line 1544 of file pose_slide.cc.
References ED_operator_posemode(), OPTYPE_BLOCKING, OPTYPE_GRAB_CURSOR_X, OPTYPE_REGISTER, OPTYPE_UNDO, ot, pose_slide_blend_rest_exec(), pose_slide_blend_rest_invoke(), pose_slide_cancel(), pose_slide_modal(), and pose_slide_opdef_properties().
Referenced by ED_operatortypes_armature().
| void POSE_OT_breakdown | ( | wmOperatorType * | ot | ) |
Definition at line 1603 of file pose_slide.cc.
References ED_operator_posemode(), OPTYPE_BLOCKING, OPTYPE_GRAB_CURSOR_X, OPTYPE_REGISTER, OPTYPE_UNDO, ot, pose_slide_breakdown_exec(), pose_slide_breakdown_invoke(), pose_slide_cancel(), pose_slide_modal(), and pose_slide_opdef_properties().
Referenced by ED_operatortypes_armature().
| void POSE_OT_propagate | ( | wmOperatorType * | ot | ) |
Definition at line 1907 of file pose_slide.cc.
References ED_operator_posemode(), FLT_MAX, OPTYPE_REGISTER, OPTYPE_UNDO, ot, POSE_PROPAGATE_BEFORE_END, POSE_PROPAGATE_BEFORE_FRAME, pose_propagate_exec(), POSE_PROPAGATE_LAST_KEY, POSE_PROPAGATE_NEXT_KEY, POSE_PROPAGATE_SELECTED_KEYS, POSE_PROPAGATE_SELECTED_MARKERS, RNA_def_enum(), and RNA_def_float().
Referenced by ED_operatortypes_armature().
| void POSE_OT_push | ( | wmOperatorType * | ot | ) |
Definition at line 1425 of file pose_slide.cc.
References ED_operator_posemode(), OPTYPE_BLOCKING, OPTYPE_GRAB_CURSOR_X, OPTYPE_REGISTER, OPTYPE_UNDO, ot, pose_slide_cancel(), pose_slide_modal(), pose_slide_opdef_properties(), pose_slide_push_exec(), and pose_slide_push_invoke().
Referenced by ED_operatortypes_armature().
| void POSE_OT_relax | ( | wmOperatorType * | ot | ) |
Definition at line 1482 of file pose_slide.cc.
References ED_operator_posemode(), OPTYPE_BLOCKING, OPTYPE_GRAB_CURSOR_X, OPTYPE_REGISTER, OPTYPE_UNDO, ot, pose_slide_cancel(), pose_slide_modal(), pose_slide_opdef_properties(), pose_slide_relax_exec(), and pose_slide_relax_invoke().
Referenced by ED_operatortypes_armature().
|
static |
Definition at line 1823 of file pose_slide.cc.
References BKE_report(), BKE_scene_frame_get(), BLI_addtail(), BLI_freelistN(), BLI_listbase_is_empty(), C, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), find_last_key(), find_next_key(), FLT_MAX, FOREACH_OBJECT_IN_MODE_BEGIN, FOREACH_OBJECT_IN_MODE_END, FrameLink::frame, get_keyed_frames_in_range(), get_selected_frames(), get_selected_marker_positions(), MEM_callocN(), OB_ARMATURE, OB_MODE_POSE, OPERATOR_CANCELLED, OPERATOR_FINISHED, POSE_PROPAGATE_BEFORE_END, POSE_PROPAGATE_BEFORE_FRAME, POSE_PROPAGATE_LAST_KEY, POSE_PROPAGATE_NEXT_KEY, POSE_PROPAGATE_SELECTED_KEYS, POSE_PROPAGATE_SELECTED_MARKERS, poseAnim_mapping_free(), poseAnim_mapping_get(), poseAnim_mapping_refresh(), propagate_curve_values(), wmOperator::ptr, wmOperator::reports, RNA_enum_get(), RNA_float_get(), and RPT_ERROR.
Referenced by POSE_OT_propagate().
|
static |
apply() - perform the pose sliding based on weighting various poses.
Definition at line 792 of file pose_slide.cc.
References Object::adt, BKE_nla_tweakedit_remap(), C, tPoseSlideOp::channels, ELEM, bPoseChannel::eul, bPoseChannel::flag, LISTBASE_FOREACH, bPoseChannel::loc, tPoseSlideObject::next_frame, tPoseSlideOp::next_frame, NLATIME_CONVERT_UNMAP, tPoseSlideObject::ob, tPoseSlideOp::ob_data_array, tPoseSlideOp::pfLinks, POSE_BBONE_SHAPE, POSE_LOC, POSE_ROT, POSE_SCALE, pose_slide_apply_props(), pose_slide_apply_quat(), pose_slide_apply_vec3(), pose_slide_refresh(), tPoseSlideObject::prev_frame, tPoseSlideOp::prev_frame, PS_TFM_ALL, PS_TFM_BBONE_SHAPE, PS_TFM_LOC, PS_TFM_PROPS, PS_TFM_ROT, PS_TFM_SCALE, ROT_MODE_AXISANGLE, bPoseChannel::rotmode, bPoseChannel::scale, and tPoseSlideObject::valid.
Referenced by pose_slide_exec_common(), pose_slide_invoke_common(), and pose_slide_modal().
|
static |
Helper for apply() - perform sliding for custom properties or bbone properties.
Definition at line 451 of file pose_slide.cc.
References FCurve::array_index, tPChanFCurveLink::fcurves, float, len, LISTBASE_FOREACH, tPChanFCurveLink::ob, tPChanFCurveLink::pchan, tPChanFCurveLink::pchan_path, pose_slide_apply_val(), PROP_BOOLEAN, PROP_ENUM, PROP_FLOAT, PROP_INT, ptr, FCurve::rna_path, RNA_pointer_create_discrete(), RNA_property_array_check(), RNA_property_array_length(), RNA_property_boolean_get(), RNA_property_boolean_get_index(), RNA_property_boolean_set(), RNA_property_boolean_set_index(), RNA_property_float_get(), RNA_property_float_get_index(), RNA_property_float_set(), RNA_property_float_set_index(), RNA_property_int_get(), RNA_property_int_get_index(), RNA_property_int_set(), RNA_property_int_set_index(), RNA_property_type(), RNA_struct_find_property(), and UNLIKELY.
Referenced by pose_slide_apply().
|
static |
Helper for apply() - perform sliding for quaternion rotations (using quat blending).
Definition at line 579 of file pose_slide.cc.
References FCurve::array_index, BLI_assert, BLI_assert_msg, BLI_sprintfN(), copy_qt_qt(), tPoseSlideOp::current_frame, LinkData::data, ED_slider_factor_get(), ELEM, evaluate_fcurve(), fabs(), tPChanFCurveLink::fcurves, float, interp_qt_qtqt(), MEM_freeN(), tPoseSlideOp::mode, tPoseSlideOp::next_frame, normalize_qt(), normalize_qt_qt(), tPChanFCurveLink::ob, tPChanFCurveLink::pchan, tPChanFCurveLink::pchan_path, pose_frame_range_from_object_get(), poseAnim_mapping_getNextFCurve(), POSESLIDE_BLEND, POSESLIDE_BREAKDOWN, POSESLIDE_PUSH, POSESLIDE_RELAX, tPoseSlideOp::prev_frame, bPoseChannel::quat, quat_to_compatible_quat(), and tPoseSlideOp::slider.
Referenced by pose_slide_apply().
|
static |
Helper for apply() - perform sliding for some value.
Definition at line 335 of file pose_slide.cc.
References tPoseSlideOp::current_frame, ED_slider_factor_get(), evaluate_fcurve(), fabs(), float, interpf(), tPoseSlideOp::mode, tPoseSlideOp::next_frame, pose_frame_range_from_object_get(), POSESLIDE_BLEND, POSESLIDE_BLEND_REST, POSESLIDE_BREAKDOWN, POSESLIDE_PUSH, POSESLIDE_RELAX, tPoseSlideOp::prev_frame, and tPoseSlideOp::slider.
Referenced by pose_slide_apply_props(), and pose_slide_apply_vec3().
|
static |
Helper for apply() - perform sliding for some 3-element vector.
Definition at line 416 of file pose_slide.cc.
References FCurve::array_index, tPoseSlideOp::axislock, BLI_assert, BLI_sprintfN(), LinkData::data, tPChanFCurveLink::fcurves, lock, MEM_freeN(), tPChanFCurveLink::ob, tPChanFCurveLink::pchan_path, pose_slide_apply_val(), poseAnim_mapping_getNextFCurve(), PS_LOCK_X, PS_LOCK_Y, and PS_LOCK_Z.
Referenced by pose_slide_apply().
|
static |
Perform auto-key-framing after changes were made + confirmed.
Definition at line 866 of file pose_slide.cc.
References C, tPoseSlideOp::current_frame, tPoseSlideOp::pfLinks, poseAnim_mapping_autoKeyframe(), and tPoseSlideOp::scene.
Referenced by pose_slide_exec_common(), and pose_slide_modal().
|
static |
Operator exec() - for push.
Definition at line 1528 of file pose_slide.cc.
References C, wmOperator::customdata, OPERATOR_CANCELLED, pose_slide_exec_common(), pose_slide_exit(), pose_slide_init(), and POSESLIDE_BLEND_REST.
Referenced by POSE_OT_blend_with_rest().
|
static |
Operator invoke() - for 'blend with rest pose' mode.
Definition at line 1507 of file pose_slide.cc.
References C, wmOperator::customdata, ED_slider_factor_bounds_set(), ED_slider_factor_set(), OPERATOR_CANCELLED, pose_slide_exit(), pose_slide_init(), pose_slide_invoke_common(), POSESLIDE_BLEND_REST, and tPoseSlideOp::slider.
Referenced by POSE_OT_blend_with_rest().
|
static |
Definition at line 1639 of file pose_slide.cc.
References C, wmOperator::customdata, OPERATOR_CANCELLED, pose_slide_exec_common(), pose_slide_exit(), pose_slide_init(), and POSESLIDE_BLEND.
Referenced by POSE_OT_blend_to_neighbors().
|
static |
Definition at line 1625 of file pose_slide.cc.
References C, OPERATOR_CANCELLED, pose_slide_exit(), pose_slide_init(), pose_slide_invoke_common(), and POSESLIDE_BLEND.
Referenced by POSE_OT_blend_to_neighbors().
|
static |
Operator exec() - for breakdown.
Definition at line 1587 of file pose_slide.cc.
References C, wmOperator::customdata, OPERATOR_CANCELLED, pose_slide_exec_common(), pose_slide_exit(), pose_slide_init(), and POSESLIDE_BREAKDOWN.
Referenced by POSE_OT_breakdown().
|
static |
Operator invoke() - for 'breakdown' mode.
Definition at line 1570 of file pose_slide.cc.
References C, OPERATOR_CANCELLED, pose_slide_exit(), pose_slide_init(), pose_slide_invoke_common(), and POSESLIDE_BREAKDOWN.
Referenced by POSE_OT_breakdown().
|
static |
Common code for cancel()
Definition at line 1305 of file pose_slide.cc.
References C, and pose_slide_exit().
Referenced by POSE_OT_blend_to_neighbors(), POSE_OT_blend_with_rest(), POSE_OT_breakdown(), POSE_OT_push(), and POSE_OT_relax().
|
static |
Draw percentage indicator in status-bar.
TODO: Include hints about locks here.
Definition at line 888 of file pose_slide.cc.
References tPoseSlideOp::area, tPoseSlideOp::axislock, C, tPoseSlideOp::channels, ED_area_status_text(), ED_slider_property_label_set(), ED_slider_status_get(), ELEM, ListBase::first, View3DOverlay::flag, hasNumInput(), IFACE_, tPoseSlideOp::mode, tPoseSlideOp::num, NUM_STR_REP_LEN, outputNumInput(), View3D::overlay, POSESLIDE_BLEND, POSESLIDE_BREAKDOWN, POSESLIDE_PUSH, POSESLIDE_RELAX, PS_LOCK_X, PS_LOCK_Y, PS_LOCK_Z, PS_TFM_BBONE_SHAPE, PS_TFM_LOC, PS_TFM_PROPS, PS_TFM_ROT, PS_TFM_SCALE, tPoseSlideOp::scene, tPoseSlideOp::slider, SPACE_VIEW3D, ScrArea::spacedata, ScrArea::spacetype, status, Scene::unit, and V3D_OVERLAY_HIDE_BONES.
Referenced by pose_slide_invoke_common(), and pose_slide_modal().
|
static |
Common code for exec() methods.
Definition at line 1314 of file pose_slide.cc.
References C, ELEM, tPoseSlideOp::mode, OPERATOR_FINISHED, pose_slide_apply(), pose_slide_autoKeyframe(), pose_slide_exit(), pose_slide_rest_pose_apply(), and POSESLIDE_BLEND_REST.
Referenced by pose_slide_blend_rest_exec(), pose_slide_blend_to_neighbors_exec(), pose_slide_breakdown_exec(), pose_slide_push_exec(), and pose_slide_relax_exec().
|
static |
Exiting the operator (free data).
Definition at line 270 of file pose_slide.cc.
References tPoseSlideOp::area, C, wmOperator::customdata, ED_keylist_free(), ED_slider_destroy(), ListBase::first, View3DOverlay::flag, tPoseSlideOp::keylist, View3D::overlay, tPoseSlideOp::overlay_flag, tPoseSlideOp::pfLinks, poseAnim_mapping_free(), tPoseSlideOp::slider, SPACE_VIEW3D, ScrArea::spacedata, and ScrArea::spacetype.
Referenced by pose_slide_blend_rest_exec(), pose_slide_blend_rest_invoke(), pose_slide_blend_to_neighbors_exec(), pose_slide_blend_to_neighbors_invoke(), pose_slide_breakdown_exec(), pose_slide_breakdown_invoke(), pose_slide_cancel(), pose_slide_exec_common(), pose_slide_invoke_common(), pose_slide_modal(), pose_slide_push_exec(), pose_slide_push_invoke(), pose_slide_relax_exec(), and pose_slide_relax_invoke().
|
static |
Operator custom-data initialization.
Definition at line 192 of file pose_slide.cc.
References Object::adt, tPoseSlideOp::area, tPoseSlideOp::axislock, B_UNIT_NONE, BKE_nla_tweakedit_remap(), BKE_view_layer_array_from_objects_in_mode_unique_data(), C, RenderData::cfra, tPoseSlideOp::channels, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_area(), CTX_wm_region(), CTX_wm_view3d(), tPoseSlideOp::current_frame, wmOperator::customdata, ED_keylist_create(), ED_slider_create(), ED_slider_factor_set(), ListBase::first, bPose::flag, View3DOverlay::flag, NumInput::idx_max, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), initNumInput(), tPoseSlideOp::keylist, tPoseSlideOp::mode, tPoseSlideObject::next_frame, tPoseSlideOp::next_frame, NLATIME_CONVERT_UNMAP, tPoseSlideOp::num, tPoseSlideObject::ob, tPoseSlideOp::ob_data_array, OB_MODE_POSE, View3D::overlay, tPoseSlideOp::overlay_flag, tPoseSlideOp::pfLinks, Object::pose, POSE_DO_UNLOCK, POSE_LOCKED, poseAnim_mapping_get(), poseAnim_object_get(), tPoseSlideObject::prev_frame, tPoseSlideOp::prev_frame, wmOperator::ptr, Scene::r, tPoseSlideOp::region, Array< T, InlineBufferCapacity, Allocator >::reinitialize(), RNA_enum_get(), RNA_float_get(), RNA_int_get(), tPoseSlideOp::scene, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), tPoseSlideOp::slider, SPACE_VIEW3D, ScrArea::spacedata, ScrArea::spacetype, NumInput::unit_type, and tPoseSlideObject::valid.
Referenced by pose_slide_blend_rest_exec(), pose_slide_blend_rest_invoke(), pose_slide_blend_to_neighbors_exec(), pose_slide_blend_to_neighbors_invoke(), pose_slide_breakdown_exec(), pose_slide_breakdown_invoke(), pose_slide_push_exec(), pose_slide_push_invoke(), pose_slide_relax_exec(), and pose_slide_relax_invoke().
|
static |
Common code for invoke() methods.
Definition at line 973 of file pose_slide.cc.
References Object::adt, BKE_nla_tweakedit_remap(), BKE_report(), C, ActKeyColumn::cfra, CTX_wm_window(), tPoseSlideOp::current_frame, wmOperator::customdata, ED_keylist_find_exact(), ED_keylist_find_next(), ED_keylist_find_prev(), ED_keylist_is_empty(), ED_keylist_prepare_for_direct_access(), ED_slider_init(), ELEM, fcurve_to_keylist(), float, tPoseSlideOp::keylist, LISTBASE_FOREACH, tPoseSlideOp::mode, ActKeyColumn::next, tPoseSlideObject::next_frame, tPoseSlideOp::next_frame, NLATIME_CONVERT_UNMAP, tPoseSlideObject::ob, tPoseSlideOp::ob_data_array, OPERATOR_CANCELLED, OPERATOR_RUNNING_MODAL, tPoseSlideOp::pfLinks, pose_slide_apply(), pose_slide_draw_status(), pose_slide_exit(), pose_slide_refresh(), pose_slide_rest_pose_apply(), POSESLIDE_BLEND_REST, ActKeyColumn::prev, tPoseSlideObject::prev_frame, tPoseSlideOp::prev_frame, wmOperator::ptr, wmOperator::reports, RNA_int_set(), RPT_ERROR, tPoseSlideOp::slider, tPoseSlideObject::valid, WM_CURSOR_EW_SCROLL, WM_cursor_modal_set(), and WM_event_add_modal_handler().
Referenced by pose_slide_blend_rest_invoke(), pose_slide_blend_to_neighbors_invoke(), pose_slide_breakdown_invoke(), pose_slide_push_invoke(), and pose_slide_relax_invoke().
|
static |
Operator modal() callback.
Definition at line 1116 of file pose_slide.cc.
References applyNumInput(), tPoseSlideOp::area, C, CTX_wm_window(), wmOperator::customdata, ED_area_status_text(), ED_region_tag_redraw(), ED_slider_factor_get(), ED_slider_factor_set(), ED_slider_modal(), ED_workspace_status_text(), ELEM, EVT_BKEY, EVT_CKEY, EVT_ESCKEY, EVT_GKEY, EVT_HKEY, EVT_PADENTER, EVT_RETKEY, EVT_RKEY, EVT_SKEY, EVT_XKEY, EVT_YKEY, EVT_ZKEY, ListBase::first, View3DOverlay::flag, handleNumInput(), hasNumInput(), KM_PRESS, LEFTMOUSE, tPoseSlideOp::mode, MOUSEMOVE, tPoseSlideOp::num, OPERATOR_CANCELLED, OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, OPERATOR_RUNNING_MODAL, View3D::overlay, pose_slide_apply(), pose_slide_autoKeyframe(), pose_slide_draw_status(), pose_slide_exit(), pose_slide_refresh(), pose_slide_reset(), pose_slide_rest_pose_apply(), pose_slide_toggle_axis_locks(), pose_slide_toggle_channels_mode(), POSESLIDE_BLEND_REST, PS_LOCK_X, PS_LOCK_Y, PS_LOCK_Z, PS_TFM_BBONE_SHAPE, PS_TFM_LOC, PS_TFM_PROPS, PS_TFM_ROT, PS_TFM_SCALE, wmOperator::ptr, tPoseSlideOp::region, RIGHTMOUSE, RNA_float_set(), tPoseSlideOp::slider, SPACE_VIEW3D, ScrArea::spacedata, ScrArea::spacetype, wmEvent::type, V3D_OVERLAY_HIDE_BONES, wmEvent::val, and WM_cursor_modal_restore().
Referenced by POSE_OT_blend_to_neighbors(), POSE_OT_blend_with_rest(), POSE_OT_breakdown(), POSE_OT_push(), and POSE_OT_relax().
|
static |
Common code for defining RNA properties.
Definition at line 1336 of file pose_slide.cc.
References MAXFRAME, MINAFRAME, ot, prop_axis_lock_types, prop_channels_types, PROP_SKIP_SAVE, PS_TFM_ALL, RNA_def_enum(), RNA_def_float_factor(), RNA_def_int(), and RNA_def_property_flag().
Referenced by POSE_OT_blend_to_neighbors(), POSE_OT_blend_with_rest(), POSE_OT_breakdown(), POSE_OT_push(), and POSE_OT_relax().
|
static |
Operator exec() callback - for push.
Definition at line 1409 of file pose_slide.cc.
References C, wmOperator::customdata, OPERATOR_CANCELLED, pose_slide_exec_common(), pose_slide_exit(), pose_slide_init(), and POSESLIDE_PUSH.
Referenced by POSE_OT_push().
|
static |
Operator invoke() callback for 'push from breakdown' mode.
Definition at line 1394 of file pose_slide.cc.
References C, OPERATOR_CANCELLED, pose_slide_exit(), pose_slide_init(), pose_slide_invoke_common(), and POSESLIDE_PUSH.
Referenced by POSE_OT_push().
|
static |
Helper for apply() / reset() - refresh the data.
Definition at line 300 of file pose_slide.cc.
References C, tPoseSlideObject::ob, tPoseSlideOp::ob_data_array, poseAnim_mapping_refresh(), tPoseSlideOp::scene, and tPoseSlideObject::valid.
Referenced by pose_slide_apply(), pose_slide_invoke_common(), pose_slide_modal(), and pose_slide_rest_pose_apply().
|
static |
Operator exec() - for relax.
Definition at line 1466 of file pose_slide.cc.
References C, wmOperator::customdata, OPERATOR_CANCELLED, pose_slide_exec_common(), pose_slide_exit(), pose_slide_init(), and POSESLIDE_RELAX.
Referenced by POSE_OT_relax().
|
static |
Invoke callback - for 'relax to breakdown' mode.
Definition at line 1451 of file pose_slide.cc.
References C, OPERATOR_CANCELLED, pose_slide_exit(), pose_slide_init(), pose_slide_invoke_common(), and POSESLIDE_RELAX.
Referenced by POSE_OT_relax().
|
static |
Reset changes made to current pose.
Definition at line 875 of file pose_slide.cc.
References tPoseSlideOp::pfLinks, and poseAnim_mapping_reset().
Referenced by pose_slide_modal().
|
static |
apply() - perform the pose sliding between the current pose and the rest pose.
Definition at line 735 of file pose_slide.cc.
References C, tPoseSlideOp::channels, ELEM, bPoseChannel::eul, bPoseChannel::flag, LISTBASE_FOREACH, bPoseChannel::loc, tPoseSlideOp::pfLinks, POSE_BBONE_SHAPE, POSE_LOC, POSE_ROT, POSE_SCALE, pose_slide_refresh(), pose_slide_rest_pose_apply_other_rot(), pose_slide_rest_pose_apply_vec3(), PS_TFM_ALL, PS_TFM_BBONE_SHAPE, PS_TFM_LOC, PS_TFM_PROPS, PS_TFM_ROT, PS_TFM_SCALE, bPoseChannel::quat, ROT_MODE_AXISANGLE, bPoseChannel::rotmode, and bPoseChannel::scale.
Referenced by pose_slide_exec_common(), pose_slide_invoke_common(), and pose_slide_modal().
|
static |
Definition at line 716 of file pose_slide.cc.
References ED_slider_factor_get(), and tPoseSlideOp::slider.
Referenced by pose_slide_rest_pose_apply().
|
static |
Definition at line 701 of file pose_slide.cc.
References tPoseSlideOp::axislock, ED_slider_factor_get(), lock, PS_LOCK_X, PS_LOCK_Y, PS_LOCK_Z, and tPoseSlideOp::slider.
Referenced by pose_slide_rest_pose_apply().
|
static |
Handle an event to toggle axis locks - returns whether any change in state is needed.
Definition at line 1087 of file pose_slide.cc.
References tPoseSlideOp::axislock, tPoseSlideOp::channels, ELEM, PS_TFM_ALL, PS_TFM_BBONE_SHAPE, PS_TFM_PROPS, wmOperator::ptr, and RNA_enum_set().
Referenced by pose_slide_modal().
|
static |
Handle an event to toggle channels mode.
Definition at line 1064 of file pose_slide.cc.
References tPoseSlideOp::axislock, tPoseSlideOp::channels, PS_TFM_ALL, wmOperator::ptr, and RNA_enum_set().
Referenced by pose_slide_modal().
|
static |
Definition at line 1703 of file pose_slide.cc.
References FCurve::bezt, evaluate_fcurve(), blender::animrig::get_keyframe_settings(), blender::animrig::insert_vert_fcurve(), INSERTKEY_NOFLAGS, and LISTBASE_FOREACH.
Referenced by pose_propagate_exec().
|
static |
Definition at line 181 of file pose_slide.cc.
Referenced by pose_slide_opdef_properties().
|
static |
Property enum for ePoseSlide_Channels.
Definition at line 165 of file pose_slide.cc.
Referenced by pose_slide_opdef_properties().