def new_node(self, node): mindist = 99999999 for pname in node.adjacents: p = self.search_node(pname) aux = p.home_distance+utils.mm_between(p.point, node.point) if aux < mindist: mindist = aux node.home_distance = mindist self.nodes.append(node)
def calculate_home_distance(self, nodename, checked): node = self.search_node(nodename) checked.append(node.name) try: if node.name == "h": node.home_distance = 0 else: e = node.adjacents.index("h") node.home_distance = utils.mm_between(node.point, utils.home_position) except ValueError: mindist = 99999999 for pname in node.adjacents: p = self.search_node(pname) if p.home_distance != 0: aux = p.home_distance+utils.mm_between(p.point, node.point) if aux < mindist: mindist = aux node.home_distance = mindist for n in node.adjacents: try: e = checked.index(n) except ValueError: self.calculate_home_distance(n, checked)