[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37719] branches/bmesh/blender/source/ blender/modifiers/intern/MOD_decimate.c: Fix for decimator:

Geoffrey Bantle hairbat at yahoo.com
Wed Jun 22 02:34:09 CEST 2011


Revision: 37719
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37719
Author:   briggs
Date:     2011-06-22 00:34:08 +0000 (Wed, 22 Jun 2011)
Log Message:
-----------
Fix for decimator:
----------------------------------------------
Patch for making faces stop dissapearing when
using the decimator submitted by howardt in IRC.

Also fixed crash for when input mesh had less than
three triangles

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/modifiers/intern/MOD_decimate.c

Modified: branches/bmesh/blender/source/blender/modifiers/intern/MOD_decimate.c
===================================================================
--- branches/bmesh/blender/source/blender/modifiers/intern/MOD_decimate.c	2011-06-21 21:10:36 UTC (rev 37718)
+++ branches/bmesh/blender/source/blender/modifiers/intern/MOD_decimate.c	2011-06-22 00:34:08 UTC (rev 37719)
@@ -98,7 +98,8 @@
 	if(numTris<3) {
 		modifier_setError(md,
 			"Modifier requires more than 3 input faces (triangles).");
-		goto exit;
+		dm = CDDM_copy(dm, 0);
+		return dm;
 	}
 
 	lod.vertex_buffer= MEM_mallocN(3*sizeof(float)*totvert, "vertices");
@@ -169,7 +170,6 @@
 			}
 
 			CDDM_calc_edges(result);
-			CDDM_calc_normals(result);
 		}
 		else
 			modifier_setError(md, "Out of memory.");
@@ -183,9 +183,8 @@
 	MEM_freeN(lod.vertex_normal_buffer);
 	MEM_freeN(lod.triangle_index_buffer);
 
-exit:
-
 	dm = CDDM_copy(result, 1); /*builds ngon faces from tess (mface) faces*/
+	CDDM_calc_normals(result);
 	result->needsFree = 1;
 	result->release(result);
 




More information about the Bf-blender-cvs mailing list