- v=f.verts[i]
- if v.index not in vert_map:
- vt=Vertex(v)
- vt.index=len(self.verts)
- self.verts.append(vt)
-
- vert_map[v.index]=vt
- vt.no=Blender.Mathutils.Vector(f.no)
- else:
- vt=vert_map[v.index]
- vt.no+=f.no
- f.verts[i]=vt
+ f.verts[i]=self.verts[f.verts[i].index]
+ f.verts[i].faces.append(f)
+
+ self.edges=dict([(e.key, Edge(e)) for e in m.edges])
+ for f in self.faces:
+ for k in f.edge_keys:
+ e=self.edges[k]
+ e.faces.append(self.faces[f.index])
+ f.edges.append(e)
+
+ self.lines=[Line(e) for e in self.edges.itervalues() if not e.faces]
+
+ smooth_limit=math.cos(m.degr*math.pi/180)
+ for e in self.edges.itervalues():
+ e.v1=self.verts[e.v1.index]
+ e.v2=self.verts[e.v2.index]
+ e.check_smooth(smooth_limit)
+
+ def __getattr__(self, attr):
+ return getattr(self._mesh, attr)