Exemplo n.º 1
0
def uv_corners(mesh, image=None):
    '''returns the four corner points of the UVTex layout
    for the sculpt map image'''
    debug(40, "primitive.uv_corners(%s, %s)" % (mesh.name, image.name))
    max_vu = XYZ(-99999.0, -99999.0, 0.0)
    min_vu = XYZ(99999.0, 99999.0, 0.0)
    max_uv = XYZ(-99999.0, -99999.0, 0.0)
    min_uv = XYZ(99999.0, 99999.0, 0.0)
    current_uv = mesh.activeUVLayer
    mesh.activeUVLayer = 'sculptie'
    if image:
        faces = [f for f in mesh.faces if f.image == image]
    else:
        faces = mesh.faces
    mesh.activeUVLayer = 'UVTex'
    for f in faces:
        for i in range(len(f.verts)):
            v = XYZ(round(f.uv[i][0], 6), round(f.uv[i][1], 6), 0.0)
            max_uv = max(max_uv, v)
            min_uv = min(min_uv, v)
            v = XYZ(round(f.uv[i][1], 6), round(f.uv[i][0], 6), 0.0)
            max_vu = max(max_vu, v)
            min_vu = min(min_vu, v)
    min_vu = XYZ(min_vu.y, min_vu.x, 0.0)
    max_vu = XYZ(max_vu.y, max_vu.x, 0.0)
    if min_vu == min_uv:
        min_uv.y = max_uv.y
    if max_vu == max_uv:
        max_vu.y = min_vu.y
    mesh.activeUVLayer = current_uv
    return min_vu, min_uv, max_vu, max_uv
Exemplo n.º 2
0
def uv_corners(mesh, image=None):
    '''returns the four corner points of the UVTex layout
    for the sculpt map image'''
    debug(40, "primitive.uv_corners(%s, %s)" % (mesh.name, image.name))
    max_vu = XYZ(-99999.0, -99999.0, 0.0)
    min_vu = XYZ(99999.0, 99999.0, 0.0)
    max_uv = XYZ(-99999.0, -99999.0, 0.0)
    min_uv = XYZ(99999.0, 99999.0, 0.0)
    current_uv = mesh.activeUVLayer
    mesh.activeUVLayer = 'sculptie'
    if image:
        faces = [f for f in mesh.faces if f.image == image]
    else:
        faces = mesh.faces
    mesh.activeUVLayer = 'UVTex'
    for f in faces:
        for i in range(len(f.verts)):
            v = XYZ(round(f.uv[i][0], 6), round(f.uv[i][1], 6), 0.0)
            max_uv = max(max_uv, v)
            min_uv = min(min_uv, v)
            v = XYZ(round(f.uv[i][1], 6), round(f.uv[i][0], 6), 0.0)
            max_vu = max(max_vu, v)
            min_vu = min(min_vu, v)
    min_vu = XYZ(min_vu.y, min_vu.x, 0.0)
    max_vu = XYZ(max_vu.y, max_vu.x, 0.0)
    if min_vu == min_uv:
        min_uv.y = max_uv.y
    if max_vu == max_uv:
        max_vu.y = min_vu.y
    mesh.activeUVLayer = current_uv
    return min_vu, min_uv, max_vu, max_uv
Exemplo n.º 3
0
def color_range(image):
    c = image.getPixelI(0,0)
    min = XYZ(c[0], c[1], c[2])
    max = XYZ(c[0], c[1], c[2])

    for x in range(image.size[0]):
        for y in range(image.size[1]):
            c = image.getPixelI(x, y)
            if c[0] < min.x : min.x = c[0]
            if c[1] < min.y : min.y = c[1]
            if c[2] < min.z : min.z = c[2]
            if c[0] > max.x : max.x = c[0]
            if c[1] > max.y : max.y = c[1]
            if c[2] > max.z : max.z = c[2]
    color_range = max - min
    #print "min:", min
    #print "max:", max
    #bprint "dif:", color_range
    return color_range
Exemplo n.º 4
0
def color_range(image):
    c = image.getPixelI(0, 0)
    min = XYZ(c[0], c[1], c[2])
    max = XYZ(c[0], c[1], c[2])

    for x in range(image.size[0]):
        for y in range(image.size[1]):
            c = image.getPixelI(x, y)
            if c[0] < min.x: min.x = c[0]
            if c[1] < min.y: min.y = c[1]
            if c[2] < min.z: min.z = c[2]
            if c[0] > max.x: max.x = c[0]
            if c[1] > max.y: max.y = c[1]
            if c[2] > max.z: max.z = c[2]
    color_range = max - min
    #print "min:", min
    #print "max:", max
    #bprint "dif:", color_range
    return color_range