Refactor: move get_keyframing_flags function to animrig
No functional changes. This PR moves the `ANIM_get_keyframing_flags` function to animrig as `get_keyframing_flags`. The docstring has been fixed since it was out of date. Pull Request: https://projects.blender.org/blender/blender/pulls/121120
This commit is contained in:
committed by
Christoph Lendenfeld
parent
4d10bbe733
commit
0dd0583a75
@@ -155,6 +155,14 @@ int clear_keyframe(Main *bmain,
|
||||
int array_index,
|
||||
eInsertKeyFlags /*flag*/);
|
||||
|
||||
/** Check if a flag is set for keyframing (per scene takes precedence). */
|
||||
bool is_keying_flag(const Scene *scene, eKeying_Flag flag);
|
||||
|
||||
/**
|
||||
* Get the settings for key-framing from the given scene.
|
||||
*/
|
||||
eInsertKeyFlags get_keyframing_flags(Scene *scene);
|
||||
|
||||
/** \} */
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
@@ -173,9 +181,6 @@ bool is_autokey_on(const Scene *scene);
|
||||
/** Check the mode for auto-keyframing (per scene takes precedence). */
|
||||
bool is_autokey_mode(const Scene *scene, eAutokey_Mode mode);
|
||||
|
||||
/** Check if a flag is set for keyframing (per scene takes precedence). */
|
||||
bool is_keying_flag(const Scene *scene, eKeying_Flag flag);
|
||||
|
||||
/**
|
||||
* Auto-keyframing feature - checks for whether anything should be done for the current frame.
|
||||
*/
|
||||
|
||||
@@ -208,6 +208,27 @@ bool is_keying_flag(const Scene *scene, const eKeying_Flag flag)
|
||||
return U.keying_flag & flag;
|
||||
}
|
||||
|
||||
eInsertKeyFlags get_keyframing_flags(Scene *scene)
|
||||
{
|
||||
eInsertKeyFlags flag = INSERTKEY_NOFLAGS;
|
||||
|
||||
/* Visual keying. */
|
||||
if (is_keying_flag(scene, KEYING_FLAG_VISUALKEY)) {
|
||||
flag |= INSERTKEY_MATRIX;
|
||||
}
|
||||
|
||||
/* Cycle-aware keyframe insertion - preserve cycle period and flow. */
|
||||
if (is_keying_flag(scene, KEYING_FLAG_CYCLEAWARE)) {
|
||||
flag |= INSERTKEY_CYCLE_AWARE;
|
||||
}
|
||||
|
||||
if (is_keying_flag(scene, MANUALKEY_FLAG_INSERTNEEDED)) {
|
||||
flag |= INSERTKEY_NEEDED;
|
||||
}
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
/** Used to make curves newly added to a cyclic Action cycle with the correct period. */
|
||||
static void make_new_fcurve_cyclic(FCurve *fcu, const blender::float2 &action_range)
|
||||
{
|
||||
|
||||
@@ -5142,7 +5142,7 @@ static void achannel_setting_slider_cb(bContext *C, void *id_poin, void *fcu_poi
|
||||
cfra = BKE_nla_tweakedit_remap(adt, float(scene->r.cfra), NLATIME_CONVERT_UNMAP);
|
||||
|
||||
/* Get flags for keyframing. */
|
||||
flag = ANIM_get_keyframing_flags(scene);
|
||||
flag = blender::animrig::get_keyframing_flags(scene);
|
||||
|
||||
/* try to resolve the path stored in the F-Curve */
|
||||
if (RNA_path_resolve_property(&id_ptr, fcu->rna_path, &ptr, &prop)) {
|
||||
@@ -5205,7 +5205,7 @@ static void achannel_setting_slider_shapekey_cb(bContext *C, void *key_poin, voi
|
||||
key->adt, anim_eval_context.eval_time, NLATIME_CONVERT_UNMAP);
|
||||
|
||||
/* get flags for keyframing */
|
||||
flag = ANIM_get_keyframing_flags(scene);
|
||||
flag = blender::animrig::get_keyframing_flags(scene);
|
||||
|
||||
/* try to resolve the path stored in the F-Curve */
|
||||
if (RNA_path_resolve_property(&id_ptr, rna_path ? rna_path->c_str() : nullptr, &ptr, &prop)) {
|
||||
@@ -5261,7 +5261,7 @@ static void achannel_setting_slider_nla_curve_cb(bContext *C, void * /*id_poin*/
|
||||
cfra = float(scene->r.cfra);
|
||||
|
||||
/* get flags for keyframing */
|
||||
flag = ANIM_get_keyframing_flags(scene);
|
||||
flag = blender::animrig::get_keyframing_flags(scene);
|
||||
|
||||
/* Get pointer and property from the slider -
|
||||
* this should all match up with the NlaStrip required. */
|
||||
|
||||
@@ -70,31 +70,6 @@ static KeyingSet *keyingset_get_from_op_with_error(wmOperator *op,
|
||||
|
||||
static int delete_key_using_keying_set(bContext *C, wmOperator *op, KeyingSet *ks);
|
||||
|
||||
/* ************************************************** */
|
||||
/* Keyframing Setting Wrangling */
|
||||
|
||||
eInsertKeyFlags ANIM_get_keyframing_flags(Scene *scene)
|
||||
{
|
||||
using namespace blender::animrig;
|
||||
eInsertKeyFlags flag = INSERTKEY_NOFLAGS;
|
||||
|
||||
/* Visual keying. */
|
||||
if (is_keying_flag(scene, KEYING_FLAG_VISUALKEY)) {
|
||||
flag |= INSERTKEY_MATRIX;
|
||||
}
|
||||
|
||||
/* Cycle-aware keyframe insertion - preserve cycle period and flow. */
|
||||
if (is_keying_flag(scene, KEYING_FLAG_CYCLEAWARE)) {
|
||||
flag |= INSERTKEY_CYCLE_AWARE;
|
||||
}
|
||||
|
||||
if (is_keying_flag(scene, MANUALKEY_FLAG_INSERTNEEDED)) {
|
||||
flag |= INSERTKEY_NEEDED;
|
||||
}
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
/* ******************************************* */
|
||||
/* Animation Data Validation */
|
||||
|
||||
@@ -389,7 +364,7 @@ static int insert_key(bContext *C, wmOperator *op)
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
const float scene_frame = BKE_scene_frame_get(scene);
|
||||
|
||||
const eInsertKeyFlags insert_key_flags = ANIM_get_keyframing_flags(scene);
|
||||
const eInsertKeyFlags insert_key_flags = animrig::get_keyframing_flags(scene);
|
||||
const eBezTriple_KeyframeType key_type = eBezTriple_KeyframeType(
|
||||
scene->toolsettings->keyframe_type);
|
||||
Depsgraph *depsgraph = CTX_data_depsgraph_pointer(C);
|
||||
@@ -976,7 +951,7 @@ static int insert_key_button_exec(bContext *C, wmOperator *op)
|
||||
const bool all = RNA_boolean_get(op->ptr, "all");
|
||||
eInsertKeyFlags flag = INSERTKEY_NOFLAGS;
|
||||
|
||||
flag = ANIM_get_keyframing_flags(scene);
|
||||
flag = get_keyframing_flags(scene);
|
||||
|
||||
if (!(but = UI_context_active_but_prop_get(C, &ptr, &prop, &index))) {
|
||||
/* pass event on if no active button found */
|
||||
|
||||
@@ -101,7 +101,7 @@ static int add_default_keyingset_exec(bContext *C, wmOperator * /*op*/)
|
||||
*/
|
||||
const eKS_Settings flag = KEYINGSET_ABSOLUTE;
|
||||
|
||||
const eInsertKeyFlags keyingflag = ANIM_get_keyframing_flags(scene);
|
||||
const eInsertKeyFlags keyingflag = blender::animrig::get_keyframing_flags(scene);
|
||||
|
||||
/* Call the API func, and set the active keyingset index. */
|
||||
BKE_keyingset_add(&scene->keyingsets, nullptr, nullptr, flag, keyingflag);
|
||||
@@ -285,7 +285,7 @@ static int add_keyingset_button_exec(bContext *C, wmOperator *op)
|
||||
*/
|
||||
const eKS_Settings flag = KEYINGSET_ABSOLUTE;
|
||||
|
||||
const eInsertKeyFlags keyingflag = ANIM_get_keyframing_flags(scene);
|
||||
const eInsertKeyFlags keyingflag = blender::animrig::get_keyframing_flags(scene);
|
||||
|
||||
/* Call the API func, and set the active keyingset index. */
|
||||
keyingset = BKE_keyingset_add(
|
||||
@@ -1136,7 +1136,7 @@ int ANIM_apply_keyingset(bContext *C,
|
||||
}
|
||||
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
const eInsertKeyFlags base_kflags = ANIM_get_keyframing_flags(scene);
|
||||
const eInsertKeyFlags base_kflags = blender::animrig::get_keyframing_flags(scene);
|
||||
eInsertKeyFlags kflag = INSERTKEY_NOFLAGS;
|
||||
if (mode == MODIFYKEY_MODE_INSERT) {
|
||||
/* use context settings as base */
|
||||
|
||||
@@ -39,15 +39,6 @@ struct NlaKeyframingContext;
|
||||
/** \name Key-Framing Management
|
||||
* \{ */
|
||||
|
||||
/**
|
||||
* Get the active settings for key-framing settings from context (specifically the given scene)
|
||||
* \param use_autokey_mode: include settings from key-framing mode in the result
|
||||
* (i.e. replace only).
|
||||
*/
|
||||
eInsertKeyFlags ANIM_get_keyframing_flags(Scene *scene);
|
||||
|
||||
/* -------- */
|
||||
|
||||
/**
|
||||
* \brief Lesser Key-framing API call.
|
||||
*
|
||||
|
||||
@@ -909,7 +909,7 @@ static void insert_action_keys(bAnimContext *ac, short mode)
|
||||
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, eAnimCont_Types(ac->datatype));
|
||||
|
||||
/* Init keyframing flag. */
|
||||
flag = ANIM_get_keyframing_flags(scene);
|
||||
flag = blender::animrig::get_keyframing_flags(scene);
|
||||
|
||||
/* GPLayers specific flags */
|
||||
if (ts->gpencil_flags & GP_TOOL_FLAG_RETAIN_LAST) {
|
||||
|
||||
@@ -145,7 +145,7 @@ static void insert_graph_keys(bAnimContext *ac, eGraphKeys_InsertKey_Types mode)
|
||||
}
|
||||
|
||||
/* Init key-framing flag. */
|
||||
eInsertKeyFlags flag = ANIM_get_keyframing_flags(scene);
|
||||
eInsertKeyFlags flag = blender::animrig::get_keyframing_flags(scene);
|
||||
KeyframeSettings settings = get_keyframe_settings(true);
|
||||
settings.keyframe_type = eBezTriple_KeyframeType(ts->keyframe_type);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user