[Bf-extensions-cvs] [742b8663] master: Fix T71104: Addon: snap utilites line. Errors with some cuts

Germano Cavalcante noreply at git.blender.org
Fri Oct 25 21:12:10 CEST 2019


Commit: 742b8663af7ca79808d672310f4d6f2730946230
Author: Germano Cavalcante
Date:   Fri Oct 25 16:12:03 2019 -0300
Branches: master
https://developer.blender.org/rBA742b8663af7ca79808d672310f4d6f2730946230

Fix T71104: Addon: snap utilites line. Errors with some cuts

Normalize normal for more precision in `intersect_line_plane`.

===================================================================

M	mesh_snap_utilities_line/common_utilities.py
M	mesh_snap_utilities_line/snap_context_l/__init__.py

===================================================================

diff --git a/mesh_snap_utilities_line/common_utilities.py b/mesh_snap_utilities_line/common_utilities.py
index 5a11a4c4..9c63c3f2 100644
--- a/mesh_snap_utilities_line/common_utilities.py
+++ b/mesh_snap_utilities_line/common_utilities.py
@@ -143,6 +143,8 @@ def get_snap_bm_geom(sctx, main_snap_obj, mcursor):
                             if l.link_loop_next.vert == tri[i] or l.link_loop_prev.vert == tri[i - 2]:
                                 r_bm_geom = l.face
                                 break
+        if r_loc is None:
+            r_loc = r_elem_co[0]
 
     return r_snp_obj, r_loc, r_elem, r_elem_co, r_view_vector, r_orig, r_bm, r_bm_geom
 
diff --git a/mesh_snap_utilities_line/snap_context_l/__init__.py b/mesh_snap_utilities_line/snap_context_l/__init__.py
index 9d879a82..3c09e537 100644
--- a/mesh_snap_utilities_line/snap_context_l/__init__.py
+++ b/mesh_snap_utilities_line/snap_context_l/__init__.py
@@ -331,8 +331,10 @@ class SnapContext():
             if index < num_tris:
                 tri_verts = gpu_data.get_tri_verts(index)
                 tri_co = [snap_obj.mat @ Vector(v) for v in gpu_data.get_tri_co(index)]
-                nor = (tri_co[1] - tri_co[0]).cross(tri_co[2] - tri_co[0])
-                return _Internal.intersect_line_plane(self.last_ray[1], self.last_ray[1] + self.last_ray[0], tri_co[0], nor), tri_verts, tri_co
+                #loc = _Internal.intersect_ray_tri(*tri_co, self.last_ray[0], self.last_ray[1], False)
+                nor = (tri_co[1] - tri_co[0]).cross(tri_co[2] - tri_co[0]).normalized()
+                loc = _Internal.intersect_line_plane(self.last_ray[1], self.last_ray[1] + self.last_ray[0], tri_co[0], nor)
+                return loc, tri_verts, tri_co
 
             index -= num_tris



More information about the Bf-extensions-cvs mailing list