private List <Polygon> SubtractPolygon(Polygon start, Polygon toRemove) { var tree = new BSPTree(start); tree.Subtract(toRemove); return(tree.GetFrontLeaves()); }