[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28328] trunk/blender/release/scripts: fix for divide by zero on vertex dirt script, show from the vertex paint menu
Campbell Barton
ideasman42 at gmail.com
Wed Apr 21 18:22:37 CEST 2010
Revision: 28328
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28328
Author: campbellbarton
Date: 2010-04-21 18:22:37 +0200 (Wed, 21 Apr 2010)
Log Message:
-----------
fix for divide by zero on vertex dirt script, show from the vertex paint menu
Modified Paths:
--------------
trunk/blender/release/scripts/op/vertexpaint_dirt.py
trunk/blender/release/scripts/ui/space_view3d.py
Modified: trunk/blender/release/scripts/op/vertexpaint_dirt.py
===================================================================
--- trunk/blender/release/scripts/op/vertexpaint_dirt.py 2010-04-21 14:53:01 UTC (rev 28327)
+++ trunk/blender/release/scripts/op/vertexpaint_dirt.py 2010-04-21 16:22:37 UTC (rev 28328)
@@ -58,17 +58,22 @@
con[e.verts[0]].append(e.verts[1])
con[e.verts[1]].append(e.verts[0])
- for v in me.verts:
+ for i, v in enumerate(me.verts):
vec = Vector()
no = v.normal
co = v.co
# get the direction of the vectors between the vertex and it's connected vertices
- for c in con[v.index]:
+ for c in con[i]:
vec += Vector(me.verts[c].co - co).normalize()
# normalize the vector by dividing by the number of connected verts
- vec /= len(con[v.index])
+ tot_con = len(con[i])
+
+ if tot_con == 0:
+ continue
+
+ vec /= tot_con
# angle is the acos of the dot product between vert and connected verts normals
ang = math.acos(no.dot(vec))
@@ -79,7 +84,7 @@
if not dirt_only:
ang = min(clamp_clean, ang)
- vert_tone[v.index] = ang
+ vert_tone[i] = ang
# blur tones
for i in range(blur_iterations):
@@ -146,7 +151,7 @@
class VertexPaintDirt(bpy.types.Operator):
- bl_idname = "mesh.vertex_paint_dirt"
+ bl_idname = "paint.vertex_color_dirt"
bl_label = "Dirty Vertex Colors"
bl_options = {'REGISTER', 'UNDO'}
@@ -171,7 +176,7 @@
print('Dirt calculated in %.6f' % (time.time() - t))
- return('FINISHED',)
+ return {'FINISHED'}
def register():
Modified: trunk/blender/release/scripts/ui/space_view3d.py
===================================================================
--- trunk/blender/release/scripts/ui/space_view3d.py 2010-04-21 14:53:01 UTC (rev 28327)
+++ trunk/blender/release/scripts/ui/space_view3d.py 2010-04-21 16:22:37 UTC (rev 28328)
@@ -850,6 +850,7 @@
layout = self.layout
layout.operator("paint.vertex_color_set")
+ layout.operator("paint.vertex_color_dirt")
class VIEW3D_MT_hook(bpy.types.Menu):
More information about the Bf-blender-cvs
mailing list