Merge branch 'blender-v4.1-release'
This commit is contained in:
@@ -815,7 +815,7 @@ static void v3d_cursor_snap_update(V3DSnapCursorState *state,
|
||||
v3d_cursor_snap_calc_incremental(scene, v3d, region, state->prevpoint, co);
|
||||
}
|
||||
}
|
||||
else if (snap_elem == SCE_SNAP_TO_VERTEX) {
|
||||
else if (snap_elem & SCE_SNAP_TO_VERTEX) {
|
||||
snap_elem_index[0] = index;
|
||||
}
|
||||
else if (snap_elem &
|
||||
|
||||
@@ -1245,9 +1245,10 @@ eSnapMode ED_transform_snap_object_project_view3d_ex(SnapObjectContext *sctx,
|
||||
eSnapMode retval = SCE_SNAP_TO_NONE;
|
||||
float ray_depth_max = BVH_RAYCAST_DIST_MAX;
|
||||
|
||||
bool use_occlusion_test = params->use_occlusion_test && !XRAY_ENABLED(v3d);
|
||||
const bool is_allways_occluded = !params->use_occlusion_test;
|
||||
bool use_occlusion_plane = is_allways_occluded || !XRAY_ENABLED(v3d);
|
||||
|
||||
if (use_occlusion_test || (snap_to_flag & SCE_SNAP_TO_FACE)) {
|
||||
if (use_occlusion_plane || (snap_to_flag & SCE_SNAP_TO_FACE)) {
|
||||
const RegionView3D *rv3d = static_cast<const RegionView3D *>(region->regiondata);
|
||||
float3 ray_end;
|
||||
ED_view3d_win_to_ray_clipped_ex(depsgraph,
|
||||
@@ -1268,7 +1269,7 @@ eSnapMode ED_transform_snap_object_project_view3d_ex(SnapObjectContext *sctx,
|
||||
}
|
||||
else {
|
||||
snap_to_flag &= ~SCE_SNAP_TO_FACE;
|
||||
use_occlusion_test = false;
|
||||
use_occlusion_plane = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1287,7 +1288,7 @@ eSnapMode ED_transform_snap_object_project_view3d_ex(SnapObjectContext *sctx,
|
||||
prev_co,
|
||||
dist_px ? square_f(*dist_px) : FLT_MAX,
|
||||
nullptr,
|
||||
use_occlusion_test))
|
||||
use_occlusion_plane))
|
||||
{
|
||||
return retval;
|
||||
}
|
||||
@@ -1326,7 +1327,7 @@ eSnapMode ED_transform_snap_object_project_view3d_ex(SnapObjectContext *sctx,
|
||||
}
|
||||
}
|
||||
|
||||
if (use_occlusion_test || (snap_to_flag & SCE_SNAP_TO_FACE)) {
|
||||
if (use_occlusion_plane || (snap_to_flag & SCE_SNAP_TO_FACE)) {
|
||||
has_hit = raycastObjects(sctx);
|
||||
|
||||
if (has_hit) {
|
||||
@@ -1360,7 +1361,7 @@ eSnapMode ED_transform_snap_object_project_view3d_ex(SnapObjectContext *sctx,
|
||||
/* Remove what has already been computed. */
|
||||
sctx->runtime.snap_to_flag &= ~(SCE_SNAP_TO_FACE | SCE_SNAP_INDIVIDUAL_NEAREST);
|
||||
|
||||
if (use_occlusion_test && has_hit &&
|
||||
if (use_occlusion_plane && has_hit &&
|
||||
/* By convention we only snap to the original elements of a curve. */
|
||||
sctx->ret.ob->type != OB_CURVES_LEGACY)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user