def saveVerts(fp, ob, verts, saveAll, first, last, offs): for n in range(first, last): vco = verts[n-offs] bv = ob.data.vertices[n-offs] vec = vco - bv.co if vec.length > Epsilon and (saveAll or bv.select): fp.write("%d %s %s %s\n" % (n, round(vec[0]), round(vec[2]), round(-vec[1])))
def saveVerts(fp, ob, verts, saveAll, first, last, offs): for n in range(first, last): vco = verts[n - offs] bv = ob.data.vertices[n - offs] vec = vco - bv.co if vec.length > Epsilon and (saveAll or bv.select): fp.write("%d %s %s %s\n" % (n, round(vec[0]), round(vec[2]), round(-vec[1])))
def saveTarget(trgVerts, filepath): fp = open(filepath, "w", encoding="utf-8", newline="\n") for vn,trgVert in trgVerts.items(): if trgVert.length() > Epsilon: co = trgVert.co fp.write("%d %s %s %s\n" % (vn, round(co[0]), round(co[1]), round(co[2]))) fp.close() print("Target %s saved" % (filepath))
def saveNewTarget(filepath, locs, nVerts): fp = open(filepath, "w", encoding="utf-8", newline="\n") locList = list(locs.items()) locList.sort() for (n, dr) in locList: if dr.length > Epsilon: fp.write("%d %s %s %s\n" % (n, round(dr[0]), round(dr[2]), round(-dr[1]))) fp.close() return
def saveTarget(trgVerts, filepath): fp = open(filepath, "w", encoding="utf-8", newline="\n") for vn, trgVert in trgVerts.items(): if trgVert.length() > Epsilon: co = trgVert.co fp.write("%d %s %s %s\n" % (vn, round(co[0]), round(co[1]), round(co[2]))) fp.close() print("Target %s saved" % (filepath))
def writeMhpBones(fp, pb): b = pb.bone if pb.parent: string = "quat" mat = b.matrix_local.inverted() * b.parent.matrix_local * pb.parent.matrix.inverted() * pb.matrix else: string = "gquat" mat = pb.matrix.copy() maty = mat[1].copy() matz = mat[2].copy() mat[1] = matz mat[2] = -maty q = mat.to_quaternion() fp.write("%s\t%s\t%s\t%s\t%s\t%s\n" % (pb.name, string, round(q.w), round(q.x), round(q.y), round(q.z))) for child in pb.children: writeMhpBones(fp, child)
def saveVGroups(vgroups, before, after, filepath): fp = open(filepath, "w", encoding="utf-8", newline="\n") for line in before: fp.write(line) for (name, vgroup) in vgroups: vlist = list(vgroup.items()) vlist.sort() fp.write("# weights %s\n" % name) for (vn, w) in vlist: if abs(w) > 1e-4: fp.write(" %d %s\n" % (vn, round(w))) fp.write("\n") for line in after: fp.write(line) fp.close() print("VGroup file %s saved" % (filepath))
def saveVGroups(vgroups, before, after, filepath): fp = open(filepath, "w", encoding="utf-8", newline="\n") for line in before: fp.write(line) for (name, vgroup) in vgroups: vlist = list(vgroup.items()) vlist.sort() fp.write("# weights %s\n" % name) for (vn,w) in vlist: if abs(w) > 1e-4: fp.write(" %d %s\n" % (vn, round(w))) fp.write("\n") for line in after: fp.write(line) fp.close() print("VGroup file %s saved" % (filepath))
def __repr__(self): return ("<CVertex %s %s %s>" % (round(self.co[0]), round(self.co[1]), round(self.co[2])))