def radialrange(self, origin, return_all_global_extrema=False):
if return_all_global_extrema:<EOL><INDENT>raise NotImplementedError<EOL><DEDENT>else:<EOL><INDENT>global_min = (np.inf, None, None)<EOL>global_max = (<NUM_LIT:0>, None, None)<EOL>for seg_idx, seg in enumerate(self):<EOL><INDENT>seg_global_min, seg_global_max = seg.radialrange(origin)<EOL>if seg_global_min[<NUM_LIT:0>] < global_min[<NUM_LIT:0>]:<EOL><INDENT>global_min = seg_global_min + (seg_idx,)<EOL><DEDENT>if seg_global_max[<NUM_LIT:0>] > global_max[<NUM_LIT:0>]:<EOL><INDENT>global_max = seg_global_max + (seg_idx,)<EOL><DEDENT><DEDENT>return global_min, global_max<EOL><DEDENT>
returns the tuples (d_min, t_min, idx_min), (d_max, t_max, idx_max)
        which minimize and maximize, respectively, the distance
        d = |self[idx].point(t)-origin|.