def test_obstacle_collision(config, spec, obstacles): for i in range(len(config.lengths)): p = config.points[i] q = config.points[i + 1] for o in obstacles: if not test_bounding_box(p, q, (o.x1, o.y1), (o.x2, o.y2)): continue for e in o.edges: if test_line_collision((p, q), e): return False return True
def test_obstacle_collision(config, spec, obstacles): # return true for pass, false for fail for i in range(spec.num_segments): p = config.points[i] q = config.points[i + 1] for o in obstacles: # bounding box check if not test_bounding_box(p, q, (o.x1, o.y1), (o.x2, o.y2)): continue # full edge check for e in o.edges: if test_line_collision((p, q), e): # collision between robot segment and obstacle edge return False return True