def findshortestpath(self, obj0SRotmat4, obj1SRotmat4):
self.__addEnds(obj0SRotmat4, obj1SRotmat4)
# startrgt goalrgt
if len(self.regghalf[0].endnodeids) > 0 and len(self.regghalf[1].endnodeids) > 0:
startgrip = self.regghalf[0].endnodeids[0]
goalgrip = self.regghalf[1].endnodeids[0]
shortestpaths = nx.all_shortest_paths(self.regg, source = startgrip, target = goalgrip)
self.directshortestpaths = []
print shortestpaths
for path in shortestpaths:
for i, pathnode in enumerate(path):
if pathnode.startswith('endrgt') and i < len(path)-1:
continue
else:
self.directshortestpaths.append(path[i-1:])
break
for i, pathnode in enumerate(self.directshortestpaths[-1]):
if i > 0 and pathnode.startswith('endlft'):
self.directshortestpaths[-1]=self.directshortestpaths[-1][:i+1]
break
评论列表
文章目录