Example #1
0
 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);
 }
Example #2
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);
 }
Example #3
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);
 }
Example #4
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);
 }
Example #5
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));
 }
Example #6
0
 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);
 }