diff options
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_mesh.h | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/mesh_evaluate.c | 12 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/object_dupli.c | 2 |
3 files changed, 5 insertions, 11 deletions
diff --git a/source/blender/blenkernel/BKE_mesh.h b/source/blender/blenkernel/BKE_mesh.h index d6c3734fa2d..4b346b201ba 100644 --- a/source/blender/blenkernel/BKE_mesh.h +++ b/source/blender/blenkernel/BKE_mesh.h @@ -192,7 +192,7 @@ void BKE_mesh_calc_poly_center( struct MVert *mvarray, float cent[3]); float BKE_mesh_calc_poly_area( struct MPoly *mpoly, struct MLoop *loopstart, - struct MVert *mvarray, const float polynormal[3]); + struct MVert *mvarray); void BKE_mesh_calc_poly_angles( struct MPoly *mpoly, struct MLoop *loopstart, struct MVert *mvarray, float angles[]); diff --git a/source/blender/blenkernel/intern/mesh_evaluate.c b/source/blender/blenkernel/intern/mesh_evaluate.c index edd0a8540e3..fe37b9222b6 100644 --- a/source/blender/blenkernel/intern/mesh_evaluate.c +++ b/source/blender/blenkernel/intern/mesh_evaluate.c @@ -872,7 +872,7 @@ void BKE_mesh_calc_poly_center(MPoly *mpoly, MLoop *loopstart, /* note, passing polynormal is only a speedup so we can skip calculating it */ float BKE_mesh_calc_poly_area(MPoly *mpoly, MLoop *loopstart, - MVert *mvarray, const float polynormal[3]) + MVert *mvarray) { if (mpoly->totloop == 3) { return area_tri_v3(mvarray[loopstart[0].v].co, @@ -890,22 +890,16 @@ float BKE_mesh_calc_poly_area(MPoly *mpoly, MLoop *loopstart, else { int i; MLoop *l_iter = loopstart; - float area, polynorm_local[3]; + float area; float (*vertexcos)[3] = BLI_array_alloca(vertexcos, (size_t)mpoly->totloop); - const float *no = polynormal ? polynormal : polynorm_local; /* pack vertex cos into an array for area_poly_v3 */ for (i = 0; i < mpoly->totloop; i++, l_iter++) { copy_v3_v3(vertexcos[i], mvarray[l_iter->v].co); } - /* need normal for area_poly_v3 as well */ - if (polynormal == NULL) { - BKE_mesh_calc_poly_normal(mpoly, loopstart, mvarray, polynorm_local); - } - /* finally calculate the area */ - area = area_poly_v3((const float (*)[3])vertexcos, (unsigned int)mpoly->totloop, no); + area = area_poly_v3((const float (*)[3])vertexcos, (unsigned int)mpoly->totloop); return area; } diff --git a/source/blender/blenkernel/intern/object_dupli.c b/source/blender/blenkernel/intern/object_dupli.c index b3726ebc8da..786c283cd09 100644 --- a/source/blender/blenkernel/intern/object_dupli.c +++ b/source/blender/blenkernel/intern/object_dupli.c @@ -693,7 +693,7 @@ static void get_dupliface_transform(MPoly *mpoly, MLoop *mloop, MVert *mvert, } /* scale */ if (use_scale) { - float area = BKE_mesh_calc_poly_area(mpoly, mloop, mvert, f_no); + float area = BKE_mesh_calc_poly_area(mpoly, mloop, mvert); scale = sqrtf(area) * scale_fac; } else |