Revision: 38041
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38041
Author:   kjym3
Date:     2011-07-02 16:27:52 +0000 (Sat, 02 Jul 2011)
Log Message:
-----------
Fixed cap shaders that failed with zero length strokes.

Modified Paths:
--------------
    
branches/soc-2008-mxcurioni/release/scripts/freestyle/style_modules/parameter_editor.py

Modified: 
branches/soc-2008-mxcurioni/release/scripts/freestyle/style_modules/parameter_editor.py
===================================================================
--- 
branches/soc-2008-mxcurioni/release/scripts/freestyle/style_modules/parameter_editor.py
     2011-07-02 16:07:35 UTC (rev 38040)
+++ 
branches/soc-2008-mxcurioni/release/scripts/freestyle/style_modules/parameter_editor.py
     2011-07-02 16:27:52 UTC (rev 38041)
@@ -333,8 +333,13 @@
 
 def iter_stroke_vertices(stroke):
     it = stroke.strokeVerticesBegin()
+    prev_p = None
     while not it.isEnd():
-        yield it.getObject()
+        sv = it.getObject()
+        p = sv.getPoint()
+        if prev_p is None or (prev_p - p).length > 1e-6:
+            yield sv
+            prev_p = p
         it.increment()
 
 class RoundCapShader(StrokeShader):
@@ -346,6 +351,8 @@
         buffer = []
         for sv in iter_stroke_vertices(stroke):
             buffer.append((sv.getPoint(), sv.attribute()))
+        if len(buffer) < 2:
+            return
         # calculate the number of additional vertices to form caps
         R, L = stroke[0].attribute().getThicknessRL()
         caplen_beg = (R + L) / 2.0
@@ -394,6 +401,8 @@
         buffer = []
         for sv in iter_stroke_vertices(stroke):
             buffer.append((sv.getPoint(), sv.attribute()))
+        if len(buffer) < 2:
+            return
         # calculate the number of additional vertices to form caps
         R, L = stroke[0].attribute().getThicknessRL()
         caplen_beg = (R + L) / 2.0

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to