import { Polyline } from "../../src/DatabaseServices/Entity/Polyline"; import { LoadCurvesFromFileData } from "../Utils/LoadEntity.util"; describe("多段线凸度测试", () => { test("多段线1", () => { let f = [1, "Polyline", 5, 2, 102, false, 1, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, 2, 6, [50.84745762711873, 77.48184019370457], 0, [247.57869249394577, 274.2130750605336], 0, [582.3244552058112, 87.1670702179177], 0, [346.2469733656175, -92.00968523002416], 0, [119.85472154963692, -3.631961259079941], 0, [50.84745762711873, 77.48184019370457], 0, false]; let pl = LoadCurvesFromFileData(f)[0] as Polyline; expect(pl.IsBulge).toBeTruthy(); expect(pl.Reverse().IsBulge).toBeTruthy(); }); test("多段线2", () => { let f = [1, "Polyline", 5, 2, 101, false, 1, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, 2, 4, [-645.278450363196, 10.895883777239712], 0, [-267.5544794188862, 10.895883777239712], 0, [-267.5544794188862, 248.18401937046002], 0, [-645.278450363196, 248.18401937046002], 0, true]; let pl = LoadCurvesFromFileData(f)[0] as Polyline; expect(pl.IsBulge).toBeTruthy(); expect(pl.Reverse().IsBulge).toBeTruthy(); }); test("多段线3", () => { let f = [1, "Polyline", 5, 2, 103, false, 1, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, 2, 7, [964.6004842615014, 91.52542372881355], 0, [1180.5326876513318, 381.0169491525423], 0, [1384.6004842615012, 89.15254237288131], 0, [1545.956416464891, 369.15254237288127], 0, [1643.2445520581118, -231.18644067796595], 0, [1061.8886198547216, -330.8474576271187], 0, [964.6004842615014, 91.52542372881355], 0, false]; let pl = LoadCurvesFromFileData(f)[0] as Polyline; expect(pl.IsBulge).toBeFalsy(); expect(pl.Reverse().IsBulge).toBeFalsy(); }); test("多段线4", () => { let f = [1, "Polyline", 5, 2, 109, false, 1, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, 2, 7, [2764.373573094752, 78.02271311095797], 0, [3928.7352569216746, 78.02271311095797], 0, [5000.233738970991, 78.02271311095797], 0, [5000.233738970991, -793.4627189558191], 0, [3985.8818426309717, -1136.3422332116], 0, [4107.3183372632275, -422.0099118453894], 0, [2764.373573094752, 78.02271311095797], 0, false]; let pl = LoadCurvesFromFileData(f)[0] as Polyline; expect(pl.IsBulge).toBeFalsy(); expect(pl.Reverse().IsBulge).toBeFalsy(); }); test("多段线5", () => { let f = [1, "Polyline", 6, 2, 101, false, 1, 1, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -129.5912740248159, 469.63460268545, 0, 1], 0, 0, true, 2, 7, [-50.619121903376026, -47.47742379906265], -0.9844157985538912, [49.10300899457479, 49.04381490609535], -0.8478171566452227, [149.19015915639648, 6.942320328602818], -0.9667128487795215, [197.7928852001328, -103.76551963369957], -0.8868998721515904, [142.07655502392345, -192.71770334928226], -0.6984434005122749, [67.67670179730408, -219.99685004135756], -1.5805804792006357, [-50.619121903376026, -47.47742379906265], 0, false]; let pl = LoadCurvesFromFileData(f)[0] as Polyline; expect(pl.IsBulge).toBeFalsy(); expect(pl.Reverse().IsBulge).toBeFalsy(); }); test("多段线6", () => { let f = [1, "Polyline", 6, 2, 100, false, 1, 1, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1210.270699862136, -541.9634834389516, 0, 1], 0, 0, true, 2, 5, [896.401913875598, 343.41626794258354], 0, [1300.1244019138753, 343.41626794258354], 0.9999999999999997, [1300.1244019138753, 495.3397129186602], 0, [896.401913875598, 495.3397129186602], 1.0000000000000002, [896.401913875598, 343.41626794258354], 0, false]; let pl = LoadCurvesFromFileData(f)[0] as Polyline; expect(pl.IsBulge).toBeTruthy(); expect(pl.Reverse().IsBulge).toBeTruthy(); }); test("多段线7", () => { let f = [1, "Polyline", 6, 2, 106, false, 1, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, 2, 3, [2250.54489975216, -384.30088235874064], 1.7704294517701693, [2338.029348647192, 40.623583702842495], 1.8751658801449689, [2250.54489975216, -384.30088235874064], 0, false]; let pl = LoadCurvesFromFileData(f)[0] as Polyline; expect(pl.IsBulge).toBeFalsy(); expect(pl.Reverse().IsBulge).toBeFalsy(); }); test("多段线8", () => { let f = [1, "Polyline", 6, 2, 100, false, 1, 1, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, 2, 4, [-52.05811138014525, -73.43607691883707], 0.36387790102474465, [85.9564164648911, 232.44552058111378], 0.1015665592498786, [384.9878934624697, 16.949152542372893], 0.06768033499064963, [-52.05811138014525, -73.43607691883707], 0, false]; let pl = LoadCurvesFromFileData(f)[0] as Polyline; expect(pl.IsBulge).toBeFalsy(); expect(pl.Reverse().IsBulge).toBeFalsy(); }); });