当前位置: 首页>>代码示例>>Python>>正文


Python Edge.neighbor方法代码示例

本文整理汇总了Python中edge.Edge.neighbor方法的典型用法代码示例。如果您正苦于以下问题:Python Edge.neighbor方法的具体用法?Python Edge.neighbor怎么用?Python Edge.neighbor使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在edge.Edge的用法示例。


在下文中一共展示了Edge.neighbor方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: insertParabola

# 需要导入模块: from edge import Edge [as 别名]
# 或者: from edge.Edge import neighbor [as 别名]
    def insertParabola(self, p):
        if not p:
            raise Exception("p is None")
            exit(-1)
        if not self.root:
            self.root = parabola.Parabola(p.copy())
            self.fp = p.copy()
            return
        if self.root.isLeaf and self.root.site.y - p.y < 0.01:
            self.root.isLeaf = False
            self.root.setLeft(parabola.Parabola(self.fp.copy()))
            self.root.setRight(parabola.Parabola(p.copy()))
            s = Point((p.x + self.fp.x) / 2.0, self.height)
            if p.x > self.fp.x:
                self.root.edge = Edge(s, self.fp.copy(), p.copy())
            else:
                self.root.edge = Edge(s, p, self.fp.copy())
            return
        par = self.getParabolaByX(p.x)
        if par.event:
            self.queue.remove(par.event)
            par.event = None
        start = Point(p.x, self.getY(par.site, p.x))

        e1 = Edge(start, par.site, p)
        er = Edge(start, p, par.site)

        e1.neighbor = er
        self.edges.append(e1)

        par.edge  = er
        par.isLeaf = False

        p0 = parabola.Parabola(par.site.copy())
        p1 = parabola.Parabola(p.copy())
        p2 = parabola.Parabola(par.site.copy())

        par.setRight(p2)
        par.setLeft(parabola.Parabola(None))
        par.left.edge = e1

        par.left.setLeft(p0)
        par.left.setRight(p1)
        print "checking circles"
        self.checkCircle(p0)
        self.checkCircle(p2)
开发者ID:shipoopi,项目名称:Python-Voronoi-Map,代码行数:48,代码来源:voronoi.py


注:本文中的edge.Edge.neighbor方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。