[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2562] trunk/py/scripts/addons/ mesh_looptools.py: Fix for divide-by-zero errors.
Bart Crouch
bartius.crouch at gmail.com
Tue Nov 1 19:52:14 CET 2011
Revision: 2562
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2562
Author: crouch
Date: 2011-11-01 18:52:14 +0000 (Tue, 01 Nov 2011)
Log Message:
-----------
Fix for divide-by-zero errors.
Modified Paths:
--------------
trunk/py/scripts/addons/mesh_looptools.py
Modified: trunk/py/scripts/addons/mesh_looptools.py
===================================================================
--- trunk/py/scripts/addons/mesh_looptools.py 2011-11-01 17:01:28 UTC (rev 2561)
+++ trunk/py/scripts/addons/mesh_looptools.py 2011-11-01 18:52:14 UTC (rev 2562)
@@ -19,9 +19,9 @@
bl_info = {
'name': "LoopTools",
'author': "Bart Crouch",
- 'version': (3, 2, 0),
- 'blender': (2, 5, 7),
- 'api': 35979,
+ 'version': (3, 2, 1),
+ 'blender': (2, 6, 0),
+ 'api': 41270,
'location': "View3D > Toolbar and View3D > Specials (W-key)",
'warning': "",
'description': "Mesh modelling toolkit. Several tools to aid modelling",
@@ -249,9 +249,13 @@
vec = mathutils.Vector((1.0, 1.0, 1.0))
vec2 = (mat * vec)/(mat * vec).length
while vec != vec2 and iter<itermax:
- iter += 1
+ iter+=1
vec = vec2
- vec2 = (mat * vec)/(mat * vec).length
+ vec2 = mat * vec
+ if vec2.length != 0:
+ vec2 /= vec2.length
+ if vec2.length == 0:
+ vec2 = mathutils.Vector((1.0, 1.0, 1.0))
normal = vec2
elif method == 'normal':
@@ -936,7 +940,11 @@
while vec != vec2 and iter<itermax:
iter+=1
vec = vec2
- vec2 = (mat * vec)/(mat * vec).length
+ vec2 = mat * vec
+ if vec2.length != 0:
+ vec2 /= vec2.length
+ if vec2.length == 0:
+ vec2 = mathutils.Vector((1.0, 1.0, 1.0))
normal = vec2
normals.append(normal)
# have plane normals face in the same direction (maximum angle: 90 degrees)
More information about the Bf-extensions-cvs
mailing list