public bool contains(Point <T> pt) { var br = bottomRight; return(!GenericArithmetic <T> .lt(pt.x, x) && !GenericArithmetic <T> .lt(pt.y, y) && !GenericArithmetic <T> .gt(pt.x, br.x) && !GenericArithmetic <T> .gt(pt.y, br.y)); }
public static Rect <T> operator |(Rect <T> a, Rect <T> b) { var abr = a.bottomRight; var bbr = b.bottomRight; T x = GenericArithmetic <T> .lt(a.x, b.x) ? a.x : b.x; T y = GenericArithmetic <T> .lt(a.y, b.y) ? a.y : b.y; T w = GenericArithmetic <T> .substract( GenericArithmetic <T> .gt(abr.x, bbr.x)?abr.x : bbr.x, x); T h = GenericArithmetic <T> .substract( GenericArithmetic <T> .gt(abr.y, bbr.y)?abr.y : bbr.y, y); return(new Rect <T>(x, y, w, h)); }