[Bf-extensions-cvs] [5e69d4b] master: Update for changes to ray_cast/closest_point_on_mesh

Campbell Barton noreply at git.blender.org
Wed Dec 2 12:01:41 CET 2015


Commit: 5e69d4b4e7580ccc26f38062455bca28ec52530c
Author: Campbell Barton
Date:   Wed Dec 2 21:53:26 2015 +1100
Branches: master
https://developer.blender.org/rBA5e69d4b4e7580ccc26f38062455bca28ec52530c

Update for changes to ray_cast/closest_point_on_mesh

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

M	object_grease_scatter.py

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

diff --git a/object_grease_scatter.py b/object_grease_scatter.py
index 1535698..105b40e 100644
--- a/object_grease_scatter.py
+++ b/object_grease_scatter.py
@@ -91,8 +91,8 @@ def _main(self,
     DEBUG = False
 
     def fix_point(p):
-        hit, no, ind = closest_point_on_mesh(obj_mat_inv * p)
-        if ind != -1:
+        ok, hit, no, ind = closest_point_on_mesh(obj_mat_inv * p)
+        if ok:
             if DEBUG:
                 return [p, no, None]
             else:
@@ -151,13 +151,12 @@ def _main(self,
                 m_alt_2 = Matrix.Rotation(radians(-22.5), 3, n)
                 for _m in mats:
                     for m in (_m, m_alt_1 * _m, m_alt_2 * _m):
-                        hit, nor, ind = ray(pofs, pofs + (m * n_seek))
-                        if ind != -1:
-                            dist = (pofs - hit).length
-                            if dist < best_dist:
-                                best_dist = dist
-                                best_nor = nor
-                                #best_hit = hit
+                        pdir = m * n_seek
+                        ok, hit, nor, ind = ray(pofs, pdir, best_dist)
+                        if ok:
+                            best_dist = (pofs - hit).length
+                            best_nor = nor
+                            # best_hit = hit
 
                 if best_nor:
                     pt[1].length = best_dist
@@ -211,9 +210,9 @@ def _main(self,
                         ntmp.y += uniform(-l, l) * RAND_LOC
                         ntmp.z += uniform(-l, l) * RAND_LOC
 
-                        hit, hit_no, ind = ray(vantage, vantage + ntmp)
+                        ok, hit, hit_no, ind = ray(vantage, ntmp, ntmp.length)
                         # print(hit, hit_no)
-                        if ind != -1:
+                        if ok:
                             if hit_no.angle(Z_UP) < WALL_LIMIT:
                                 hits.append(hit)
                                 nors.append(hit_no)



More information about the Bf-extensions-cvs mailing list