comparison SceneGraph/BlenderScript/export_xml.py @ 658:30a72124c7fd

export_xml3 for Blender 2.5 ( not yet worked )
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 27 Nov 2009 18:22:20 +0900
parents fffbfbfc9e34
children 22d7263cec2d
comparison
equal deleted inserted replaced
655:0eed1fa290c1 658:30a72124c7fd
29 """Print methods and doc strings. 29 """Print methods and doc strings.
30 30
31 Takes module, class, list, dictionary, or string.""" 31 Takes module, class, list, dictionary, or string."""
32 methodList = [e for e in dir(object) if callable(getattr(object, e))] 32 methodList = [e for e in dir(object) if callable(getattr(object, e))]
33 processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s) 33 processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s)
34 print "\n".join(["%s %s" % 34 # print "\n".join(["%s %s" %
35 (method.ljust(spacing), 35 # (method.ljust(spacing),
36 processFunc(str(getattr(object, method).__doc__))) 36 # processFunc(str(getattr(object, method).__doc__)))
37 for method in methodList]) 37 # for method in methodList])
38 38
39 39
40 ###################################################### 40 ######################################################
41 # Data Structures 41 # Data Structures
42 ###################################################### 42 ######################################################
57 #exporting an anime 57 #exporting an anime
58 ###change 58 ###change
59 #def export_anime(object_name): 59 #def export_anime(object_name):
60 def export_anime(object_name,file): 60 def export_anime(object_name,file):
61 startF = Blender.Get('staframe') 61 startF = Blender.Get('staframe')
62 endF = Blender.Get('endframe') 62 endF = Blender.Get('endframe')
63 #str = "" 63 #str = ""
64 file.write("") 64 file.write("")
65 file.write("\t\t<anim frame=\"%d\">\n" %(endF) ) 65 file.write("\t\t<anim frame=\"%d\">\n" %(endF) )
66 for i in range (startF, endF+1): 66 for i in range (startF, endF+1):
67 Blender.Set('curframe', i) 67 Blender.Set('curframe', i)
68 Blender.Redraw() 68 Blender.Redraw()
69 time1 = Blender.sys.time() 69 time1 = Blender.sys.time()
70 70
71 ##### XML header ###### 71 ##### XML header ######
72 #get all the objects in this scene 72 #get all the objects in this scene
73 activelayers = Window.ViewLayer() 73 activelayers = Window.ViewLayer()
74 for i in range(len(activelayers)): 74 for i in range(len(activelayers)):
75 activelayers[i] = 2**(activelayers[i]-1) 75 activelayers[i] = 2**(activelayers[i]-1)
76 object_list1 = Blender.Scene.GetCurrent().getChildren() 76 object_list1 = Blender.Scene.GetCurrent().getChildren()
77 object_list = [] 77 object_list = []
92 matrix = obj.getMatrix() 92 matrix = obj.getMatrix()
93 if obj == object_name: 93 if obj == object_name:
94 file.write("\t\t\t%f %f %f\n" %(matrix[3][0], matrix[3][1], matrix[3][2]) ) 94 file.write("\t\t\t%f %f %f\n" %(matrix[3][0], matrix[3][1], matrix[3][2]) )
95 95
96 file.write("\t\t</anim>\n") 96 file.write("\t\t</anim>\n")
97 #return str 97 #return str
98 98
99 99
100 100
101 # exporting a mesh 101 # exporting a mesh
102 ##change 102 ##change
427 BGL.glRasterPos2i(10,60) ; Draw.Text("xml exporter for libps3") 427 BGL.glRasterPos2i(10,60) ; Draw.Text("xml exporter for libps3")
428 428
429 429
430 def event(evt, val): # function that handles keyboard and mouse events 430 def event(evt, val): # function that handles keyboard and mouse events
431 if evt == Draw.ESCKEY or evt == Draw.QKEY: 431 if evt == Draw.ESCKEY or evt == Draw.QKEY:
432 stop = Draw.PupMenu("OK?%t|Cancel export %x1") 432 stop = Draw.PupMenu("OK?%t|Cancel export %x1")
433 if stop == 1: 433 if stop == 1:
434 Draw.Exit() 434 Draw.Exit()
435 return 435 return
436 436
437 def buttonEvt(evt): # function that handles button events 437 def buttonEvt(evt): # function that handles button events
438 if evt == evtExport: 438 if evt == evtExport:
439 Blender.Window.FileSelector(save_still, "Export", newFName('xml')) 439 Blender.Window.FileSelector(save_still, "Export", newFName('xml'))
440 if evt == evtExportAnim: 440 if evt == evtExportAnim:
441 Blender.Window.FileSelector(save_anim, "Export Animation", newFName('xml')) 441 Blender.Window.FileSelector(save_anim, "Export Animation", newFName('xml'))
442 #if there was an event, redraw the window 442 #if there was an event, redraw the window
443 if evt: 443 if evt:
444 Draw.Redraw() 444 Draw.Redraw()
445 445
446 446
447 def loadTexture(texture): 447 def loadTexture(texture):
448 global images, imageCount 448 global images, imageCount
449 name = texture.getName() 449 name = texture.getName()