避免多段线切割时出现的重复点问题

pull/227/MERGE
ChenX 6 years ago
parent b73a521b0e
commit 9d3465c77d

@ -48,6 +48,32 @@ Array [
`;
exports[`单刀 2`] = `
Array [
Object {
"bul": 0,
"pt": Vector2 {
"x": 0,
"y": 0,
},
},
Object {
"bul": 0.41421356237309503,
"pt": Vector2 {
"x": 5,
"y": 0,
},
},
Object {
"bul": 0,
"pt": Vector2 {
"x": 7.5,
"y": 2.5,
},
},
]
`;
exports[`单刀 3`] = `
Array [
Object {
"bul": 0.41421356237309503,
@ -84,6 +110,11 @@ Array [
"y": 0,
},
},
]
`;
exports[`单刀 4`] = `
Array [
Object {
"bul": 0,
"pt": Vector2 {
@ -92,23 +123,23 @@ Array [
},
},
Object {
"bul": 0.41421356237309503,
"bul": 1,
"pt": Vector2 {
"x": 5,
"y": 0,
},
},
Object {
"bul": 0,
"bul": -1,
"pt": Vector2 {
"x": 7.5,
"y": 2.5,
"x": 5,
"y": 5,
},
},
]
`;
exports[`单刀 3`] = `
exports[`单刀 5`] = `
Array [
Object {
"bul": -0.9999999999999999,
@ -138,6 +169,11 @@ Array [
"y": 0,
},
},
]
`;
exports[`单刀 6`] = `
Array [
Object {
"bul": 0,
"pt": Vector2 {
@ -153,16 +189,23 @@ 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[`单刀 4`] = `
exports[`单刀 7`] = `
Array [
Object {
"bul": -0.41421356237309503,
@ -192,6 +235,11 @@ Array [
"y": 0,
},
},
]
`;
exports[`单刀 8`] = `
Array [
Object {
"bul": 0,
"pt": Vector2 {
@ -207,7 +255,7 @@ Array [
},
},
Object {
"bul": -0.41421356237309503,
"bul": -1,
"pt": Vector2 {
"x": 5,
"y": 5,
@ -216,14 +264,14 @@ Array [
Object {
"bul": 0,
"pt": Vector2 {
"x": 2.5,
"y": 7.5,
"x": 5,
"y": 10,
},
},
]
`;
exports[`单刀 5`] = `
exports[`单刀 9`] = `
Array [
Object {
"bul": 0,
@ -246,34 +294,6 @@ Array [
"y": 0,
},
},
Object {
"bul": 0,
"pt": Vector2 {
"x": 0,
"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,
},
},
]
`;
@ -361,13 +381,6 @@ Array [
"y": 0,
},
},
Object {
"bul": 0,
"pt": Vector2 {
"x": 0,
"y": 0,
},
},
Object {
"bul": 0.41421356237309503,
"pt": Vector2 {
@ -415,13 +428,6 @@ Array [
"y": 0,
},
},
Object {
"bul": 0,
"pt": Vector2 {
"x": 0,
"y": 0,
},
},
Object {
"bul": 1,
"pt": Vector2 {
@ -469,13 +475,6 @@ Array [
"y": 0,
},
},
Object {
"bul": 0,
"pt": Vector2 {
"x": 0,
"y": 0,
},
},
Object {
"bul": 1,
"pt": Vector2 {
@ -523,13 +522,6 @@ Array [
"y": 0,
},
},
Object {
"bul": 0,
"pt": Vector2 {
"x": 0,
"y": 0,
},
},
Object {
"bul": 1,
"pt": Vector2 {
@ -1087,13 +1079,6 @@ Array [
"y": 0,
},
},
Object {
"bul": 0,
"pt": Vector2 {
"x": 0,
"y": 0,
},
},
Object {
"bul": 1,
"pt": Vector2 {
@ -1267,13 +1252,6 @@ Array [
"y": 0,
},
},
Object {
"bul": 0,
"pt": Vector2 {
"x": 0,
"y": 0,
},
},
Object {
"bul": 1,
"pt": Vector2 {

@ -613,6 +613,9 @@ export class Polyline extends Curve
if (this.m_ClosedMark && !hasZeroParam)
{
let lastPl = pls[pls.length - 1];
if (equalv2(arrayLast(lastPl.m_LineData).pt, pls[0].m_LineData[0].pt))
lastPl.m_LineData.pop();
lastPl.m_LineData.push(...pls[0].m_LineData);
pls.shift();

Loading…
Cancel
Save