You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
WebCAD/__test__/ALG/simplify_polyline.test.ts

38 lines
1.4 KiB

import { Polyline } from "../../src/DatabaseServices/Entity/Polyline";
import { PointsSimplify2PolylineAndParseArc } from "../../src/DatabaseServices/SplineConver2Polyline";
import { LoadEntityFromFileData } from "../Utils/LoadEntity.util";
import "../Utils/jest.util";
test('简化多段线成为圆弧', () =>
{
let ents = LoadEntityFromFileData(require("./points_polyline_file.json")) as Polyline[];
for (let pl of ents)
{
let pl1 = PointsSimplify2PolylineAndParseArc(pl.LineData.map(p => p.pt), undefined, 0.1, true);
let pl2 = PointsSimplify2PolylineAndParseArc(pl.LineData.map(p => p.pt), undefined, 0.1, false);
expect(pl1.LineData.length).toMatchSnapshot();
expect(pl2.LineData.length).toMatchSnapshot();
expect(pl1.Length).toMatchNumberSnapshot();
expect(pl2.Length).toMatchNumberSnapshot();
}
});
test('小恐龙简化', () =>
{
let ents = LoadEntityFromFileData(require("./kl.json")) as Polyline[];
for (let pl of ents)
{
let pl1 = PointsSimplify2PolylineAndParseArc(pl.LineData.map(p => p.pt), undefined, 0.1, true);
let pl2 = PointsSimplify2PolylineAndParseArc(pl.LineData.map(p => p.pt), undefined, 0.1, false);
expect(pl1.LineData.length).toMatchSnapshot();
expect(pl2.LineData.length).toMatchSnapshot();
expect(pl1.Length).toMatchNumberSnapshot();
expect(pl2.Length).toMatchNumberSnapshot();
}
});