| 105 | } |
| 106 | |
| 107 | dbox dintersect(box a, box b) |
| 108 | { |
| 109 | float w = overlap(a.x, a.w, b.x, b.w); |
| 110 | float h = overlap(a.y, a.h, b.y, b.h); |
| 111 | dbox dover = derivative(a, b); |
| 112 | dbox di; |
| 113 | |
| 114 | di.dw = dover.dw*h; |
| 115 | di.dx = dover.dx*h; |
| 116 | di.dh = dover.dh*w; |
| 117 | di.dy = dover.dy*w; |
| 118 | |
| 119 | return di; |
| 120 | } |
| 121 | |
| 122 | dbox dunion(box a, box b) |
| 123 | { |