예제 #1
0
파일: map.py 프로젝트: nihakue/pykhepera
 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)
예제 #2
0
파일: map.py 프로젝트: nihakue/pykhepera
 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)