[Bf-extensions-cvs] [32be045] master: BugFixes and Cleanup Overlap UVs
Eugenio Pignataro
noreply at git.blender.org
Sun May 25 17:26:26 CEST 2014
Commit: 32be0452a371be7c7fc8a73e87540b643e7e9f04
Author: Eugenio Pignataro
Date: Sun May 25 12:26:16 2014 -0300
https://developer.blender.org/rBAC32be0452a371be7c7fc8a73e87540b643e7e9f04
BugFixes and Cleanup Overlap UVs
===================================================================
M oscurart_tools/oscurart_meshes.py
===================================================================
diff --git a/oscurart_tools/oscurart_meshes.py b/oscurart_tools/oscurart_meshes.py
index bdeb16f..caf5353 100644
--- a/oscurart_tools/oscurart_meshes.py
+++ b/oscurart_tools/oscurart_meshes.py
@@ -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'}
+
More information about the Bf-extensions-cvs
mailing list