[Bf-extensions-cvs] [45dea24] master: [CopyPasteUV] optimizations. Now it works a bit faster.
mifth
noreply at git.blender.org
Sun Jul 27 13:22:55 CEST 2014
Commit: 45dea24fa97dd2c0d46cbdd4c5a2181c2708a943
Author: mifth
Date: Sun Jul 27 15:22:52 2014 +0400
Branches: master
https://developer.blender.org/rBAC45dea24fa97dd2c0d46cbdd4c5a2181c2708a943
[CopyPasteUV] optimizations. Now it works a bit faster.
===================================================================
M uv_copy_paste_uvs .py
===================================================================
diff --git a/uv_copy_paste_uvs .py b/uv_copy_paste_uvs .py
index f0ab041..b4283a0 100644
--- a/uv_copy_paste_uvs .py
+++ b/uv_copy_paste_uvs .py
@@ -36,7 +36,7 @@ bl_info = {
import bpy
-source_object = None
+#source_object = None
copy_buffer = ''
@@ -59,10 +59,10 @@ class CopyPasteUVs_Copy(bpy.types.Operator):
# print("------START------")
global copy_buffer
- global source_object
+ #global source_object
copy_buffer = []
- source_object = None
+ #source_object = None
obj = bpy.context.active_object
bpy.ops.object.mode_set(mode='OBJECT')
@@ -73,7 +73,7 @@ class CopyPasteUVs_Copy(bpy.types.Operator):
self.report({'WARNING'}, "Must have selected vertices to copy.")
else:
copy_buffer = vertex_indexes
- source_object = obj
+ #source_object = obj
bpy.ops.object.mode_set(mode='EDIT')
@@ -100,7 +100,7 @@ class CopyPasteUVs_Paste(bpy.types.Operator):
# print("------START------")
global copy_buffer
- global source_object
+ #global source_object
if len(copy_buffer) == 0:
print("Must have copied first!")
@@ -108,49 +108,49 @@ class CopyPasteUVs_Paste(bpy.types.Operator):
obj = bpy.context.active_object
bpy.ops.object.mode_set(mode='OBJECT')
- vertex_indexes = [i for i, v in enumerate(obj.data.vertices) if v.select]
+ selectedVertexIndexes = [i for i, v in enumerate(obj.data.vertices) if v.select]
- if len(vertex_indexes) == 0:
+ if len(selectedVertexIndexes) == 0:
self.report(
{'WARNING'},
"Must have vertices selected to paste.")
- elif len(vertex_indexes) != len(copy_buffer):
+ elif len(selectedVertexIndexes) != len(copy_buffer):
self.report(
{'WARNING'},
"Number of copied verts is not the same as number selected now.")
else:
+ source_loops = []
+ destination_loops = []
+
for i, source_index in enumerate(copy_buffer):
#source_index = copy_buffer[i]
- destination_index = vertex_indexes[i]
-
- source_loops = []
- destination_loops = []
+ destination_index = selectedVertexIndexes[i]
for loop_index, loop_obj in enumerate(obj.data.loops):
if obj.data.loops[loop_index].vertex_index == destination_index:
destination_loops.append(loop_index)
- for loop_index, loop_obj in enumerate(source_object.data.loops):
- if source_object.data.loops[loop_index].vertex_index == source_index:
+ if obj.data.loops[loop_index].vertex_index == source_index:
source_loops.append(loop_index)
- if len(source_loops) != len(destination_loops):
- self.report(
- {'WARNING'},
- "Error; source loops and destination loops do not "
- "match; geometry seems dissimilar")
- else:
-
- uvlayer_destination = obj.data.uv_layers.active
- uvlayer_source = source_object.data.uv_layers.active
-
- for j, source in enumerate(source_loops):
- #source = source_loops[j]
+ if len(source_loops) != len(destination_loops):
+ self.report(
+ {'WARNING'},
+ "Error; source loops and destination loops do not "
+ "match; geometry seems dissimilar")
+ else:
+ uvlayer_destination = obj.data.uv_layers.active
+ #uvlayer_source = source_object.data.uv_layers.active
+
+ for j, source in enumerate(source_loops):
+ source = source_loops[j]
dest = destination_loops[j]
+ #print("aa", dest, "aa", source, "ss", obj.data.loops[i])
+ uvlayer_destination.data[dest].uv = uvlayer_destination.data[source].uv
- uvlayer_destination.data[
- dest].uv = uvlayer_source.data[source].uv
+ source_loops = [] # Clear array
+ destination_loops = [] # Clear array
bpy.ops.object.mode_set(mode='EDIT')
More information about the Bf-extensions-cvs
mailing list