Fix: 'V3D_SNAPCURSOR_OCCLUSION_ALWAYS_TRUE' flag not working

The name `use_occlusion_test` was misleading and led to errors.

If this variable is false, objects will be considered to always be
occluders.

Not a serious problem, since the flag is not being used.
This commit is contained in:
Germano Cavalcante
2024-02-17 10:17:02 -03:00
parent 286b5a1c34
commit dd1c12e4d0

View File

@@ -1270,9 +1270,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,
@@ -1293,7 +1294,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;
}
}
}
@@ -1312,7 +1313,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;
}
@@ -1351,7 +1352,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) {
@@ -1385,7 +1386,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)
{