Example #1
0
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])))
Example #2
0
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])))
Example #3
0
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))
Example #4
0
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
Example #5
0
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))
Example #6
0
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)
Example #7
0
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))
Example #8
0
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))
Example #9
0
 def __repr__(self):
     return ("<CVertex %s %s %s>" %
             (round(self.co[0]), round(self.co[1]), round(self.co[2])))
Example #10
0
 def __repr__(self):
     return ("<CVertex %s %s %s>" % (round(self.co[0]), round(self.co[1]), round(self.co[2])))