X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=pymeshio%2Fmqo%2F__init__.py;h=77c6328d3cb4c50d4031aa96dd590be45f36266b;hb=cf6ec3e04ee67bbe635510486475961ed32e46f2;hp=6eeda672699583ff2870c654a77a1392ce8c330f;hpb=9605a347880a8ad2809383c6851661550fc23c6b;p=meshio%2Fpymeshio.git diff --git a/pymeshio/mqo/__init__.py b/pymeshio/mqo/__init__.py index 6eeda67..77c6328 100644 --- a/pymeshio/mqo/__init__.py +++ b/pymeshio/mqo/__init__.py @@ -7,9 +7,8 @@ http://www.metaseq.net/metaseq/format.html import os import sys import math -import pymeshio.common -import pymeshio.mqo.reader import warnings +from .. import common """ @@ -37,13 +36,13 @@ class Material(object): def __init__(self, name): self.name=name self.shader=3 - self.color=pymeshio.common.RGBA(0.5, 0.5, 0.5, 1.0) + self.color=common.RGBA(0.5, 0.5, 0.5, 1.0) self.diffuse=1.0 self.ambient=0.0 self.emit=0.0 self.specular=0.0 self.power=5.0 - self.tex="" + self.tex=b"" def getName(self): return self.name def getTexture(self): return self.tex @@ -51,30 +50,30 @@ class Material(object): def parse(self, line): offset=0 while True: - leftParenthesis=line.find("(", offset) + leftParenthesis=line.find(b"(", offset) if leftParenthesis==-1: break key=line[offset:leftParenthesis] - rightParenthesis=line.find(")", leftParenthesis+1) + rightParenthesis=line.find(b")", leftParenthesis+1) if rightParenthesis==-1: raise ValueError("assert") param=line[leftParenthesis+1:rightParenthesis] - if key=="shader": + if key==b"shader": self.shader=int(param) - elif key=="col": - self.color=pymeshio.common.RGBA(*[float(e) for e in param.split()]) - elif key=="dif": + elif key==b"col": + self.color=common.RGBA(*[float(e) for e in param.split()]) + elif key==b"dif": self.diffuse=float(param) - elif key=="amb": + elif key==b"amb": self.ambient=float(param) - elif key=="emi": + elif key==b"emi": self.emit=float(param) - elif key=="spc": + elif key==b"spc": self.specular=float(param) - elif key=="power": + elif key==b"power": self.power=float(param) - elif key=="tex": + elif key==b"tex": self.tex=param[1:-1] else: print( @@ -143,7 +142,7 @@ class Obj(object): def getName(self): return self.name def addVertex(self, x, y, z): - self.vertices.append(pymeshio.common.Vector3(x, y, z)) + self.vertices.append(common.Vector3(x, y, z)) def addFace(self, face): if face.index_count==2: @@ -175,28 +174,28 @@ class Face(object): raise ValueError("invalid vertex count: %d" % index_count) self.material_index=0 self.col=[] - self.uv=[pymeshio.common.Vector2(0, 0)]*4 + self.uv=[common.Vector2(0, 0)]*4 self.index_count=index_count offset=0 while True: - leftParenthesis=line.find("(", offset) + leftParenthesis=line.find(b"(", offset) if leftParenthesis==-1: break key=line[offset:leftParenthesis] - rightParenthesis=line.find(")", leftParenthesis+1) + rightParenthesis=line.find(b")", leftParenthesis+1) if rightParenthesis==-1: raise ValueError("assert") params=line[leftParenthesis+1:rightParenthesis].split() - if key=="V": + if key==b"V": self.indices=[int(e) for e in params] - elif key=="M": + elif key==b"M": self.material_index=int(params[0]) - elif key=="UV": + elif key==b"UV": uv_list=[float(e) for e in params] self.uv=[] for i in range(0, len(uv_list), 2): - self.uv.append(pymeshio.common.Vector2(uv_list[i], uv_list[i+1])) - elif key=="COL": + self.uv.append(common.Vector2(uv_list[i], uv_list[i+1])) + elif key==b"COL": for n in params: d=int(n) # R @@ -217,7 +216,7 @@ class Face(object): offset=rightParenthesis+2 def getIndex(self, i): return self.indices[i] - def getUV(self, i): return self.uv[i] if i