f64/d2/rect.go
func (r Rectangle) Intersect(s Rectangle) Rectangle {
	if r.Min.X < s.Min.X {
		r.Min.X = s.Min.X
	}
	if r.Min.Y < s.Min.Y {
		r.Min.Y = s.Min.Y
	}
	if r.Max.X > s.Max.X {
		r.Max.X = s.Max.X
	}
	if r.Max.Y > s.Max.Y {
		r.Max.Y = s.Max.Y
	}
	if r.Min.X > r.Max.X || r.Min.Y > r.Max.Y {
		return ZR
	}
	return r
}
func (r Rectangle) Intersect(s Rectangle) Rectangle {
	if r.Min.X < s.Min.X {
		r.Min.X = s.Min.X
	}
	if r.Min.Y < s.Min.Y {
		r.Min.Y = s.Min.Y
	}
	if r.Max.X > s.Max.X {
		r.Max.X = s.Max.X
	}
	if r.Max.Y > s.Max.Y {
		r.Max.Y = s.Max.Y
	}
	if r.Min.X > r.Max.X || r.Min.Y > r.Max.Y {
		return ZR
	}
	return r
}
func ( r Rectangle ) Intersect ( s Rectangle ) Rectangle { if r . Min . X < s . Min . X { r . Min . X = s . Min . X } if r . Min . Y < s . Min . Y { r . Min . Y = s . Min . Y } if r . Max . X > s . Max . X { r . Max . X = s . Max . X } if r . Max . Y > s . Max . Y { r . Max . Y = s . Max . Y } if r . Min . X > r . Max . X || r . Min . Y > r . Max . Y { return ZR } return r }
// Intersect returns the largest rectangle contained by both r and s. If the
// two rectangles do not overlap then the zero rectangle will be returned.
Intersect returns the largest rectangle contained by both r and s . If the two rectangles do not overlap then the zero rectangle will be returned .