[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