[Bf-blender-cvs] [c122bcc1821] master: BKE Particle: Simplify recent changes in distribution code

mano-wii noreply at git.blender.org
Wed Jul 3 06:47:42 CEST 2019


Commit: c122bcc18210c4ac117c2c21bb726791591464d7
Author: mano-wii
Date:   Wed Jul 3 00:58:14 2019 -0300
Branches: master
https://developer.blender.org/rBc122bcc18210c4ac117c2c21bb726791591464d7

BKE Particle: Simplify recent changes in distribution code

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

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

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

diff --git a/source/blender/blenkernel/intern/particle_distribute.c b/source/blender/blenkernel/intern/particle_distribute.c
index 96030b7361d..27d85b91ba4 100644
--- a/source/blender/blenkernel/intern/particle_distribute.c
+++ b/source/blender/blenkernel/intern/particle_distribute.c
@@ -233,7 +233,6 @@ static void distribute_grid(Mesh *mesh, ParticleSystem *psys)
           /* lets intersect the faces */
           for (i = 0; i < totface; i++, mface++) {
             ParticleData *pa1 = NULL, *pa2 = NULL;
-            bool isect1 = false, isect2 = false;
 
             copy_v3_v3(v1, mvert[mface->v1].co);
             copy_v3_v3(v2, mvert[mface->v2].co);
@@ -243,7 +242,6 @@ static void distribute_grid(Mesh *mesh, ParticleSystem *psys)
                 co1, &isect_precalc, v1, v2, v3, &lambda, NULL);
             if (intersects_tri) {
               pa1 = (pa + (int)(lambda * size[a]) * a0mul);
-              isect1 = true;
             }
 
             if (mface->v4 && (!intersects_tri || from == PART_FROM_VOLUME)) {
@@ -251,28 +249,24 @@ static void distribute_grid(Mesh *mesh, ParticleSystem *psys)
 
               if (isect_ray_tri_watertight_v3(co1, &isect_precalc, v1, v3, v4, &lambda, NULL)) {
                 pa2 = (pa + (int)(lambda * size[a]) * a0mul);
-                isect2 = true;
               }
             }
 
-            if (pa1 == pa2) {
-              isect1 |= isect2;
-            }
-            else if (isect2) {
+            if (pa1) {
               if (from == PART_FROM_FACE) {
-                pa2->flag &= ~PARS_UNEXIST;
+                pa1->flag &= ~PARS_UNEXIST;
               }
               else { /* store number of intersections */
-                pa2->hair_index++;
+                pa1->hair_index++;
               }
             }
 
-            if (isect1) {
+            if (pa2 && pa2 != pa1) {
               if (from == PART_FROM_FACE) {
-                pa1->flag &= ~PARS_UNEXIST;
+                pa2->flag &= ~PARS_UNEXIST;
               }
               else { /* store number of intersections */
-                pa1->hair_index++;
+                pa2->hair_index++;
               }
             }
           }



More information about the Bf-blender-cvs mailing list