/// <summary> /// Union a pair of geometries, /// using the more performant overlap union algorithm if possible. /// </summary> /// <param name="g0">A geometry to union</param> /// <param name="g1">A geometry to union</param> /// <param name="unionFun">Function to union two geometries</param> /// <returns>The union of the inputs</returns> public static Geometry Union(Geometry g0, Geometry g1, UnionStrategy unionFun) { var union = new OverlapUnion(g0, g1, unionFun); return(union.Union()); }
/// <summary> /// Union a pair of geometries, /// using the more performant overlap union algorithm if possible. /// </summary> /// <param name="g0">A geometry to union</param> /// <param name="g1">A geometry to union</param> /// <returns>The union of the inputs</returns> public static Geometry Union(Geometry g0, Geometry g1) { var union = new OverlapUnion(g0, g1); return(union.Union()); }
/// <summary> /// Encapsulates the actual unioning of two polygonal geometries. /// </summary> /// <param name="g0">A geometry to union</param> /// <param name="g1">A geometry to union</param> /// <returns>The union of the inputs</returns> private static Geometry UnionActual(Geometry g0, Geometry g1) { var union = OverlapUnion.Union(g0, g1);; return(RestrictToPolygons(union)); }