Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-12-13 02:37:01 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-12-13 02:41:03 +0300
commit0835c224ba3b245523816700d42d7aad77e8b9fa (patch)
tree5e2dc9ef1dbb50179c438a2edbbafeb32920b4ad /source/blender/editors/space_view3d/view3d_snap.c
parent8a804d5da71bff7b581a8f4e973ddfe0e2db0d7c (diff)
Cleanup: de-duplicate active item center access
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_snap.c')
-rw-r--r--source/blender/editors/space_view3d/view3d_snap.c39
1 files changed, 3 insertions, 36 deletions
diff --git a/source/blender/editors/space_view3d/view3d_snap.c b/source/blender/editors/space_view3d/view3d_snap.c
index 1bff52e7950..0271bedd3d2 100644
--- a/source/blender/editors/space_view3d/view3d_snap.c
+++ b/source/blender/editors/space_view3d/view3d_snap.c
@@ -755,44 +755,11 @@ void VIEW3D_OT_snap_cursor_to_selected(wmOperatorType *ot)
*
* Note: this could be exported to be a generic function.
* see: calculateCenterActive
-**/
+ */
static bool snap_calc_active_center(bContext *C, const bool select_only, float r_center[3])
{
- const Depsgraph *depsgraph = CTX_data_depsgraph(C);
- Object *obedit = CTX_data_edit_object(C);
-
- if (obedit) {
- if (ED_object_editmode_calc_active_center(obedit, select_only, r_center)) {
- mul_m4_v3(obedit->obmat, r_center);
- return true;
- }
- }
- else {
- Object *ob = CTX_data_active_object(C);
- if (ob) {
- Object *ob_eval = DEG_get_evaluated_object(depsgraph, ob);
-
- if (ob->mode & OB_MODE_POSE) {
- bPoseChannel *pchan = BKE_pose_channel_active(ob_eval);
- if (pchan) {
- if (!select_only || (pchan->bone->flag & BONE_SELECTED)) {
- copy_v3_v3(r_center, pchan->pose_head);
- mul_m4_v3(ob_eval->obmat, r_center);
- return true;
- }
- }
- }
- else {
-
- if (!select_only || (ob_eval->flag & SELECT)) {
- copy_v3_v3(r_center, ob_eval->obmat[3]);
- return true;
- }
- }
- }
- }
-
- return false;
+ Object *ob = CTX_data_active_object(C);
+ return ED_object_calc_active_center(ob, select_only, r_center);
}
static int snap_curs_to_active_exec(bContext *C, wmOperator *UNUSED(op))