/// <summary> /// 自动提取TCoord的最大小X、Y值生成一个Box。 /// </summary> /// <param name="xy1">第一个坐标</param> /// <param name="xy2">第二个坐标</param> public Box(INumeralIndexing xy1, INumeralIndexing xy2) { double minX = Math.Min(xy1[0], xy2[0]); double minY = Math.Min(xy1[1], xy2[1]); double maxX = Math.Max(xy1[0], xy2[0]); double maxY = Math.Max(xy2[1], xy1[1]); InitParams(minX, minY, maxX, maxY); }
//public static INumeralIndexing GetIntersectionPtOfTwoLineSegment( // TwoDLineSegment<INumeralIndexing> line1, // TwoDLineSegment<INumeralIndexing> line2) //{ // return GetIntersectionPtOfTwoLineSegment(line1.CoordA, line1.CoordB, line2.CoordA, line2.CoordB); //} public static INumeralIndexing GetIntersectionPtOfTwoLineSegment( INumeralIndexing lineAxy1, INumeralIndexing lineAxy2, INumeralIndexing lineBxy1, INumeralIndexing lineBxy2) { return(GetIntersectionPtOfTwoLineSegment( new XY(lineAxy1[0], lineAxy1[1]), new XY(lineAxy2[0], lineAxy2[1]), new XY(lineBxy1[0], lineBxy1[1]), new XY(lineBxy2[0], lineBxy2[1]))); }