[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50559] trunk/blender/source/blender/ collada: Collada: do not call polylist export for objects with no polygons (avoid a missleading warning message)

Gaia Clary gaia.clary at machinimatrix.org
Wed Sep 12 20:26:02 CEST 2012


Revision: 50559
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50559
Author:   gaiaclary
Date:     2012-09-12 18:26:01 +0000 (Wed, 12 Sep 2012)
Log Message:
-----------
Collada: do not call polylist export for objects with no polygons (avoid a missleading warning message)

Modified Paths:
--------------
    trunk/blender/source/blender/collada/DocumentExporter.cpp
    trunk/blender/source/blender/collada/GeometryExporter.cpp

Modified: trunk/blender/source/blender/collada/DocumentExporter.cpp
===================================================================
--- trunk/blender/source/blender/collada/DocumentExporter.cpp	2012-09-12 16:42:24 UTC (rev 50558)
+++ trunk/blender/source/blender/collada/DocumentExporter.cpp	2012-09-12 18:26:01 UTC (rev 50559)
@@ -163,6 +163,8 @@
 	    COLLADABU::NativeString(std::string(this->export_settings->filepath));
 	COLLADASW::StreamWriter sw(native_filename);
 
+	fprintf(stdout, "Collada export: %s\n", this->export_settings->filepath);
+
 	// open <collada>
 	sw.startDocument();
 

Modified: trunk/blender/source/blender/collada/GeometryExporter.cpp
===================================================================
--- trunk/blender/source/blender/collada/GeometryExporter.cpp	2012-09-12 16:42:24 UTC (rev 50558)
+++ trunk/blender/source/blender/collada/GeometryExporter.cpp	2012-09-12 18:26:01 UTC (rev 50559)
@@ -132,15 +132,18 @@
 
 	createLooseEdgeList(ob, me, geom_id, norind);
 
-	// XXX slow		
-	if (ob->totcol) {
-		for (int a = 0; a < ob->totcol; a++) {
-			createPolylist(a, has_uvs, has_color, ob, me, geom_id, norind);
+	// Only create Polylists if number of faces > 0
+	if (me->totface > 0) {
+		// XXX slow
+		if (ob->totcol) {
+			for (int a = 0; a < ob->totcol; a++) {
+				createPolylist(a, has_uvs, has_color, ob, me, geom_id, norind);
+			}
 		}
+		else {
+			createPolylist(0, has_uvs, has_color, ob, me, geom_id, norind);
+		}
 	}
-	else {
-		createPolylist(0, has_uvs, has_color, ob, me, geom_id, norind);
-	}
 	
 	closeMesh();
 	
@@ -248,7 +251,7 @@
 
 	// no faces using this material
 	if (faces_in_polylist == 0) {
-		fprintf(stderr, "%s: no faces use material %d\n", id_name(ob).c_str(), material_index);
+		fprintf(stderr, "%s: material with index %d is not used.\n", id_name(ob).c_str(), material_index);
 		return;
 	}
 		




More information about the Bf-blender-cvs mailing list