public static float IntersectConvexConvex(IEnumerable<Point2f> p1, IEnumerable<Point2f> p2,
out Point2f[] p12, bool handleNested = true)
{
if (p1 == null)
throw new ArgumentNullException(nameof(p1));
if (p2 == null)
throw new ArgumentNullException(nameof(p2));
Point2f[] p1Array = EnumerableEx.ToArray(p1);
Point2f[] p2Array = EnumerableEx.ToArray(p2);
IntPtr p12Ptr;
float ret = NativeMethods.imgproc_intersectConvexConvex_Point2f(p1Array, p1Array.Length, p2Array, p2Array.Length,
out p12Ptr, handleNested ? 1 : 0);
using (var p12Vec = new VectorOfPoint2f(p12Ptr))
{
p12 = p12Vec.ToArray();
}
return ret;
}
#endregion