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 ExplicitShape1 Union(ExplicitShape1 shape) { var newRect = GridInterval.UnionBoundingBox(storageBounds, shape.storageBounds); var newShape = ImplicitShape.Union(implicitShape, shape.implicitShape); return(new ExplicitShape1(newShape, newRect)); }