Заполнение заливки с помощью пользовательских критериев остановки графического инструмента - PullRequest
0 голосов
/ 09 апреля 2020

Я только начал работать с графическим инструментом и пытаюсь реализовать алгоритм заливки, чтобы выбрать все связанные точки с определенным значением. Но я бы хотел, чтобы был допуск, чтобы, если есть 2 области, скажем, синего цвета, и эти области находятся в пределах, скажем, 3 ребер друг от друга, будут выбраны все узлы. Я не уверен, с чего начать, хотя я даже не знаю, есть ли способ указать критерии остановки для поиска. Вот свободный старт

    import graph-tool as gt

    class VisitorExample(gt.BFSVisitor):

        def __init__(self, color):
            self.color = color

        def discover_vertex(self, u):
            if (self.color[u] == "blue"):
               add_to_fill_list(u)

        def tree_edge(self, e):
            #dont think this is right but trying to keep track of the very edge of our selection
               add_to_edge_list(u)
    #assuming g.vertex(0) is blue
    gt.bfs_search(g, g.vertex(0), VisitorExample(color))
...