[Bf-extensions-cvs] [767dc00] master: Fix for ground object scaling: generate samples in world space.
Lukas Tönne
noreply at git.blender.org
Sat Dec 20 13:17:36 CET 2014
Commit: 767dc008d58e866c665afacbf5a9a7788a165d55
Author: Lukas Tönne
Date: Sat Dec 20 13:16:17 2014 +0100
Branches: master
https://developer.blender.org/rBAC767dc008d58e866c665afacbf5a9a7788a165d55
Fix for ground object scaling: generate samples in world space.
Otherwise the distance radius is an object space length which gives
confusing results.
===================================================================
M object_physics_meadow/meadow.py
===================================================================
diff --git a/object_physics_meadow/meadow.py b/object_physics_meadow/meadow.py
index 37703b6..2a4feb8 100644
--- a/object_physics_meadow/meadow.py
+++ b/object_physics_meadow/meadow.py
@@ -36,19 +36,15 @@ use_profiling = False
def make_samples(context, gridob, groundob):
settings = _settings.get(context)
- xmin = min(p[0] for p in groundob.bound_box)
- xmax = max(p[0] for p in groundob.bound_box)
- ymin = min(p[1] for p in groundob.bound_box)
- ymax = max(p[1] for p in groundob.bound_box)
- zmin = min(p[2] for p in groundob.bound_box)
- zmax = max(p[2] for p in groundob.bound_box)
+ mat = groundob.matrix_world
+ gmin = mat * Vector(tuple(min(p[i] for p in groundob.bound_box) for i in range(3)))
+ gmax = mat * Vector(tuple(max(p[i] for p in groundob.bound_box) for i in range(3)))
# get a sample generator implementation
- #gen = best_candidate_gen(groundob.meadow.patch_radius, xmin, xmax, ymin, ymax)
- gen = hierarchical_dart_throw_gen(groundob.meadow.patch_radius, groundob.meadow.sampling_levels, xmin, xmax, ymin, ymax)
+ #gen = best_candidate_gen(groundob.meadow.patch_radius, gmin[0], gmax[0], gmin[1], gmax[1])
+ gen = hierarchical_dart_throw_gen(groundob.meadow.patch_radius, groundob.meadow.sampling_levels, gmin[0], gmax[0], gmin[1], gmax[1])
- mat = groundob.matrix_world
- loc2D = [(mat * Vector(p[0:3] + (1.0,)))[0:2] for p in gen(groundob.meadow.seed, groundob.meadow.max_patches)]
+ loc2D = [p[0:2] for p in gen(groundob.meadow.seed, groundob.meadow.max_patches)]
return loc2D
More information about the Bf-extensions-cvs
mailing list