public ExplicitShape1 Intersection(ExplicitShape1 shape) { var newRect = GridInterval.Intersection(storageBounds, shape.storageBounds); var newShape = ImplicitShape.Intersection(implicitShape, shape.implicitShape); return(new ExplicitShape1(newShape, newRect)); }
public ExplicitShape3 Intersection(ExplicitShape3 shape2) { var newRect = GridBounds.Intersection(storageBounds, shape2.storageBounds); var newShape = ImplicitShape.Intersection(implicitShape, shape2.implicitShape); return(new ExplicitShape3(newShape, newRect)); }