def next(self): frame_info, posicions = self.frames.next() walls = posicions[self.sys_info.phys_size:] ywalls = [y for x,y in walls] ymax, ymin = max(ywalls), min(ywalls) toTriangulate = [(x,y) for x,y in posicions if ymin < y < ymax] trian = Triangulation(toTriangulate) dislos = trian.dislocations() dislos = [dislocate(f,s) for f,s in dislos if f not in walls and s not in walls] return frame_info, dislos, toTriangulate[:self.sys_info.phys_size], \ walls