internal static unsafe bool PolygonTouchesPolygon(double *points1, int points1Count, double *points2, int points2Count) { if (IsWin32Process()) { return(NativeGeomUtilWin32.PolygonTouchesPolygon(points1, points1Count, points2, points2Count) != 0); } return(NativeGeomUtilX64.PolygonTouchesPolygon(points1, points1Count, points2, points2Count) != 0); }
internal static unsafe bool RectWithinPolygon(double rMinX, double rMinY, double rMaxX, double rMaxY, void *points, int pointCount) { if (IsWin32Process()) { return(NativeGeomUtilWin32.RectWithinPolygon(rMinX, rMinY, rMaxX, rMaxY, points, pointCount) != 0); } return(NativeGeomUtilX64.RectWithinPolygon(rMinX, rMinY, rMaxX, rMaxY, points, pointCount) != 0); }
internal static unsafe bool PolyLinePolygonIntersect(double *polyLinePoints, int polyLinePointsCount, double *polygonPoints, int polygonPointsCount) { if (IsWin32Process()) { return(NativeGeomUtilWin32.PolyLinePolygonIntersect(polyLinePoints, polyLinePointsCount, polygonPoints, polygonPointsCount) != 0); } return(NativeGeomUtilX64.PolyLinePolygonIntersect(polyLinePoints, polyLinePointsCount, polygonPoints, polygonPointsCount) != 0); }
internal static unsafe bool PolygonRectIntersect(void *points, int pointCount, double rMinX, double rMinY, double rMaxX, double rMaxY) { if (IsWin32Process()) { return(NativeGeomUtilWin32.PolygonRectIntersect(points, pointCount, rMinX, rMinY, rMaxX, rMaxY) != 0); } return(NativeGeomUtilX64.PolygonRectIntersect(points, pointCount, rMinX, rMinY, rMaxX, rMaxY) != 0); }
internal static unsafe int SimplifyDouglasPeuckerDbl(double *input, int inputCount, double tolerance, double *output, ref int outputCount) { if (IsWin32Process()) { return(NativeGeomUtilWin32.SimplifyDouglasPeuckerDbl(input, inputCount, tolerance, output, ref outputCount)); } return(NativeGeomUtilX64.SimplifyDouglasPeuckerDbl(input, inputCount, tolerance, output, ref outputCount)); }
internal static unsafe bool PolyLineRectIntersect(void *points, int pointCount, double rMinX, double rMinY, double rMaxX, double rMaxY) { if (IsWin32Process()) { int c = NativeGeomUtilWin32.PolyLineRectIntersect(points, pointCount, rMinX, rMinY, rMaxX, rMaxY); //Console.Out.WriteLine("c = " + c); return(c != 0); } return(NativeGeomUtilX64.PolyLineRectIntersect(points, pointCount, rMinX, rMinY, rMaxX, rMaxY) != 0); }