[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14844] trunk/blender/release/scripts/ flt_export.py: -> FLT Export bugfix
Geoffrey Bantle
hairbat at yahoo.com
Wed May 14 21:29:33 CEST 2008
Revision: 14844
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14844
Author: briggs
Date: 2008-05-14 21:29:33 +0200 (Wed, 14 May 2008)
Log Message:
-----------
-> FLT Export bugfix
Export of open faces on export was dropping
the last vertex. Also removed recursion from
function in order to make it safe for large polygons.
Modified Paths:
--------------
trunk/blender/release/scripts/flt_export.py
Modified: trunk/blender/release/scripts/flt_export.py
===================================================================
--- trunk/blender/release/scripts/flt_export.py 2008-05-14 18:25:23 UTC (rev 14843)
+++ trunk/blender/release/scripts/flt_export.py 2008-05-14 19:29:33 UTC (rev 14844)
@@ -639,20 +639,37 @@
#first pass: do open faces
for vert in wireverts:
if not visited[vert] and vertuse[vert.index][1] == 1:
- visited[vert] = True
- loop = [vert]
- othervert = edge_get_othervert(vert, disk[vert][0])
- self.vertwalk(othervert, loop, disk, visited)
+ loop = list()
+ done = 0
+ startvert = vert
+ while not done:
+ done = 1
+ visited[startvert] = True
+ loop.append(startvert)
+ for edge in disk[startvert]:
+ othervert = edge_get_othervert(startvert, edge)
+ if not visited[othervert]:
+ done = 0
+ startvert = othervert
+ break
if len(loop) > 2: loops.append( ('Open', loop) )
-
for vert in wireverts:
if not visited[vert]:
- visited[vert] = True
- loop = [vert]
- othervert = edge_get_othervert(vert,disk[vert][0])
- self.vertwalk(othervert, loop, disk, visited)
+ loop = list()
+ done = 0
+ startvert = vert
+ while not done:
+ done = 1
+ visited[startvert] = True
+ loop.append(startvert)
+ for edge in disk[startvert]:
+ othervert = edge_get_othervert(startvert,edge)
+ if not visited[othervert]:
+ done = 0
+ startvert = othervert
+ break
if len(loop) > 2: loops.append( ('closed', loop) )
-
+
#now go through the loops and append.
for l in loops:
(ftype, loop) = l
@@ -666,6 +683,8 @@
face_desc.color_index = 227
self.face_lst.append(face_desc)
+
+
def sortFLTFaces(self,a,b):
aindex = a.getProperty("FLT_ORIGINDEX")
bindex = b.getProperty("FLT_ORIGINDEX")
More information about the Bf-blender-cvs
mailing list