[Bf-blender-cvs] [5e8e3c00f2a] master: Fix T62112: wrong curve face count

Jacques Lucke noreply at git.blender.org
Tue Mar 5 19:07:19 CET 2019


Commit: 5e8e3c00f2aa8331148c59db40a9ee43ee55438e
Author: Jacques Lucke
Date:   Tue Mar 5 19:06:59 2019 +0100
Branches: master
https://developer.blender.org/rB5e8e3c00f2aa8331148c59db40a9ee43ee55438e

Fix T62112: wrong curve face count

Reviewers: brecht

Differential Revision: https://developer.blender.org/D4452

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

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

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

diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c
index a5e455dd650..f0b7431d989 100644
--- a/source/blender/blenkernel/intern/displist.c
+++ b/source/blender/blenkernel/intern/displist.c
@@ -227,12 +227,16 @@ void BKE_displist_count(ListBase *lb, int *totvert, int *totface, int *tottri)
 		int vert_tot = 0;
 		int face_tot = 0;
 		int tri_tot = 0;
+		bool cyclic_u = dl->flag & DL_CYCL_U;
+		bool cyclic_v = dl->flag & DL_CYCL_V;
 
 		switch (dl->type) {
 			case DL_SURF:
 			{
+				int segments_u = dl->nr - (cyclic_u == false);
+				int segments_v = dl->parts - (cyclic_v == false);
 				vert_tot = dl->nr * dl->parts;
-				face_tot = (dl->nr - 1) * (dl->parts - 1);
+				face_tot = segments_u * segments_v;
 				tri_tot  = face_tot * 2;
 				break;
 			}



More information about the Bf-blender-cvs mailing list