[Bf-extensions-cvs] [5168452] master: BugFix: Overlap Uvs

Eugenio Pignataro noreply at git.blender.org
Tue Jul 22 21:23:29 CEST 2014


Commit: 5168452d50fa2ca084270bcd334c83e0ddbbacf6
Author: Eugenio Pignataro
Date:   Tue Jul 22 16:23:12 2014 -0300
Branches: master
https://developer.blender.org/rBAC5168452d50fa2ca084270bcd334c83e0ddbbacf6

BugFix: Overlap Uvs

===================================================================

M	oscurart_tools/oscurart_meshes.py

===================================================================

diff --git a/oscurart_tools/oscurart_meshes.py b/oscurart_tools/oscurart_meshes.py
index 0766158..3c06f05 100644
--- a/oscurart_tools/oscurart_meshes.py
+++ b/oscurart_tools/oscurart_meshes.py
@@ -290,21 +290,31 @@ def DefOscOverlapUv(valpresicion):
     for vert in ob.data.loops:
         vertvertex.setdefault(vert.vertex_index,[]).append(vert.index)
 
+    vertexvert = {}
+    for vertex in ob.data.loops:
+        vertexvert[vertex.index]=vertex.vertex_index  
+
     # posicion de cada vertice y cada face 
     vertloc = { rounder(vert.co[:]) : vert for vert in ob.data.vertices} 
     faceloc = { rounder(poly.center[:]) : poly for poly in ob.data.polygons} 
 
     # relativo de cada vertice y cada face
-    verteq = {vert : vertloc.get(absco(co),vertloc[co]) for co,vert in vertloc.items() if co[0] <= 0}    
+    verteq = {vert : vertloc.get(absco(co),vertloc[co]) for co,vert in vertloc.items() if co[0] <= 0}  
+    verteqind = {vert.index : vertloc.get(absco(co),vertloc[co]).index for co,vert in vertloc.items() if co[0] <= 0}     
     polyeq = {face : faceloc.get(absco(center),faceloc[center]) for center,face in faceloc.items() if center[0] <= 0}  
 
     # loops in faces
     lif = {poly : [i for i in poly.loop_indices] for poly in ob.data.polygons}
 
     # acomoda
+    vertexeq = {}
     for l, r in polyeq.items():
-        for llif,rlif in zip(lif[l],lif[r]):
-            ob.data.uv_layers.active.data[rlif].uv = ob.data.uv_layers.active.data[llif].uv
+        if l.select:
+            for lloop in lif[l]:
+                for rloop in lif[r]:
+                    #lloop,verteq[vertexvert[lloop]],rloop,vertexvert[rloop]
+                    if verteqind[vertexvert[lloop]] == vertexvert[rloop]:
+                        ob.data.uv_layers.active.data[lloop].uv = ob.data.uv_layers.active.data[rloop].uv
 
     bpy.ops.object.mode_set(mode=mode, toggle=False) 
    
@@ -414,3 +424,6 @@ class ModalIndexOperator(bpy.types.Operator):
 
 
 
+
+
+



More information about the Bf-extensions-cvs mailing list