Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_view3d/view3d_fly.c
| Show First 20 Lines • Show All 264 Lines • ▼ Show 20 Lines | static bool initFlyInfo(bContext *C, FlyInfo *fly, wmOperator *op, const wmEvent *event) | ||||
| rctf viewborder; | rctf viewborder; | ||||
| float upvec[3]; /* tmp */ | float upvec[3]; /* tmp */ | ||||
| float mat[3][3]; | float mat[3][3]; | ||||
| fly->rv3d = CTX_wm_region_view3d(C); | fly->rv3d = CTX_wm_region_view3d(C); | ||||
| fly->v3d = CTX_wm_view3d(C); | fly->v3d = CTX_wm_view3d(C); | ||||
| fly->ar = CTX_wm_region(C); | fly->ar = CTX_wm_region(C); | ||||
| fly->depsgraph = CTX_data_depsgraph(C); | fly->depsgraph = CTX_data_expect_evaluated_depsgraph(C); | ||||
| fly->scene = CTX_data_scene(C); | fly->scene = CTX_data_scene(C); | ||||
| #ifdef NDOF_FLY_DEBUG | #ifdef NDOF_FLY_DEBUG | ||||
| puts("\n-- fly begin --"); | puts("\n-- fly begin --"); | ||||
| #endif | #endif | ||||
| /* sanity check: for rare but possible case (if lib-linking the camera fails) */ | /* sanity check: for rare but possible case (if lib-linking the camera fails) */ | ||||
| if ((fly->rv3d->persp == RV3D_CAMOB) && (fly->v3d->camera == NULL)) { | if ((fly->rv3d->persp == RV3D_CAMOB) && (fly->v3d->camera == NULL)) { | ||||
| ▲ Show 20 Lines • Show All 50 Lines • ▼ Show 20 Lines | #endif | ||||
| /* detect whether to start with Z locking */ | /* detect whether to start with Z locking */ | ||||
| copy_v3_fl3(upvec, 1.0f, 0.0f, 0.0f); | copy_v3_fl3(upvec, 1.0f, 0.0f, 0.0f); | ||||
| copy_m3_m4(mat, fly->rv3d->viewinv); | copy_m3_m4(mat, fly->rv3d->viewinv); | ||||
| mul_m3_v3(mat, upvec); | mul_m3_v3(mat, upvec); | ||||
| if (fabsf(upvec[2]) < 0.1f) { | if (fabsf(upvec[2]) < 0.1f) { | ||||
| fly->zlock = FLY_AXISLOCK_STATE_IDLE; | fly->zlock = FLY_AXISLOCK_STATE_IDLE; | ||||
| } | } | ||||
| fly->v3d_camera_control = ED_view3d_cameracontrol_acquire(CTX_data_depsgraph(C), | fly->v3d_camera_control = ED_view3d_cameracontrol_acquire( | ||||
| fly->scene, | fly->depsgraph, fly->scene, fly->v3d, fly->rv3d, (U.uiflag & USER_CAM_LOCK_NO_PARENT) == 0); | ||||
| fly->v3d, | |||||
| fly->rv3d, | |||||
| (U.uiflag & USER_CAM_LOCK_NO_PARENT) == | |||||
| 0); | |||||
| /* calculate center */ | /* calculate center */ | ||||
| if (ED_view3d_cameracontrol_object_get(fly->v3d_camera_control)) { | if (ED_view3d_cameracontrol_object_get(fly->v3d_camera_control)) { | ||||
| ED_view3d_calc_camera_border( | ED_view3d_calc_camera_border( | ||||
| fly->scene, fly->depsgraph, fly->ar, fly->v3d, fly->rv3d, &viewborder, false); | fly->scene, fly->depsgraph, fly->ar, fly->v3d, fly->rv3d, &viewborder, false); | ||||
| fly->width = BLI_rctf_size_x(&viewborder); | fly->width = BLI_rctf_size_x(&viewborder); | ||||
| fly->height = BLI_rctf_size_y(&viewborder); | fly->height = BLI_rctf_size_y(&viewborder); | ||||
| ▲ Show 20 Lines • Show All 733 Lines • Show Last 20 Lines | |||||