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