Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_view3d/view3d_navigate.c
| Show First 20 Lines • Show All 165 Lines • ▼ Show 20 Lines | bool view3d_orbit_calc_center(bContext *C, float r_dyn_ofs[3]) | ||||
| Scene *scene = CTX_data_scene(C); | Scene *scene = CTX_data_scene(C); | ||||
| Scene *scene_eval = DEG_get_evaluated_scene(depsgraph); | Scene *scene_eval = DEG_get_evaluated_scene(depsgraph); | ||||
| ViewLayer *view_layer_eval = DEG_get_evaluated_view_layer(depsgraph); | ViewLayer *view_layer_eval = DEG_get_evaluated_view_layer(depsgraph); | ||||
| View3D *v3d = CTX_wm_view3d(C); | View3D *v3d = CTX_wm_view3d(C); | ||||
| BKE_view_layer_synced_ensure(scene_eval, view_layer_eval); | BKE_view_layer_synced_ensure(scene_eval, view_layer_eval); | ||||
| Object *ob_act_eval = BKE_view_layer_active_object_get(view_layer_eval); | Object *ob_act_eval = BKE_view_layer_active_object_get(view_layer_eval); | ||||
| Object *ob_act = DEG_get_original_object(ob_act_eval); | Object *ob_act = DEG_get_original_object(ob_act_eval); | ||||
| if (ob_act && (ob_act->mode & OB_MODE_ALL_PAINT) && | if (ob_act && ((ob_act->mode & (OB_MODE_ALL_PAINT | OB_MODE_SCULPT_CURVES)) != 0) && | ||||
| /* with weight-paint + pose-mode, fall through to using calculateTransformCenter */ | /* with weight-paint + pose-mode, fall through to using calculateTransformCenter */ | ||||
| ((ob_act->mode & OB_MODE_WEIGHT_PAINT) && BKE_object_pose_armature_get(ob_act)) == 0) { | ((ob_act->mode & OB_MODE_WEIGHT_PAINT) && BKE_object_pose_armature_get(ob_act)) == 0) { | ||||
| BKE_paint_stroke_get_average(scene, ob_act_eval, lastofs); | BKE_paint_stroke_get_average(scene, ob_act_eval, lastofs); | ||||
| is_set = true; | is_set = true; | ||||
| } | } | ||||
| else if (ob_act && (ob_act->mode & OB_MODE_EDIT) && (ob_act->type == OB_FONT)) { | else if (ob_act && (ob_act->mode & OB_MODE_EDIT) && (ob_act->type == OB_FONT)) { | ||||
| Curve *cu = ob_act_eval->data; | Curve *cu = ob_act_eval->data; | ||||
| EditFont *ef = cu->editfont; | EditFont *ef = cu->editfont; | ||||
| ▲ Show 20 Lines • Show All 786 Lines • ▼ Show 20 Lines | else if (ob_eval && (ob_eval->mode & OB_MODE_POSE)) { | ||||
| FOREACH_OBJECT_IN_MODE_END; | FOREACH_OBJECT_IN_MODE_END; | ||||
| } | } | ||||
| else if (BKE_paint_select_face_test(ob_eval)) { | else if (BKE_paint_select_face_test(ob_eval)) { | ||||
| ok = paintface_minmax(ob_eval, min, max); | ok = paintface_minmax(ob_eval, min, max); | ||||
| } | } | ||||
| else if (ob_eval && (ob_eval->mode & OB_MODE_PARTICLE_EDIT)) { | else if (ob_eval && (ob_eval->mode & OB_MODE_PARTICLE_EDIT)) { | ||||
| ok = PE_minmax(depsgraph, scene, CTX_data_view_layer(C), min, max); | ok = PE_minmax(depsgraph, scene, CTX_data_view_layer(C), min, max); | ||||
| } | } | ||||
| else if (ob_eval && (ob_eval->mode & (OB_MODE_SCULPT | OB_MODE_VERTEX_PAINT | | else if (ob_eval && (ob_eval->mode & (OB_MODE_ALL_PAINT | OB_MODE_SCULPT_CURVES))) { | ||||
| OB_MODE_WEIGHT_PAINT | OB_MODE_TEXTURE_PAINT))) { | |||||
| BKE_paint_stroke_get_average(scene, ob_eval, min); | BKE_paint_stroke_get_average(scene, ob_eval, min); | ||||
| copy_v3_v3(max, min); | copy_v3_v3(max, min); | ||||
| ok = true; | ok = true; | ||||
| ok_dist = 0; /* don't zoom */ | ok_dist = 0; /* don't zoom */ | ||||
| } | } | ||||
| else { | else { | ||||
| LISTBASE_FOREACH (Base *, base_eval, BKE_view_layer_object_bases_get(view_layer_eval)) { | LISTBASE_FOREACH (Base *, base_eval, BKE_view_layer_object_bases_get(view_layer_eval)) { | ||||
| if (BASE_SELECTED(v3d, base_eval)) { | if (BASE_SELECTED(v3d, base_eval)) { | ||||
| ▲ Show 20 Lines • Show All 659 Lines • Show Last 20 Lines | |||||