Commit 32be0452 authored by Eugenio Pignataro's avatar Eugenio Pignataro

BugFixes and Cleanup Overlap UVs

parent 67e1ac21
......@@ -277,6 +277,8 @@ class OscObjectToMesh(bpy.types.Operator):
def DefOscOverlapUv(valprecision):
inicio= time.time()
mode = bpy.context.object.mode
bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
ob = bpy.context.object
......@@ -287,7 +289,7 @@ def DefOscOverlapUv(valprecision):
polydict = {redondeo(poly.center[:]) : poly for poly in ob.data.polygons }
vertdict = {redondeo(vert.co[:]) : vert for vert in ob.data.vertices }
polyeq = { indice.index : polydict[absol(center)].index for center,indice in polydict.items() if center[0] <= 0
polyeq = { indice.index : polydict[absol(center)].index for center,indice in polydict.items() if center[0] < 0
if polydict.get(absol(center))}
verteq = { indice.index : vertdict[absol(co)].index for co,indice in vertdict.items() if co[0] <= 0
if vertdict.get(absol(co))}
......@@ -295,35 +297,17 @@ def DefOscOverlapUv(valprecision):
dict = { poly.index : {ob.data.loops[vertex].vertex_index :vertex for vertex in poly.loop_indices} for poly in ob.data.polygons}
for poly,data in dict.items():
if ob.data.polygons[poly].center.x <= 0:
poly, data
polyeq[poly], dict[polyeq[poly]]
for ind in data:
ind, verteq[ind]
data[ind], dict[polyeq[poly]][verteq[ind]]
uvm.data[data[ind]].uv = uvm.data[dict[polyeq[poly]][verteq[ind]]].uv
bpy.ops.object.mode_set(mode=mode, toggle=False)
print("Time elapsed: %4s seconds" % (time.time()-inicio))
"""
rd = 4
ACTOBJ = bpy.context.object
inicio= time.time()
bpy.ops.mesh.faces_mirror_uv(direction='POSITIVE', precision=valprecision)
bpy.ops.object.mode_set(mode='OBJECT')
SELUVVERT = [ver for ver in ACTOBJ.data.uv_layers[ACTOBJ.data.uv_textures.active.name].data[:] if ver.select]
MAY = [ver for ver in SELUVVERT if ver.uv[0] > .5]
if ob.data.polygons[poly].center.x < 0 and polyeq.get(poly):
for vertice, vertex in data.items():
if len(dict[poly]) == len(dict[polyeq[poly]]) and verteq.get(vertice): # DEBUG
source, target = dict[poly][vertice] , dict[polyeq[poly]][verteq[vertice]]
uvm.data[target].uv = uvm.data[source].uv
bpy.ops.object.mode_set(mode=mode, toggle=False)
print("Time elapsed: %4s seconds" % (time.time()-inicio))
for vl in MAY:
vl.uv = (1-vl.uv[0],vl.uv[1])
bpy.ops.object.mode_set(mode='EDIT')
print("Time elapsed: %4s seconds" % (time.time()-inicio))
"""
class OscOverlapUv(bpy.types.Operator):
bl_idname = "mesh.overlap_uv_faces"
......@@ -421,3 +405,4 @@ class ModalIndexOperator(bpy.types.Operator):
self.report({"WARNING"}, "Is not a 3D Space")
return {'CANCELLED'}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment