[Bf-blender-cvs] [d9a4945bb28] strand_editmode: Added a 1-cell margin to the grid dimensions to simplify neighbor lookups.

Lukas Tönne noreply at git.blender.org
Sat Aug 26 13:42:41 CEST 2017


Commit: d9a4945bb28746a9bfb4c6e01e3e0e8aa2dc80a3
Author: Lukas Tönne
Date:   Sat Aug 26 12:41:58 2017 +0100
Branches: strand_editmode
https://developer.blender.org/rBd9a4945bb28746a9bfb4c6e01e3e0e8aa2dc80a3

Added a 1-cell margin to the grid dimensions to simplify neighbor lookups.

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

M	source/blender/blenkernel/intern/mesh_sample.c

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

diff --git a/source/blender/blenkernel/intern/mesh_sample.c b/source/blender/blenkernel/intern/mesh_sample.c
index 911d2496892..b946911abe2 100644
--- a/source/blender/blenkernel/intern/mesh_sample.c
+++ b/source/blender/blenkernel/intern/mesh_sample.c
@@ -867,12 +867,13 @@ static void generator_poissondisk_bind(MSurfaceSampleGenerator_PoissonDisk *gen)
 		dm->getMinMax(dm, min, max);
 		mul_v3_fl(min, gen->grid_scale);
 		mul_v3_fl(max, gen->grid_scale);
-		gen->grid_offset[0] = (int)floorf(min[0]);
-		gen->grid_offset[1] = (int)floorf(min[1]);
-		gen->grid_offset[2] = (int)floorf(min[2]);
-		gen->grid_size[0] = (int)floorf(max[0]) - gen->grid_offset[0];
-		gen->grid_size[1] = (int)floorf(max[1]) - gen->grid_offset[1];
-		gen->grid_size[2] = (int)floorf(max[2]) - gen->grid_offset[2];
+		/* grid size gets an empty 1 cell margin to simplify neighbor lookups */
+		gen->grid_offset[0] = (int)floorf(min[0]) - 1;
+		gen->grid_offset[1] = (int)floorf(min[1]) - 1;
+		gen->grid_offset[2] = (int)floorf(min[2]) - 1;
+		gen->grid_size[0] = (int)floorf(max[0]) - gen->grid_offset[0] + 2;
+		gen->grid_size[1] = (int)floorf(max[1]) - gen->grid_offset[1] + 2;
+		gen->grid_size[2] = (int)floorf(max[2]) - gen->grid_offset[2] + 2;
 	}
 	
 	// Generate initial uniform random point set



More information about the Bf-blender-cvs mailing list