Cocoa Programming Tips 1001
Foundation
Geometry関数
Foundation - Geometry関数
NSRectのANDやORをとる
Keywords: NSIntersectionRect, NSUnionRect
ある2つのNSRectがあったとしよう。それらのANDやOR、つまり論理積や論理和ってものが定義できるはずだ。論理積の方はNSRectが重なり合っている領域、論理和の方は2つのNSRect両方を覆い尽くすNSRect、ということになる。図で示すと、こんな感じだ。

Cocoaにはこれを取り出す関数が用意されている。NSIntersectionRect()とNSUnionRect()だ。
Foundation/NSGeometry.h
FOUNDATION_EXPORT NSRect NSIntersectionRect(
NSRect aRect, NSRect bRect);
FOUNDATION_EXPORT NSRect NSUnionRect(
NSRect aRect, NSRect bRect);
NSIntersectionRect()がANDを、NSUnionRect()がORを適用したNSRectを返してくれるんだ。