[Bf-extensions-cvs] [9a0fbd0] master: Moved creating of base levels and the point grid in the dart throwing method into the actual generator.

Lukas Tönne noreply at git.blender.org
Mon Dec 15 14:31:35 CET 2014


Commit: 9a0fbd0fdfaf7446288b68f4d414ff8d88c9dce8
Author: Lukas Tönne
Date:   Mon Dec 15 11:26:13 2014 +0100
Branches: master
https://developer.blender.org/rBAC9a0fbd0fdfaf7446288b68f4d414ff8d88c9dce8

Moved creating of base levels and the point grid in the dart throwing
method into the actual generator.

This takes considerable time (to be investigated) and should only happen
when the generator is actually used.

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

M	object_physics_meadow/hierarchical_dart_throw.py

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

diff --git a/object_physics_meadow/hierarchical_dart_throw.py b/object_physics_meadow/hierarchical_dart_throw.py
index a58ece2..9b0868c 100644
--- a/object_physics_meadow/hierarchical_dart_throw.py
+++ b/object_physics_meadow/hierarchical_dart_throw.py
@@ -218,19 +218,19 @@ def hierarchical_dart_throw_gen(radius, max_levels, xmin, xmax, ymin, ymax):
     nj = jmax - jmin
     nk = 1 # for 2D grid
 
-    base_level = GridLevel(0, b0, radius)
-    levels = [base_level] + [GridLevel(i, base_level.size / (2**i), radius) for i in range(1, max_levels)]
-    epsilon = levels[-1].weight * 0.5
-    
-    for j in range(jmin, jmax):
-        for i in range(imin, imax):
-            base_level.activate(i, j, 0)
-    
-    pgrid = PointGrid(radius, b0, gridmin, gridmax)
-    
     def gen(seed, num):
         random.seed(seed)
         
+        base_level = GridLevel(0, b0, radius)
+        levels = [base_level] + [GridLevel(i, base_level.size / (2**i), radius) for i in range(1, max_levels)]
+        epsilon = levels[-1].weight * 0.5
+        
+        for j in range(jmin, jmax):
+            for i in range(imin, imax):
+                base_level.activate(i, j, 0)
+        
+        pgrid = PointGrid(radius, b0, gridmin, gridmax)
+        
         for i in range(num):
             if not any(level.cells for level in levels):
                 break



More information about the Bf-extensions-cvs mailing list