omit trailing zeroes in output

This commit is contained in:
josch 2014-09-11 16:02:16 +02:00
parent 64ab9d1f39
commit 3661b41aeb

View file

@ -182,22 +182,28 @@ def subdivide(rect):
rect2 = (x,y+k,w,h-k) rect2 = (x,y+k,w,h-k)
return subdivide(rect1) + subdivide(rect2) return subdivide(rect1) + subdivide(rect2)
def toint(x):
if x%1==0:
return int(x)
else:
return x
def write_file(fname, comments, files, lines, triangles, quads): def write_file(fname, comments, files, lines, triangles, quads):
with open(fname, 'w') as outfile: with open(fname, 'w') as outfile:
for comment in comments: for comment in comments:
outfile.write("0 %s\n"%comment) outfile.write("0 %s\n"%comment)
for (x,y,z,a,b,c,d,e,f,g,h,i,fs) in files: for (x,y,z,a,b,c,d,e,f,g,h,i,fs) in files:
x,y,z,a,b,c,d,e,f,g,h,i = [round(float(t),6)+0 for t in x,y,z,a,b,c,d,e,f,g,h,i] x,y,z,a,b,c,d,e,f,g,h,i = [toint(round(float(t),6)+0) for t in x,y,z,a,b,c,d,e,f,g,h,i]
outfile.write("1 16 %s %s %s %s %s %s %s %s %s %s %s %s %s\n"%(x,y,z,a,b,c,d,e,f,g,h,i,fs)) outfile.write("1 16 %s %s %s %s %s %s %s %s %s %s %s %s %s\n"%(x,y,z,a,b,c,d,e,f,g,h,i,fs))
for (x1, y1, z1), (x2, y2, z2) in lines: for (x1, y1, z1), (x2, y2, z2) in lines:
x1,y1,z1,x2,y2,z2 = [round(t,6)+0 for t in x1,y1,z1,x2,y2,z2] x1,y1,z1,x2,y2,z2 = [toint(round(t,6)+0) for t in x1,y1,z1,x2,y2,z2]
outfile.write("2 24 %s %s %s %s %s %s\n"%(x1, y1, z1, x2, y2, z2)) outfile.write("2 24 %s %s %s %s %s %s\n"%(x1, y1, z1, x2, y2, z2))
for (x1, y1, z1), (x2, y2, z2), (x3, y3, z3) in triangles: for (x1, y1, z1), (x2, y2, z2), (x3, y3, z3) in triangles:
x1,y1,z1,x2,y2,z2,x3,y3,z3 = [round(t,6)+0 for t in x1,y1,z1,x2,y2,z2,x3,y3,z3] x1,y1,z1,x2,y2,z2,x3,y3,z3 = [toint(round(t,6)+0) for t in x1,y1,z1,x2,y2,z2,x3,y3,z3]
outfile.write("3 16 %s %s %s %s %s %s %s %s %s\n"%( outfile.write("3 16 %s %s %s %s %s %s %s %s %s\n"%(
x1, y1, z1, x2, y2, z2, x3, y3, z3)) x1, y1, z1, x2, y2, z2, x3, y3, z3))
for (x1, y1, z1), (x2, y2, z2), (x3, y3, z3), (x4, y4, z4) in quads: for (x1, y1, z1), (x2, y2, z2), (x3, y3, z3), (x4, y4, z4) in quads:
x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4 = [round(t,6)+0 for t in x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4] x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4 = [toint(round(t,6)+0) for t in x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4]
outfile.write("4 16 %s %s %s %s %s %s %s %s %s %s %s %s\n"%( outfile.write("4 16 %s %s %s %s %s %s %s %s %s %s %s %s\n"%(
x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4)) x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4))