def export(self, context, out_file):
if self.compound:
objs = context.selected_objects
+ check = objs
+ while check:
+ children = []
+ for o in check:
+ for c in o.children:
+ if c.compound:
+ children.append(c)
+ objs += children
+ check = children
else:
objs = [context.active_object]
from .mesh import Mesh
from .util import Progress
- progress = Progress()
+ progress = Progress(context)
progress.set_task("Preparing", 0.0, 0.0)
mesh = None
fmt.append("VERTEX3")
out_file.begin("vertices", *fmt)
normal = None
- uvs = [None]*(max(u[0] for u in texunits)+1)
+ uvs = {}
tan = None
bino = None
group = None
out_file.write("normal3", *v.normal)
normal = v.normal
for i, u in texunits:
- if v.uvs[i]!=uvs[i]:
+ if v.uvs[i]!=uvs.get(i):
if u.unit==0 or force_unit0:
out_file.write("texcoord2", *v.uvs[i])
else:
out_file.end()
if self.export_lines and mesh.lines:
- out_file.write("batch", "LINES")
+ out_file.begin("batch", "LINES")
for l in mesh.lines:
out_file.write("indices", l.vertices[0].index, l.vertices[1].index)
out_file.end()