[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33039] trunk/blender/source/blender/ makesrna: Related to #24653: added scene.collada_export() function, to use instead of an

Brecht Van Lommel brechtvanlommel at pandora.be
Fri Nov 12 15:36:58 CET 2010


Revision: 33039
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33039
Author:   blendix
Date:     2010-11-12 15:36:58 +0100 (Fri, 12 Nov 2010)

Log Message:
-----------
Related to #24653: added scene.collada_export() function, to use instead of an
operator for external render engines, since operators should not be called in
the render() callback.

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/SConscript
    trunk/blender/source/blender/makesrna/intern/CMakeLists.txt
    trunk/blender/source/blender/makesrna/intern/SConscript
    trunk/blender/source/blender/makesrna/intern/rna_scene_api.c

Modified: trunk/blender/source/blender/makesrna/SConscript
===================================================================
--- trunk/blender/source/blender/makesrna/SConscript	2010-11-12 12:45:55 UTC (rev 33038)
+++ trunk/blender/source/blender/makesrna/SConscript	2010-11-12 14:36:58 UTC (rev 33039)
@@ -48,6 +48,9 @@
 if env['WITH_BF_GAMEENGINE']:
     defs.append('WITH_GAMEENGINE')
 
+if env['WITH_BF_COLLADA']:
+    defs.append('WITH_COLLADA')
+
 if env['BF_UNIT_TEST']:
     defs.append('UNIT_TEST')
 

Modified: trunk/blender/source/blender/makesrna/intern/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/makesrna/intern/CMakeLists.txt	2010-11-12 12:45:55 UTC (rev 33038)
+++ trunk/blender/source/blender/makesrna/intern/CMakeLists.txt	2010-11-12 14:36:58 UTC (rev 33039)
@@ -136,6 +136,10 @@
 	ADD_DEFINITIONS(-DWITH_JACK)
 ENDIF(WITH_JACK)
 
+IF(WITH_OPENCOLLADA)
+	ADD_DEFINITIONS(-DWITH_COLLADA)
+ENDIF(WITH_OPENCOLLADA)
+
 # Build makesrna executable
 ADD_EXECUTABLE(makesrna ${SRC} ${INC_FILES})
 TARGET_LINK_LIBRARIES(makesrna bf_dna)

Modified: trunk/blender/source/blender/makesrna/intern/SConscript
===================================================================
--- trunk/blender/source/blender/makesrna/intern/SConscript	2010-11-12 12:45:55 UTC (rev 33038)
+++ trunk/blender/source/blender/makesrna/intern/SConscript	2010-11-12 14:36:58 UTC (rev 33039)
@@ -88,6 +88,9 @@
 if env['WITH_BF_PYTHON']:
     defs.append('WITH_PYTHON')
 
+if env['WITH_BF_COLLADA']:
+    defs.append('WITH_COLLADA')
+
 if env['OURPLATFORM'] == 'linux2':
     cflags='-pthread'
     incs += ' ../../../extern/binreloc/include'

Modified: trunk/blender/source/blender/makesrna/intern/rna_scene_api.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_scene_api.c	2010-11-12 12:45:55 UTC (rev 33038)
+++ trunk/blender/source/blender/makesrna/intern/rna_scene_api.c	2010-11-12 14:36:58 UTC (rev 33039)
@@ -71,6 +71,17 @@
 		BKE_makepicstring(name, rd->pic, (frame==INT_MIN) ? rd->cfra : frame, rd->imtype, rd->scemode & R_EXTENSION);
 }
 
+#ifdef WITH_COLLADA
+
+#include "../../collada/collada.h"
+
+static void rna_Scene_collada_export(Scene *scene, char *filepath)
+{
+	collada_export(scene, filepath);
+}
+
+#endif
+
 #else
 
 void RNA_api_scene(StructRNA *srna)
@@ -86,6 +97,14 @@
 
 	func= RNA_def_function(srna, "update", "rna_Scene_update_tagged");
 	RNA_def_function_ui_description(func, "Update data tagged to be updated from previous access to data or operators.");
+
+#ifdef WITH_COLLADA
+	func= RNA_def_function(srna, "collada_export", "rna_Scene_collada_export");
+	parm= RNA_def_string(func, "filepath", "", FILE_MAX, "File Path", "File path to write Collada file.");
+	RNA_def_property_flag(parm, PROP_REQUIRED);
+	RNA_def_property_subtype(parm, PROP_FILEPATH); /* allow non utf8 */
+	RNA_def_function_ui_description(func, "Export to collada file.");
+#endif
 }
 
 void RNA_api_scene_render(StructRNA *srna)





More information about the Bf-blender-cvs mailing list