From f823e6c4b5b7f6c1685c8e6e44b238e4227a0a70 Mon Sep 17 00:00:00 2001
From: Campbell Barton <ideasman42@gmail.com>
Date: Tue, 31 Aug 2010 14:16:04 +0000
Subject: [PATCH] vertex group update

---
 add_mesh_gears.py      | 15 +++++----------
 io_import_scene_mhx.py |  4 +---
 2 files changed, 6 insertions(+), 13 deletions(-)

diff --git a/add_mesh_gears.py b/add_mesh_gears.py
index c37ec80af..eeb763b0a 100644
--- a/add_mesh_gears.py
+++ b/add_mesh_gears.py
@@ -44,8 +44,7 @@ Also, the vertex group API is changed a little bit but the concepts
 are the same:
 =========
 vertexgroup = ob.vertex_groups.new('NAME_OF_VERTEXGROUP')
-for i in vertexgroup_vertex_indices:
-    ob.vertex_groups.assign_vertex(i, vertexgroup, weight, 'ADD')
+ob.vertex_groups.assign(vertexgroup_vertex_indices, vertexgroup, weight, 'ADD')
 =========
 
 Now for some reason the name does not 'stick' and we have to set it this way:
@@ -788,12 +787,10 @@ class AddGear(bpy.types.Operator):
 
         # Create vertex groups from stored vertices.
         tipGroup = obj.vertex_groups.new('Tips')
-        for vert in verts_tip:
-            obj.vertex_groups.assign(vert, tipGroup, 1.0, 'ADD')
+        obj.vertex_groups.assign(verts_tip, tipGroup, 1.0, 'ADD')
 
         valleyGroup = obj.vertex_groups.new('Valleys')
-        for vert in verts_valley:
-            obj.vertex_groups.assign(vert, valleyGroup, 1.0, 'ADD')
+        obj.vertex_groups.assign(verts_valley, valleyGroup, 1.0, 'ADD')
 
         return {'FINISHED'}
 
@@ -896,12 +893,10 @@ class AddWormGear(bpy.types.Operator):
 
         # Create vertex groups from stored vertices.
         tipGroup = obj.vertex_groups.new('Tips')
-        for vert in verts_tip:
-            obj.vertex_groups.assign(vert, tipGroup, 1.0, 'ADD')
+        obj.vertex_groups.assign(verts_tip, tipGroup, 1.0, 'ADD')
 
         valleyGroup = obj.vertex_groups.new('Valleys')
-        for vert in verts_valley:
-            obj.vertex_groups.assign(vert, valleyGroup, 1.0, 'ADD')
+        obj.vertex_groups.assign(verts_valley, valleyGroup, 1.0, 'ADD')
 
         return {'FINISHED'}
 
diff --git a/io_import_scene_mhx.py b/io_import_scene_mhx.py
index 00df0c8e5..9f375a183 100644
--- a/io_import_scene_mhx.py
+++ b/io_import_scene_mhx.py
@@ -1266,9 +1266,7 @@ def parseVertexGroup(ob, me, args, tokens):
         group = ob.vertex_groups.new(grpName)
         group.name = grpName
         loadedData['VertexGroup'][grpName] = group
-        for (key, val, sub) in tokens:
-            if key == 'wv':
-                ob.vertex_groups.assign(int(val[0]), group, float(val[1]), 'REPLACE')
+        ob.vertex_groups.assign([int(val[0]) for (key, val, sub) in tokens if key == 'wv'], group, float(val[1]), 'REPLACE')
     return
 
 
-- 
GitLab