|
Blender V5.0
|
Namespaces | |
| namespace | greasepencil |
| namespace | tests |
Classes | |
| struct | KeyframeCopyBuffer |
Typedefs | |
| using | pastebuf_match_func |
Functions | |
| std::optional< std::string > | flip_names (const blender::StringRefNull rna_path) |
| static SlotMatchMethod | get_slot_match_method (const bool from_single, const bool to_single, const KeyframePasteContext &paste_context) |
| static const FCurve * | pastebuf_find_matching_copybuf_item (const pastebuf_match_func strategy, Main *bmain, const bAnimListElem &ale_to_paste_into, const bool from_single, const bool to_single, const KeyframePasteContext &paste_context) |
| bool | pastebuf_match_path_full (Main *, const FCurve &fcurve_to_match, const FCurve &fcurve_in_copy_buffer, blender::animrig::slot_handle_t, const bool from_single, const bool to_single, const bool flip) |
| bool | pastebuf_match_path_property (Main *bmain, const FCurve &fcurve_to_match, const FCurve &fcurve_in_copy_buffer, blender::animrig::slot_handle_t slot_handle_in_copy_buffer, const bool from_single, const bool, const bool) |
| bool | pastebuf_match_index_only (Main *, const FCurve &fcurve_to_match, const FCurve &fcurve_in_copy_buffer, blender::animrig::slot_handle_t, const bool from_single, const bool, const bool) |
| static void | do_curve_mirror_flippping (const FCurve &fcurve, BezTriple &bezt) |
| static void | paste_animedit_keys_fcurve (FCurve *fcu, const FCurve &fcurve_in_copy_buffer, float offset[2], const eKeyMergeMode merge_mode, bool flip) |
Variables | |
| KeyframeCopyBuffer * | keyframe_copy_buffer = nullptr |
Definition at line 1588 of file keyframes_general.cc.
|
static |
Definition at line 1886 of file keyframes_general.cc.
References FCurve::array_index, BLI_strn_endswith(), ELEM, keyframe_copy_buffer, FCurve::rna_path, and BezTriple::vec.
Referenced by paste_animedit_keys_fcurve().
| std::optional< std::string > blender::ed::animation::flip_names | ( | StringRefNull | rna_path | ) |
Flip bone names in the RNA path, returning the flipped path.
Returns empty optional if the rna_path is not animating a bone, i.e. doesn't have the pose.bones[" prefix.
Definition at line 1569 of file keyframes_general.cc.
References BLI_str_quoted_substr_range(), BLI_string_flip_side_name(), blender::StringRefNull::c_str(), MAX_VGROUP_NAME, and blender::StringRefBase::substr().
Referenced by pastebuf_match_path_full(), and blender::ed::animation::tests::TEST_F().
|
static |
Determine whether slot names matter when matching copied data to selected-to-paste-into channels.
Definition at line 1617 of file keyframes_general.cc.
References BLI_assert_msg, keyframe_copy_buffer, KeyframePasteContext::num_fcurves_selected, KeyframePasteContext::num_slots_selected, and UNUSED_VARS_NDEBUG.
Referenced by pastebuf_find_matching_copybuf_item().
|
static |
Definition at line 1924 of file keyframes_general.cc.
References add_v2_v2(), FCurve::bezt, BEZT_DESEL_ALL, BEZT_SEL_ALL, BKE_fcurve_delete_keys_all(), BKE_fcurve_delete_keys_selected(), BKE_fcurve_handles_recalc(), do_curve_mirror_flippping(), BezTriple::f2, i, blender::animrig::insert_bezt_fcurve(), INSERTKEY_OVERWRITE_FULL, keyframe_copy_buffer, KEYFRAME_PASTE_MERGE_MIX, KEYFRAME_PASTE_MERGE_OVER, KEYFRAME_PASTE_MERGE_OVER_RANGE, KEYFRAME_PASTE_MERGE_OVER_RANGE_ALL, SELECT, FCurve::totvert, and BezTriple::vec.
Referenced by paste_animedit_keys().
|
static |
Return the first item in the copy buffer that matches the given bAnimListElem.
| ale_to_paste_into | must be an ALE that represents an F-Curve. The entire ALE is passed (instead of just the F-Curve) as it provides information about the Action & Slot it came from. |
Definition at line 1683 of file keyframes_general.cc.
References ALE_FCURVE, ATTR_FALLTHROUGH, BLI_assert, BLI_assert_msg, bAnimListElem::data, bAnimListElem::datatype, bAnimListElem::fcurve_owner_id, blender::animrig::Channelbag::fcurves(), KeyframePasteContext::flip, get_slot_match_method(), GS, ID_AC, ActionSlot::identifier, blender::animrig::Slot::is_selected(), keyframe_copy_buffer, ID::name, blender::animrig::Action::slot_for_handle(), ActionChannelbag::slot_handle, bAnimListElem::slot_handle, blender::ed::animation::KeyframeCopyBuffer::SLOTLESS_SLOT_IDENTIFIER, and wrap().
Referenced by paste_animedit_keys().
| bool blender::ed::animation::pastebuf_match_index_only | ( | Main * | bmain, |
| const FCurve & | fcurve_to_match, | ||
| const FCurve & | fcurve_in_copy_buffer, | ||
| animrig::slot_handle_t | slot_handle_in_copy_buffer, | ||
| bool | from_single, | ||
| bool | to_single, | ||
| bool | flip ) |
Least strict paste buffer matching method: array indices only.
Definition at line 1873 of file keyframes_general.cc.
References FCurve::array_index.
Referenced by paste_animedit_keys(), and blender::ed::animation::tests::TEST_F().
| bool blender::ed::animation::pastebuf_match_path_full | ( | Main * | bmain, |
| const FCurve & | fcurve_to_match, | ||
| const FCurve & | fcurve_in_copy_buffer, | ||
| animrig::slot_handle_t | slot_handle_in_copy_buffer, | ||
| bool | from_single, | ||
| bool | to_single, | ||
| bool | flip ) |
Most strict paste buffer matching method: exact matches on RNA path and array index only.
Definition at line 1781 of file keyframes_general.cc.
References FCurve::array_index, flip_names(), keyframe_copy_buffer, FCurve::rna_path, and STREQ.
Referenced by paste_animedit_keys(), and blender::ed::animation::tests::TEST_F().
| bool blender::ed::animation::pastebuf_match_path_property | ( | Main * | bmain, |
| const FCurve & | fcurve_to_match, | ||
| const FCurve & | fcurve_in_copy_buffer, | ||
| animrig::slot_handle_t | slot_handle_in_copy_buffer, | ||
| bool | from_single, | ||
| bool | to_single, | ||
| bool | flip ) |
Medium strict paste buffer matching method: match the property name (so not the entire RNA path) and the array index.
Definition at line 1812 of file keyframes_general.cc.
References FCurve::array_index, BLI_findindex(), blender::StringRefBase::endswith(), GS, keyframe_copy_buffer, ID::name, printf, RNA_id_pointer_create(), FCurve::rna_path, RNA_path_resolve_property(), RNA_property_identifier(), and which_libbase().
Referenced by paste_animedit_keys(), and blender::ed::animation::tests::TEST_F().
| KeyframeCopyBuffer * blender::ed::animation::keyframe_copy_buffer = nullptr |
Definition at line 1257 of file keyframes_general.cc.
Referenced by ANIM_fcurves_copybuf_free(), ANIM_fcurves_copybuf_reset(), copy_animedit_keys(), do_curve_mirror_flippping(), get_slot_match_method(), paste_animedit_keys(), paste_animedit_keys_fcurve(), pastebuf_find_matching_copybuf_item(), pastebuf_match_path_full(), and pastebuf_match_path_property().