+ other=e.other_face(cur)
+ if other and not other.smooth_group:
+ other.smooth_group=sg
+ sg.faces.append(other)
+ queue.append(other)
+
+ def create_strip(self, face):
+ edge=None
+ for e in face.edges:
+ other=e.other_face(face)
+ if other and other.smooth_group.index==face.smooth_group.index and not other.flag:
+ edge=e
+ break
+
+ if not edge:
+ return None
+
+ v1=face.get_following_vertex(edge.v1, edge.v2)
+ v2=face.get_following_vertex(v1)
+ if len(face.verts)==4:
+ result=[v2, v1]
+ else:
+ result=[v1, v2]
+
+ print edge.key
+ print [v.index for v in result]
+
+ while 1:
+ face.flag=True
+ print "face =",[v.index for v in face.verts]
+ print [e.key for e in face.edges]
+ for i in range(2, len(face.verts)):
+ v=face.get_following_vertex(result[-2], result[-1])
+ print v.index
+ result.append(v)
+ print [v.index for v in result]
+
+ i1=result[-2].index
+ i2=result[-1].index
+ ekey=(min(i1, i2), max(i1, i2))
+ for e in face.edges:
+ if e.key==ekey:
+ edge=e
+ break
+
+ next=edge.other_face(face)
+ if next.smooth_group.index!=face.smooth_group.index or next.flag:
+ break
+ face=next
+
+ return result