Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/transform/transform_snap_object.c
| Show First 20 Lines • Show All 2,366 Lines • ▼ Show 20 Lines | bool ED_transform_snap_object_project_view3d_ex( | ||||
| const ARegion *ar = sctx->v3d_data.ar; | const ARegion *ar = sctx->v3d_data.ar; | ||||
| const RegionView3D *rv3d = ar->regiondata; | const RegionView3D *rv3d = ar->regiondata; | ||||
| ED_view3d_win_to_origin(ar, mval, ray_origin); | ED_view3d_win_to_origin(ar, mval, ray_origin); | ||||
| ED_view3d_win_to_vector(ar, mval, ray_normal); | ED_view3d_win_to_vector(ar, mval, ray_normal); | ||||
| ED_view3d_clip_range_get( | ED_view3d_clip_range_get( | ||||
| sctx->eval_ctx.depsgraph, | |||||
| sctx->v3d_data.v3d, sctx->v3d_data.ar->regiondata, | sctx->v3d_data.v3d, sctx->v3d_data.ar->regiondata, | ||||
| &depth_range[0], &depth_range[1], false); | &depth_range[0], &depth_range[1], false); | ||||
| madd_v3_v3v3fl(ray_start, ray_origin, ray_normal, depth_range[0]); | madd_v3_v3v3fl(ray_start, ray_origin, ray_normal, depth_range[0]); | ||||
| madd_v3_v3v3fl(ray_end, ray_origin, ray_normal, depth_range[1]); | madd_v3_v3v3fl(ray_end, ray_origin, ray_normal, depth_range[1]); | ||||
| if (!ED_view3d_clip_segment(rv3d, ray_start, ray_end)) { | if (!ED_view3d_clip_segment(rv3d, ray_start, ray_end)) { | ||||
| return false; | return false; | ||||
| ▲ Show 20 Lines • Show All 50 Lines • ▼ Show 20 Lines | bool ED_transform_snap_object_project_all_view3d_ex( | ||||
| const struct SnapObjectParams *params, | const struct SnapObjectParams *params, | ||||
| const float mval[2], | const float mval[2], | ||||
| float ray_depth, bool sort, | float ray_depth, bool sort, | ||||
| ListBase *r_hit_list) | ListBase *r_hit_list) | ||||
| { | { | ||||
| float ray_start[3], ray_normal[3]; | float ray_start[3], ray_normal[3]; | ||||
| if (!ED_view3d_win_to_ray_ex( | if (!ED_view3d_win_to_ray_ex( | ||||
| sctx->eval_ctx.depsgraph, | |||||
| sctx->v3d_data.ar, sctx->v3d_data.v3d, | sctx->v3d_data.ar, sctx->v3d_data.v3d, | ||||
| mval, NULL, ray_normal, ray_start, true)) | mval, NULL, ray_normal, ray_start, true)) | ||||
| { | { | ||||
| return false; | return false; | ||||
| } | } | ||||
| return ED_transform_snap_object_project_ray_all( | return ED_transform_snap_object_project_ray_all( | ||||
| sctx, | sctx, | ||||
| params, | params, | ||||
| ray_start, ray_normal, ray_depth, sort, | ray_start, ray_normal, ray_depth, sort, | ||||
| r_hit_list); | r_hit_list); | ||||
| } | } | ||||
| /** \} */ | /** \} */ | ||||