// check if this sphere is touching with rhs bool is_touching_with(const Sphere& rhs) const { return geo.eql(distance(rhs), r + rhs.r) || ((*this).is_inside_of(rhs) && geo.eql(distance(rhs) + r, rhs.r)) || (rhs.is_inside_of((*this)) && geo.eql(distance(rhs) + rhs.r, r)); }