Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/mesh/editmesh_knife.c
| Show First 20 Lines • Show All 1,556 Lines • ▼ Show 20 Lines | static void knife_find_line_hits(KnifeTool_OpData *kcd) | ||||
| } | } | ||||
| else { | else { | ||||
| if (len_squared_v2v2(s1, s2) < KNIFE_FLT_EPS_SQUARED) { | if (len_squared_v2v2(s1, s2) < KNIFE_FLT_EPS_SQUARED) { | ||||
| return; | return; | ||||
| } | } | ||||
| } | } | ||||
| /* unproject screen line */ | /* unproject screen line */ | ||||
| ED_view3d_win_to_segment(kcd->ar, kcd->vc.v3d, s1, v1, v3, true); | ED_view3d_win_to_segment(kcd->eval_ctx.depsgraph, kcd->ar, kcd->vc.v3d, s1, v1, v3, true); | ||||
| ED_view3d_win_to_segment(kcd->ar, kcd->vc.v3d, s2, v2, v4, true); | ED_view3d_win_to_segment(kcd->eval_ctx.depsgraph, kcd->ar, kcd->vc.v3d, s2, v2, v4, true); | ||||
| mul_m4_v3(kcd->ob->imat, v1); | mul_m4_v3(kcd->ob->imat, v1); | ||||
| mul_m4_v3(kcd->ob->imat, v2); | mul_m4_v3(kcd->ob->imat, v2); | ||||
| mul_m4_v3(kcd->ob->imat, v3); | mul_m4_v3(kcd->ob->imat, v3); | ||||
| mul_m4_v3(kcd->ob->imat, v4); | mul_m4_v3(kcd->ob->imat, v4); | ||||
| /* numeric error, 'v1' -> 'v2', 'v2' -> 'v4' can end up being ~2000 units apart in otho mode | /* numeric error, 'v1' -> 'v2', 'v2' -> 'v4' can end up being ~2000 units apart in otho mode | ||||
| * (from ED_view3d_win_to_segment_clip() above) | * (from ED_view3d_win_to_segment_clip() above) | ||||
| ▲ Show 20 Lines • Show All 939 Lines • ▼ Show 20 Lines | |||||
| { | { | ||||
| invert_m4_m4(kcd->ob->imat, kcd->ob->obmat); | invert_m4_m4(kcd->ob->imat, kcd->ob->obmat); | ||||
| ED_view3d_ob_project_mat_get(kcd->ar->regiondata, kcd->ob, kcd->projmat); | ED_view3d_ob_project_mat_get(kcd->ar->regiondata, kcd->ob, kcd->projmat); | ||||
| invert_m4_m4(kcd->projmat_inv, kcd->projmat); | invert_m4_m4(kcd->projmat_inv, kcd->projmat); | ||||
| mul_v3_mat3_m4v3(kcd->proj_zaxis, kcd->ob->imat, kcd->vc.rv3d->viewinv[2]); | mul_v3_mat3_m4v3(kcd->proj_zaxis, kcd->ob->imat, kcd->vc.rv3d->viewinv[2]); | ||||
| normalize_v3(kcd->proj_zaxis); | normalize_v3(kcd->proj_zaxis); | ||||
| kcd->is_ortho = ED_view3d_clip_range_get(kcd->vc.v3d, kcd->vc.rv3d, | kcd->is_ortho = ED_view3d_clip_range_get(kcd->eval_ctx.depsgraph, | ||||
| kcd->vc.v3d, kcd->vc.rv3d, | |||||
| &kcd->clipsta, &kcd->clipend, true); | &kcd->clipsta, &kcd->clipend, true); | ||||
| } | } | ||||
| /* called when modal loop selection is done... */ | /* called when modal loop selection is done... */ | ||||
| static void knifetool_exit_ex(bContext *C, KnifeTool_OpData *kcd) | static void knifetool_exit_ex(bContext *C, KnifeTool_OpData *kcd) | ||||
| { | { | ||||
| if (!kcd) | if (!kcd) | ||||
| return; | return; | ||||
| ▲ Show 20 Lines • Show All 649 Lines • Show Last 20 Lines | |||||