def saveModel(self): self.model = Model([], self.modelName) for m in self.parser.object.meshes: if m.type != 1: continue geom = Mesh.Geometry([], [], []) # get vertices & texCoordinates triangles = [] geom.vertices = m.data.vertices if m.data.coordinates: geom.texCoords = m.data.coordinates # get faces if m.data.faces: geom.faces = m.data.faces.faces for group in m.data.faces.materialGroups: faces = [] for i in group.faces: faces.extend(m.data.faces.faces[i]) triangles.append(Mesh.Triangles(faces, self.materialMng.get(group.materialName))) # get mesh coordinates mat = m.data.matrix rot = 9 * [0] for i in range(3): for j in range(3): rot[3 * i + j] = mat[3 * j + i] mesh = Mesh(geom, triangles, Coordinate(rot, mat[9:])) mesh.name = m.name mesh.init() self.model.meshes.append(mesh) self.modelMng.add(self.model)