bool Circle::hit(const Segment& s, float t) const { Vec2 np = s.nearest(vCenter).first; return np.dist_sq(vCenter) <= spn::Square(fRadius + t); }