From aea125fe9d2db2eaff640e0fc42724f00413a49c Mon Sep 17 00:00:00 2001 From: mano-wii Date: Mon, 3 Feb 2020 08:16:10 -0300 Subject: [PATCH] Cleanup: Rearrange ED_armature.h --- .../editors/armature/armature_naming.c | 1 + source/blender/editors/include/ED_armature.h | 213 +++++++++--------- 2 files changed, 102 insertions(+), 112 deletions(-) diff --git a/source/blender/editors/armature/armature_naming.c b/source/blender/editors/armature/armature_naming.c index 9a1582679a4..4162e92cfea 100644 --- a/source/blender/editors/armature/armature_naming.c +++ b/source/blender/editors/armature/armature_naming.c @@ -79,6 +79,7 @@ static bool editbone_unique_check(void *arg, const char *name) return dupli && dupli != data->bone; } +/* If bone is already in list, pass it as param to ignore it. */ void ED_armature_ebone_unique_name(ListBase *edbo, char *name, EditBone *bone) { struct { diff --git a/source/blender/editors/include/ED_armature.h b/source/blender/editors/include/ED_armature.h index 7ac42967dda..40f5cade0d5 100644 --- a/source/blender/editors/include/ED_armature.h +++ b/source/blender/editors/include/ED_armature.h @@ -140,112 +140,26 @@ typedef struct EditBone { (CHECK_TYPE_INLINE(ebone, EditBone *), \ (((ebone)->flag & BONE_SELECTED) && !((ebone)->flag & BONE_EDITMODE_LOCKED))) -/* used in armature_select_hierarchy_exec() */ +/* used in armature_select.c and pose_select.c */ #define BONE_SELECT_PARENT 0 #define BONE_SELECT_CHILD 1 -/* armature_ops.c */ -void ED_operatortypes_armature(void); -void ED_operatormacros_armature(void); -void ED_keymap_armature(struct wmKeyConfig *keyconf); - -/* editarmature.c */ -void ED_armature_from_edit(struct Main *bmain, struct bArmature *arm); -void ED_armature_to_edit(struct bArmature *arm); -void ED_armature_edit_free(struct bArmature *arm); - -bool ED_armature_edit_deselect_all(struct Object *obedit); -bool ED_armature_edit_deselect_all_visible(struct Object *obedit); - -bool ED_armature_edit_deselect_all_multi_ex(struct Base **bases, uint bases_len); -bool ED_armature_edit_deselect_all_visible_multi_ex(struct Base **bases, uint bases_len); -bool ED_armature_edit_deselect_all_visible_multi(struct bContext *C); - -bool ED_armature_pose_select_pick_with_buffer(struct ViewLayer *view_layer, - struct View3D *v3d, - struct Base *base, - const unsigned int *buffer, - short hits, - bool extend, - bool deselect, - bool toggle, - bool do_nearest); - -void ED_armature_pose_select_in_wpaint_mode(struct ViewLayer *view_layer, - struct Base *base_select); - -bool ED_armature_edit_select_pick( - struct bContext *C, const int mval[2], bool extend, bool deselect, bool toggle); - -bool ED_armature_edit_select_op_from_tagged(struct bArmature *arm, const int sel_op); - -int join_armature_exec(struct bContext *C, struct wmOperator *op); -float ED_armature_ebone_roll_to_vector(const EditBone *bone, - const float new_up_axis[3], - const bool axis_only); -EditBone *ED_armature_ebone_find_name(const struct ListBase *edbo, const char *name); -EditBone *ED_armature_ebone_get_mirrored(const struct ListBase *edbo, EditBone *ebo); -void ED_armature_edit_sync_selection(struct ListBase *edbo); -void ED_armature_edit_validate_active(struct bArmature *arm); - -void ED_armature_edit_refresh_layer_used(struct bArmature *arm); - -struct Base *ED_armature_base_and_ebone_from_select_buffer(struct Base **bases, - uint bases_len, - int hit, - struct EditBone **r_ebone); -struct Object *ED_armature_object_and_ebone_from_select_buffer(struct Object **objects, - uint objects_len, - int hit, - struct EditBone **r_ebone); - -struct Base *ED_armature_base_and_bone_from_select_buffer(struct Base **bases, - uint bases_len, - int hit, - struct Bone **r_bone); - +/* armature_add.c */ +EditBone *ED_armature_ebone_add(struct bArmature *arm, const char *name); EditBone *ED_armature_ebone_add_primitive(struct Object *obedit_arm, float length, bool view_aligned); -EditBone *ED_armature_ebone_add(struct bArmature *arm, const char *name); -void ED_armature_ebone_remove_ex(struct bArmature *arm, EditBone *exBone, bool clear_connected); -void ED_armature_ebone_remove(struct bArmature *arm, EditBone *exBone); - -bool ED_armature_ebone_is_child_recursive(EditBone *ebone_parent, EditBone *ebone_child); -EditBone *ED_armature_ebone_find_shared_parent(EditBone *ebone_child[], - const unsigned int ebone_child_tot); - -void ED_armature_ebone_to_mat3(EditBone *ebone, float mat[3][3]); -void ED_armature_ebone_to_mat4(EditBone *ebone, float mat[4][4]); - -void ED_armature_ebone_from_mat3(EditBone *ebone, float mat[3][3]); -void ED_armature_ebone_from_mat4(EditBone *ebone, float mat[4][4]); - -void ED_armature_ebone_transform_mirror_update(struct bArmature *arm, - EditBone *ebo, - bool check_select); -void ED_armature_edit_transform_mirror_update(struct Object *obedit); +/* armature_edit.c */ +float ED_armature_ebone_roll_to_vector(const EditBone *bone, + const float new_up_axis[3], + const bool axis_only); void ED_armature_origin_set( struct Main *bmain, struct Object *ob, const float cursor[3], int centermode, int around); - void ED_armature_edit_transform(struct bArmature *arm, const float mat[4][4], const bool do_props); - void ED_armature_transform(struct bArmature *arm, const float mat[4][4], const bool do_props); -#define ARM_GROUPS_NAME 1 -#define ARM_GROUPS_ENVELOPE 2 -#define ARM_GROUPS_AUTO 3 - -void ED_object_vgroup_calc_from_armature(struct ReportList *reports, - struct Depsgraph *depsgraph, - struct Scene *scene, - struct Object *ob, - struct Object *par, - const int mode, - const bool mirror); - -/* if bone is already in list, pass it as param to ignore it */ +/* armature_naming.c */ void ED_armature_ebone_unique_name(struct ListBase *ebones, char *name, EditBone *bone); void ED_armature_bone_rename(struct Main *bmain, struct bArmature *arm, @@ -256,6 +170,77 @@ void ED_armature_bones_flip_names(struct Main *bmain, struct ListBase *bones_names, const bool do_strip_numbers); +/* armature_ops.c */ +void ED_operatortypes_armature(void); +void ED_operatormacros_armature(void); +void ED_keymap_armature(struct wmKeyConfig *keyconf); + +/* armature_relations.c */ +int join_armature_exec(struct bContext *C, struct wmOperator *op); + +/* armature_select.c */ +struct Base *ED_armature_base_and_ebone_from_select_buffer(struct Base **bases, + uint bases_len, + int hit, + struct EditBone **r_ebone); +struct Object *ED_armature_object_and_ebone_from_select_buffer(struct Object **objects, + uint objects_len, + int hit, + struct EditBone **r_ebone); +struct Base *ED_armature_base_and_bone_from_select_buffer(struct Base **bases, + uint bases_len, + int hit, + struct Bone **r_bone); +bool ED_armature_edit_deselect_all(struct Object *obedit); +bool ED_armature_edit_deselect_all_visible(struct Object *obedit); +bool ED_armature_edit_deselect_all_multi_ex(struct Base **bases, uint bases_len); +bool ED_armature_edit_deselect_all_visible_multi_ex(struct Base **bases, uint bases_len); +bool ED_armature_edit_deselect_all_visible_multi(struct bContext *C); +bool ED_armature_edit_select_pick( + struct bContext *C, const int mval[2], bool extend, bool deselect, bool toggle); +bool ED_armature_edit_select_op_from_tagged(struct bArmature *arm, const int sel_op); + +/* armature_skinning.c */ +#define ARM_GROUPS_NAME 1 +#define ARM_GROUPS_ENVELOPE 2 +#define ARM_GROUPS_AUTO 3 +void ED_object_vgroup_calc_from_armature(struct ReportList *reports, + struct Depsgraph *depsgraph, + struct Scene *scene, + struct Object *ob, + struct Object *par, + const int mode, + const bool mirror); + +/* editarmature_undo.c */ +void ED_armature_undosys_type(struct UndoType *ut); + +/* armature_utils.c */ +void ED_armature_edit_sync_selection(struct ListBase *edbo); +void ED_armature_edit_validate_active(struct bArmature *arm); +void ED_armature_edit_refresh_layer_used(struct bArmature *arm); +void ED_armature_ebone_remove_ex(struct bArmature *arm, EditBone *exBone, bool clear_connected); +void ED_armature_ebone_remove(struct bArmature *arm, EditBone *exBone); +bool ED_armature_ebone_is_child_recursive(EditBone *ebone_parent, EditBone *ebone_child); +EditBone *ED_armature_ebone_find_shared_parent(EditBone *ebone_child[], + const unsigned int ebone_child_tot); +void ED_armature_ebone_to_mat3(EditBone *ebone, float mat[3][3]); +void ED_armature_ebone_to_mat4(EditBone *ebone, float mat[4][4]); +void ED_armature_ebone_from_mat3(EditBone *ebone, float mat[3][3]); +void ED_armature_ebone_from_mat4(EditBone *ebone, float mat[4][4]); +EditBone *ED_armature_ebone_find_name(const struct ListBase *edbo, const char *name); +EditBone *ED_armature_ebone_get_mirrored(const struct ListBase *edbo, EditBone *ebo); +void ED_armature_ebone_transform_mirror_update(struct bArmature *arm, + EditBone *ebo, + bool check_select); +void ED_armature_edit_transform_mirror_update(struct Object *obedit); +void ED_armature_from_edit(struct Main *bmain, struct bArmature *arm); +void ED_armature_to_edit(struct bArmature *arm); +void ED_armature_edit_free(struct bArmature *arm); +void ED_armature_ebone_listbase_temp_clear(struct ListBase *lb); +void ED_armature_ebone_listbase_free(struct ListBase *lb); +void ED_armature_ebone_listbase_copy(struct ListBase *lb_dst, struct ListBase *lb_src); + /* low level selection functions which handle */ int ED_armature_ebone_selectflag_get(const EditBone *ebone); void ED_armature_ebone_selectflag_set(EditBone *ebone, int flag); @@ -263,27 +248,12 @@ void ED_armature_ebone_select_set(EditBone *ebone, bool select); void ED_armature_ebone_selectflag_enable(EditBone *ebone, int flag); void ED_armature_ebone_selectflag_disable(EditBone *ebone, int flag); -/* editarmature_undo.c */ -void ED_armature_undosys_type(struct UndoType *ut); - -/* armature_utils.c */ -void ED_armature_ebone_listbase_temp_clear(struct ListBase *lb); -void ED_armature_ebone_listbase_free(struct ListBase *lb); -void ED_armature_ebone_listbase_copy(struct ListBase *lb_dst, struct ListBase *lb_src); - -/* poseobject.c */ +/* pose_edit.c */ +struct Object *ED_pose_object_from_context(struct bContext *C); bool ED_object_posemode_exit_ex(struct Main *bmain, struct Object *ob); bool ED_object_posemode_exit(struct bContext *C, struct Object *ob); bool ED_object_posemode_enter_ex(struct Main *bmain, struct Object *ob); bool ED_object_posemode_enter(struct bContext *C, struct Object *ob); -bool ED_pose_deselect_all_multi_ex(struct Base **bases, - uint bases_len, - int select_mode, - const bool ignore_visibility); -bool ED_pose_deselect_all_multi(struct bContext *C, int select_mode, const bool ignore_visibility); -bool ED_pose_deselect_all(struct Object *ob, int select_mode, const bool ignore_visibility); -void ED_pose_bone_select_tag_update(struct Object *ob); -void ED_pose_bone_select(struct Object *ob, struct bPoseChannel *pchan, bool select); /* Corresponds to eAnimvizCalcRange. */ typedef enum ePosePathCalcRange { @@ -296,7 +266,26 @@ void ED_pose_recalculate_paths(struct bContext *C, struct Object *ob, ePosePathCalcRange range); -struct Object *ED_pose_object_from_context(struct bContext *C); +/* pose_select.c */ +bool ED_armature_pose_select_pick_with_buffer(struct ViewLayer *view_layer, + struct View3D *v3d, + struct Base *base, + const unsigned int *buffer, + short hits, + bool extend, + bool deselect, + bool toggle, + bool do_nearest); +void ED_armature_pose_select_in_wpaint_mode(struct ViewLayer *view_layer, + struct Base *base_select); +bool ED_pose_deselect_all_multi_ex(struct Base **bases, + uint bases_len, + int select_mode, + const bool ignore_visibility); +bool ED_pose_deselect_all_multi(struct bContext *C, int select_mode, const bool ignore_visibility); +bool ED_pose_deselect_all(struct Object *ob, int select_mode, const bool ignore_visibility); +void ED_pose_bone_select_tag_update(struct Object *ob); +void ED_pose_bone_select(struct Object *ob, struct bPoseChannel *pchan, bool select); /* meshlaplacian.c */ void ED_mesh_deform_bind_callback(struct MeshDeformModifierData *mmd,