Beispiel #1
0
def toList(m):
    '''
    Convert a PyMEL Matrix or [4][4] list into a flat 16-element list
    '''

    if isinstance(m, pm.datatypes.Matrix):
        m = [m.a00, m.a01, m.a02, m.a03,
                m.a10, m.a11, m.a12, m.a13,
                m.a20, m.a21, m.a22, m.a23,
                m.a30, m.a31, m.a32, m.a33]
    elif PyUtils.isIterable(m[0]):
        m = [m[0][0], m[0][1], m[0][2], m[0][3],
                m[1][0], m[1][1], m[1][2], m[1][3],
                m[2][0], m[2][1], m[2][2], m[2][3],
                m[3][0], m[3][1], m[3][2], m[3][3]]
    return m
Beispiel #2
0
def to4x4(l):
    '''
    Convert a PyMEL Matrix or flat list into a 4x4 element list
    '''
    if isinstance(l, pm.datatypes.Matrix):
        l = toList(l)

    elif PyUtils.isIterable(l[0]):
        l = [l[0][0], l[0][1], l[0][2], l[0][3],
            l[1][0], l[1][1], l[1][2], l[1][3],
            l[2][0], l[2][1], l[2][2], l[2][3],
            l[3][0], l[3][1], l[3][2], l[3][3]]

    return [[l[0], l[1], l[2], l[3]],
            [l[4], l[5], l[6], l[7]],
            [l[8], l[9], l[10], l[11]],
            [l[12], l[13], l[14], l[15]]]