Mercurial > hg > Members > kono > Cerium
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() |