Beispiel #1
0
 def distance_to(self, rep):
     geo = rep.get_geometry()
     if isinstance(geo, BoundingBox):
         return poly_to_vec_distance(geo.to_polygon(), self.location)
     elif isinstance(geo, Polygon):
         return poly_to_vec_distance(geo, self.location)
     else:
         return geo.distance_to(self.location)
Beispiel #2
0
 def distance_to(self, rep):
     geo = rep.get_geometry()
     if isinstance(geo,Vec2):
         return self.circ.distance_to(geo)
     elif isinstance(geo,LineSegment):
         distance = geo.distance_to(self.circ.center) - self.circ.radius
     elif isinstance(geo,BoundingBox):
         distance = poly_to_vec_distance(geo.to_polygon(), self.circ.center) - self.circ.radius
     elif isinstance(geo,Polygon):
         distance = poly_to_vec_distance(geo, self.circ.center) - self.circ.radius
     elif isinstance(geo,Circle):
         self.circ.distance_to(geo.center) - geo.radius
     return distance if distance > 0 else 0
Beispiel #3
0
 def distance_to(self, rep):
     geo = rep.get_geometry()
     if isinstance(geo,Vec2):
         return poly_to_vec_distance(self.poly, geo)
     elif isinstance(geo,LineSegment):
         return poly_to_seg_distance(self.poly, geo)
     elif isinstance(geo,BoundingBox):
         return poly_to_poly_distance(self.poly, geo.to_polygon())
     elif isinstance(geo, Polygon):
         return poly_to_poly_distance(self.poly, geo)
Beispiel #4
0
 def distance_to_point(self, xy):
     return poly_to_vec_distance( self.poly, xy )
Beispiel #5
0
 def distance_to_point(self, xy):
     return poly_to_vec_distance( self.rect.to_polygon(), xy )