diff --git a/__test__/Polyline/__snapshots__/split.test.ts.snap b/__test__/Polyline/__snapshots__/split.test.ts.snap index d837a4ebf..d8c0a23b1 100644 --- a/__test__/Polyline/__snapshots__/split.test.ts.snap +++ b/__test__/Polyline/__snapshots__/split.test.ts.snap @@ -49,6 +49,41 @@ Array [ exports[`单刀 2`] = ` Array [ + Object { + "bul": 0.41421356237309503, + "pt": Vector2 { + "x": 7.5, + "y": 2.5, + }, + }, + Object { + "bul": -1, + "pt": Vector2 { + "x": 5, + "y": 5, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 5, + "y": 10, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 0, + "y": 10, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 0, + "y": 0, + }, + }, Object { "bul": 0, "pt": Vector2 { @@ -76,23 +111,23 @@ Array [ exports[`单刀 3`] = ` Array [ Object { - "bul": 0.41421356237309503, + "bul": -0.9999999999999999, "pt": Vector2 { - "x": 7.5, - "y": 2.5, + "x": 5, + "y": 5, }, }, Object { - "bul": -1, + "bul": 0, "pt": Vector2 { "x": 5, - "y": 5, + "y": 10, }, }, Object { "bul": 0, "pt": Vector2 { - "x": 5, + "x": 0, "y": 10, }, }, @@ -100,7 +135,7 @@ Array [ "bul": 0, "pt": Vector2 { "x": 0, - "y": 10, + "y": 0, }, }, Object { @@ -110,11 +145,53 @@ Array [ "y": 0, }, }, + Object { + "bul": 1, + "pt": Vector2 { + "x": 5, + "y": 0, + }, + }, + Object { + "bul": -1, + "pt": Vector2 { + "x": 5, + "y": 5, + }, + }, ] `; exports[`单刀 4`] = ` Array [ + Object { + "bul": -0.41421356237309503, + "pt": Vector2 { + "x": 2.5, + "y": 7.5, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 5, + "y": 10, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 0, + "y": 10, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 0, + "y": 0, + }, + }, Object { "bul": 0, "pt": Vector2 { @@ -130,28 +207,35 @@ Array [ }, }, Object { - "bul": -1, + "bul": -0.41421356237309503, "pt": Vector2 { "x": 5, "y": 5, }, }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 2.5, + "y": 7.5, + }, + }, ] `; exports[`单刀 5`] = ` Array [ Object { - "bul": -0.9999999999999999, + "bul": 0, "pt": Vector2 { "x": 5, - "y": 5, + "y": 10, }, }, Object { "bul": 0, "pt": Vector2 { - "x": 5, + "x": 0, "y": 10, }, }, @@ -159,7 +243,7 @@ Array [ "bul": 0, "pt": Vector2 { "x": 0, - "y": 10, + "y": 0, }, }, Object { @@ -169,6 +253,27 @@ Array [ "y": 0, }, }, + Object { + "bul": 1, + "pt": Vector2 { + "x": 5, + "y": 0, + }, + }, + Object { + "bul": -1, + "pt": Vector2 { + "x": 5, + "y": 5, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 5, + "y": 10, + }, + }, ] `; @@ -573,3 +678,733 @@ Array [ }, ] `; + +exports[`多切刀 1`] = ` +Array [ + Object { + "bul": 0, + "pt": Vector2 { + "x": 0, + "y": 0, + }, + }, + Object { + "bul": 1, + "pt": Vector2 { + "x": 5, + "y": 0, + }, + }, +] +`; + +exports[`多切刀 2`] = ` +Array [ + Object { + "bul": 0.15838444032453625, + "pt": Vector2 { + "x": 5, + "y": 0, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 6.4694631307311825, + "y": 0.4774575140626309, + }, + }, +] +`; + +exports[`多切刀 3`] = ` +Array [ + Object { + "bul": 0.24007875908011606, + "pt": Vector2 { + "x": 6.4694631307311825, + "y": 0.4774575140626309, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 7.5, + "y": 2.5, + }, + }, +] +`; + +exports[`多切刀 4`] = ` +Array [ + Object { + "bul": 0.24007875908011606, + "pt": Vector2 { + "x": 7.5, + "y": 2.5, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 6.469463130731183, + "y": 4.522542485937368, + }, + }, +] +`; + +exports[`多切刀 5`] = ` +Array [ + Object { + "bul": 0.15838444032453625, + "pt": Vector2 { + "x": 6.469463130731183, + "y": 4.522542485937368, + }, + }, + Object { + "bul": -1, + "pt": Vector2 { + "x": 5, + "y": 5, + }, + }, +] +`; + +exports[`多切刀 6`] = ` +Array [ + Object { + "bul": -0.15838444032453644, + "pt": Vector2 { + "x": 5, + "y": 5, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 3.530536869268815, + "y": 5.477457514062634, + }, + }, +] +`; + +exports[`多切刀 7`] = ` +Array [ + Object { + "bul": -0.2400787590801159, + "pt": Vector2 { + "x": 3.530536869268815, + "y": 5.477457514062634, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 2.5, + "y": 7.5, + }, + }, +] +`; + +exports[`多切刀 8`] = ` +Array [ + Object { + "bul": -0.2400787590801159, + "pt": Vector2 { + "x": 2.5, + "y": 7.5, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 3.5305368692688166, + "y": 9.522542485937368, + }, + }, +] +`; + +exports[`多切刀 9`] = ` +Array [ + Object { + "bul": -0.15838444032453644, + "pt": Vector2 { + "x": 3.5305368692688166, + "y": 9.522542485937368, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 5, + "y": 10, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 0, + "y": 10, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 0, + "y": 0, + }, + }, +] +`; + +exports[`多切刀 10`] = ` +Array [ + Object { + "bul": 0, + "pt": Vector2 { + "x": 0, + "y": 0, + }, + }, + Object { + "bul": 1, + "pt": Vector2 { + "x": 5, + "y": 0, + }, + }, +] +`; + +exports[`多切刀 11`] = ` +Array [ + Object { + "bul": 0.15838444032453625, + "pt": Vector2 { + "x": 5, + "y": 0, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 6.4694631307311825, + "y": 0.4774575140626309, + }, + }, +] +`; + +exports[`多切刀 12`] = ` +Array [ + Object { + "bul": 0.24007875908011606, + "pt": Vector2 { + "x": 6.4694631307311825, + "y": 0.4774575140626309, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 7.5, + "y": 2.5, + }, + }, +] +`; + +exports[`多切刀 13`] = ` +Array [ + Object { + "bul": 0.24007875908011606, + "pt": Vector2 { + "x": 7.5, + "y": 2.5, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 6.469463130731183, + "y": 4.522542485937368, + }, + }, +] +`; + +exports[`多切刀 14`] = ` +Array [ + Object { + "bul": 0.15838444032453625, + "pt": Vector2 { + "x": 6.469463130731183, + "y": 4.522542485937368, + }, + }, + Object { + "bul": -1, + "pt": Vector2 { + "x": 5, + "y": 5, + }, + }, +] +`; + +exports[`多切刀 15`] = ` +Array [ + Object { + "bul": -0.15838444032453644, + "pt": Vector2 { + "x": 5, + "y": 5, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 3.530536869268815, + "y": 5.477457514062634, + }, + }, +] +`; + +exports[`多切刀 16`] = ` +Array [ + Object { + "bul": -0.2400787590801159, + "pt": Vector2 { + "x": 3.530536869268815, + "y": 5.477457514062634, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 2.5, + "y": 7.5, + }, + }, +] +`; + +exports[`多切刀 17`] = ` +Array [ + Object { + "bul": -0.2400787590801159, + "pt": Vector2 { + "x": 2.5, + "y": 7.5, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 3.5305368692688166, + "y": 9.522542485937368, + }, + }, +] +`; + +exports[`多切刀 18`] = ` +Array [ + Object { + "bul": -0.15838444032453644, + "pt": Vector2 { + "x": 3.5305368692688166, + "y": 9.522542485937368, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 5, + "y": 10, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 0, + "y": 10, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 0, + "y": 0, + }, + }, +] +`; + +exports[`多切刀闭合 1`] = ` +Array [ + Object { + "bul": 0.15838444032453625, + "pt": Vector2 { + "x": 5, + "y": 0, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 6.4694631307311825, + "y": 0.4774575140626309, + }, + }, +] +`; + +exports[`多切刀闭合 2`] = ` +Array [ + Object { + "bul": 0.24007875908011606, + "pt": Vector2 { + "x": 6.4694631307311825, + "y": 0.4774575140626309, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 7.5, + "y": 2.5, + }, + }, +] +`; + +exports[`多切刀闭合 3`] = ` +Array [ + Object { + "bul": 0.24007875908011606, + "pt": Vector2 { + "x": 7.5, + "y": 2.5, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 6.469463130731183, + "y": 4.522542485937368, + }, + }, +] +`; + +exports[`多切刀闭合 4`] = ` +Array [ + Object { + "bul": 0.15838444032453625, + "pt": Vector2 { + "x": 6.469463130731183, + "y": 4.522542485937368, + }, + }, + Object { + "bul": -1, + "pt": Vector2 { + "x": 5, + "y": 5, + }, + }, +] +`; + +exports[`多切刀闭合 5`] = ` +Array [ + Object { + "bul": -0.15838444032453644, + "pt": Vector2 { + "x": 5, + "y": 5, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 3.530536869268815, + "y": 5.477457514062634, + }, + }, +] +`; + +exports[`多切刀闭合 6`] = ` +Array [ + Object { + "bul": -0.2400787590801159, + "pt": Vector2 { + "x": 3.530536869268815, + "y": 5.477457514062634, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 2.5, + "y": 7.5, + }, + }, +] +`; + +exports[`多切刀闭合 7`] = ` +Array [ + Object { + "bul": -0.2400787590801159, + "pt": Vector2 { + "x": 2.5, + "y": 7.5, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 3.5305368692688166, + "y": 9.522542485937368, + }, + }, +] +`; + +exports[`多切刀闭合 8`] = ` +Array [ + Object { + "bul": -0.15838444032453644, + "pt": Vector2 { + "x": 3.5305368692688166, + "y": 9.522542485937368, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 5, + "y": 10, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 0, + "y": 10, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 0, + "y": 0, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 0, + "y": 0, + }, + }, + Object { + "bul": 1, + "pt": Vector2 { + "x": 5, + "y": 0, + }, + }, +] +`; + +exports[`多切刀闭合 9`] = ` +Array [ + Object { + "bul": 0.15838444032453625, + "pt": Vector2 { + "x": 5, + "y": 0, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 6.4694631307311825, + "y": 0.4774575140626309, + }, + }, +] +`; + +exports[`多切刀闭合 10`] = ` +Array [ + Object { + "bul": 0.24007875908011606, + "pt": Vector2 { + "x": 6.4694631307311825, + "y": 0.4774575140626309, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 7.5, + "y": 2.5, + }, + }, +] +`; + +exports[`多切刀闭合 11`] = ` +Array [ + Object { + "bul": 0.24007875908011606, + "pt": Vector2 { + "x": 7.5, + "y": 2.5, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 6.469463130731183, + "y": 4.522542485937368, + }, + }, +] +`; + +exports[`多切刀闭合 12`] = ` +Array [ + Object { + "bul": 0.15838444032453625, + "pt": Vector2 { + "x": 6.469463130731183, + "y": 4.522542485937368, + }, + }, + Object { + "bul": -1, + "pt": Vector2 { + "x": 5, + "y": 5, + }, + }, +] +`; + +exports[`多切刀闭合 13`] = ` +Array [ + Object { + "bul": -0.15838444032453644, + "pt": Vector2 { + "x": 5, + "y": 5, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 3.530536869268815, + "y": 5.477457514062634, + }, + }, +] +`; + +exports[`多切刀闭合 14`] = ` +Array [ + Object { + "bul": -0.2400787590801159, + "pt": Vector2 { + "x": 3.530536869268815, + "y": 5.477457514062634, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 2.5, + "y": 7.5, + }, + }, +] +`; + +exports[`多切刀闭合 15`] = ` +Array [ + Object { + "bul": -0.2400787590801159, + "pt": Vector2 { + "x": 2.5, + "y": 7.5, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 3.5305368692688166, + "y": 9.522542485937368, + }, + }, +] +`; + +exports[`多切刀闭合 16`] = ` +Array [ + Object { + "bul": -0.15838444032453644, + "pt": Vector2 { + "x": 3.5305368692688166, + "y": 9.522542485937368, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 5, + "y": 10, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 0, + "y": 10, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 0, + "y": 0, + }, + }, + Object { + "bul": 0, + "pt": Vector2 { + "x": 0, + "y": 0, + }, + }, + Object { + "bul": 1, + "pt": Vector2 { + "x": 5, + "y": 0, + }, + }, +] +`;