Procházet zdrojové kódy

交集算法修改

haojianlong před 4 roky
rodič
revize
a153d7e4da
1 změnil soubory, kde provedl 7 přidání a 6 odebrání
  1. 7 6
      saga-web-big/src/utils/SMathUtil.ts

+ 7 - 6
saga-web-big/src/utils/SMathUtil.ts

@@ -256,7 +256,7 @@ export class SMathUtil {
             // @ts-ignore
             poly2.regions.push(array[array.length - 1]);
             let indexArr: number[] = [array.length - 1];
-            for (let i = array.length - 2; i > 0; i--) {
+            for (let i = array.length - 2; i >= 0; i--) {
                 let poly1 = {
                     regions: [],
                     inverted: false
@@ -272,18 +272,19 @@ export class SMathUtil {
                     poly2.regions.push(array[i]);
                 }
             }
-            indexArr.unshift(0);
+            // indexArr.unshift(0);
             console.log(indexArr);
-            for (let i = 0; i < indexArr.length - 1; i++) {
+            for (let i = 0; i < indexArr.length; i++) {
+                // 从已有的数组中返回选定的元素
                 let axArr = array.slice(
-                    i == 0 ? 0 : indexArr[i] + 1,
-                    indexArr[i + 1]
+                    i == 0 ? 0 : indexArr[i - 1],
+                    indexArr[i]
                 );
                 let outline: Outline = {
                     Outer: [],
                     Inner: []
                 };
-                outline.Outer = array[indexArr[i + 1]].map(
+                outline.Outer = array[indexArr[i]].map(
                     (t): SPoint => {
                         return new SPoint(t[0], t[1]);
                     }